Commit Graph

87 Commits

Author SHA1 Message Date
Ariel Mashraki
b18716931d dialect/sql: change boolean operators wrapping (#678)
The reason is to parentheses only when it's necessary.
2020-08-20 10:08:31 +03:00
Ariel Mashraki
fd0a7f9f02 all: facebookincubator/ent => facebook/ent (#660)
ent repository is going to be migrated to facebook organization
2020-08-18 11:05:08 +03:00
Ariel Mashraki
6fe7023d6a entc/gen: fix validation error unwrapping (#670) 2020-08-14 20:45:04 +03:00
Ariel Mashraki
ebfc1a4f36 entc/gen: move builder naming to Go api (#653)
Fixed #652
2020-08-01 18:43:39 +03:00
Ariel Mashraki
e71a6de39b entc/gen: fix hooks invocation on bulk-create (#649) 2020-07-29 18:35:21 +03:00
Ariel Mashraki
f677112e18 entc/gen: ignore query execution on empty batch (#648) 2020-07-29 18:07:14 +03:00
Ariel Mashraki
875e6e516b entc/gen: initial implementation for create-bulk #613
Closed #236
2020-07-24 20:16:31 +03:00
Ariel Mashraki
9d42b5ef40 entc/gen: rename OnlyXID to OnlyIDX in codegen (#608) 2020-07-16 17:21:41 +03:00
Ariel Mashraki
399883a71a entc/gen/sql: move spec creation to a function (#604)
To be shared with batch-create builder
2020-07-13 13:27:36 +03:00
Ariel Mashraki
e6c91e1dbf entc/gen: add support for tx hooks (#575) 2020-07-12 11:07:14 +03:00
Alex Snast
7b34abd8b4 entc/gen: adding singular variants of select query finishers (#594)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-07-09 10:59:33 +03:00
Alex Snast
7df2e02343 ci/lint: enabling goheader linter ensuring the existance of a license header in go files (#593)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-07-07 15:36:09 +03:00
Alex Snast
ef402679b4 Adding hook conditions (#589)
* entc/gen: adding hook condition tests

Signed-off-by: Alex Snast <alexsn@fb.com>

* Revert "entc/gen: adding hook condition tests"

This reverts commit 3a46ea6cbf.

* entc/gen: adding hook conditions

Signed-off-by: Alex Snast <alexsn@fb.com>

* entc/gen: adding hook condition tests

Signed-off-by: Alex Snast <alexsn@fb.com>
2020-07-06 16:40:51 +03:00
Jelmer Snoeck
b150cde478 entc/gen: introduce validation errors (#547)
This introduces the concept of validation errors, where we have a high
level validation error which wraps a more detailed error message.

The higher level `ValidationError` is set up in the generated files, much
like the `NotFoundError` and `ConstraintError` and is accompanied by an
`IsValidationError` check method. Thus, it can be used as follows:

```go
t, err := tx.Team.Create().SetName(input.Name).Save(ctx)
if ent.IsValidationError(err) {
        // handle validation error response
}
```
2020-06-17 17:11:39 +03:00
Alex Snast
1f553bc145 entc/gen: adding hook.Unless helper (#550) 2020-06-16 16:16:02 +03:00
Ariel Mashraki
737fb4afda entc/mutation: expose builder api for getting mutations (#531) 2020-06-08 15:16:56 +03:00
Ariel Mashraki
ef1d91daff entc/gen: fix Client.Open comment (#514)
Fixed #513
2020-05-31 13:09:08 +03:00
Ariel Mashraki
5ed339839a entc/mutation: reject querying old values of finished mutations (#495) 2020-05-20 17:28:39 +03:00
Ariel Mashraki
b0e43f01f0 entc/mutation: avoid generting empty switch statements for edges (#493) 2020-05-17 17:58:22 +03:00
Ariel Mashraki
7da6ba804d entc/mutation: avoid generting empty switch statements (#492) 2020-05-17 14:48:56 +03:00
Ariel Mashraki
ef7285b917 entc/gen: add api for getting field old values (#491) 2020-05-17 14:23:36 +03:00
Alex Snast
288ee87f7e entc/privacy: adding ContextQueryMutationRule helper
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-05-15 18:58:51 +03:00
Ariel Mashraki
7f260c3ae0 entc/gen/template: remove irrelevant code from templates (#481) 2020-05-09 14:32:54 +03:00
Alex Snast
60c90b3667 entc/gen/privacy: adding OnMutationOperation helper (#464)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-05-06 14:47:05 +03:00
Alex Snast
66255ea86e entc/gen/privacy: adding decision context support (#462)
Decision context holds a privacy decision (i.e. allow / deny) and if
exists will be returned before any rule is evaluated.

Signed-off-by: Alex Snast <alexsn@fb.com>
2020-05-05 15:53:15 +03:00
Ariel Mashraki
7cfcb97694 entc/gen: suffix Order and Aggregate with Func (#449) 2020-04-23 13:22:21 +03:00
Alex Snast
6e584d8efc Revert "entc/gen/privacy: mask allow error on policy evaluation"
This reverts commit 8a93447fe5.
2020-04-23 10:10:41 +03:00
Alex Snast
8a93447fe5 entc/gen/privacy: mask allow error on policy evaluation
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-04-23 09:27:37 +03:00
Ariel Mashraki
b880885e9f entc/gen: group enttest imports properly (#443) 2020-04-21 00:10:05 +03:00
Alex Snast
5f180a6954 entc/gen/privacy: rename DenyMutationOperation -> DenyMutationOperationRule
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-04-20 18:57:19 +03:00
Ariel Mashraki
d3b89fb2be entc/gen: add enttest package for generated code. (#442)
* entc/gen: add enttest package for generated code.

It's still WIP and another 2 things need to be added:
- Add an option to skip schema migration and pass client options
- Update docs and replace existing testing code to use enttest

* entc/gen: finish enttest package tempalte

Signed-off-by: Alex Snast <alexsn@fb.com>

Co-authored-by: Alex Snast <alexsn@fb.com>
2020-04-20 16:37:26 +03:00
Alex Snast
0ef1b2dcff entc/gen: adding DenyMutationOperation privacy rule helper (#441)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-04-20 14:28:00 +03:00
Ariel Mashraki
3342b85580 entc/gen: add support for storage txoptions (#435) 2020-04-17 12:57:57 +03:00
Alex Snast
1b0e5ffaf4 entc/gen: simplify hook chain creation (#424)
* entc/gen: simplify hook chain creation

Signed-off-by: Alex Snast <alexsn@fb.com>

* circleci: upgrade orb versions

Signed-off-by: Alex Snast <alexsn@fb.com>
2020-04-07 08:11:33 +03:00
Alex Snast
d52d5120fd entc/gen: adding hook chain construct (#423)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-04-06 19:53:10 +03:00
Alex Snast
901c1394b4 entc/gen: load client bound to transaction once (#417)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-04-02 12:22:42 +03:00
Alex Snast
d6d95dd363 entc/gen: adding tx callback support (#414)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-03-31 18:58:10 +03:00
Alex Snast
6e6651c878 Query policy (#411)
* entc/gen: drop xerrors package usage

* all: bump dependencies version

* entc/gen: adding query privacy policy support
2020-03-29 18:11:13 +03:00
Ariel Mashraki
de5006a4d8 entc/gen: lazy compute storage-driver queries (#408) 2020-03-29 14:36:44 +03:00
Alex Snast
6be07b8f67 entc/privacy: rename Read/Write types to Query/Mutation
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-03-19 14:35:32 +02:00
Alex Snast
63c6d9786d entc/gen: adding ent.Query type
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-03-19 14:30:00 +02:00
Alex Snast
25fdb52a03 entc/gen: use a set when tracking cleared fields in mutation template
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-03-17 12:00:15 +02:00
Ariel Mashraki
81a2f60e47 entc/gen: add facebookincubator/ent to mutation.tmpl imports (#390) 2020-03-17 10:33:58 +02:00
Ariel Mashraki
7988d3084d entc/hooks: initial work for mutations and hooks (#377)
* entc/hooks: initial work for mutations and hooks

* ent/schema: adding policy to schema

* ent: change op string to uint

* entc: move entschema to runtime and enable smooth transition

* entc/privacy: adding privacy template

* all: goimports

* intg/hooks: mutation client/tx and basic schema tests

* ent/privacy: adding more verbose decisions

* entc/gen: edge-ids getter and additional tests

* all: regen assets

* entc/gen: fix client hookd propagation

* intg: add deletion example

* intg/privacy: remove old entschema package

* typed privacy

* ent/privacy: hooks shouldn't be called on privacy deny

* entc/gen: fix schema hooks invocation order

* remove read policy from public api

* update circleci go orb

Co-authored-by: Ariel Mashraki <ariel@mashraki.co.il>
2020-03-16 00:19:27 +02:00
Ariel Mashraki
332cfe5c6e entc/gen: use named fields on client creations (#359) 2020-02-25 11:15:38 +02:00
Ariel Mashraki
dc222c0b15 entc/gen: remove example_test template from codegen (#351)
Fixes #297
2020-02-18 12:26:46 +02:00
Ariel Mashraki
320b9caf61 dialect/sql/schema: add option to skip fixture when it's irrelevant (#350) 2020-02-16 18:17:58 +02:00
Ariel Mashraki
d9c8d9545d entc/gen: use NotFoundError when updating non-exist node (#348)
Fixes #341
2020-02-16 13:26:13 +02:00
Ariel Mashraki
9f9596c184 entc/gen: better formatted codegen for predicates (#336) 2020-02-09 11:38:03 +02:00
Alex Snast
091f9aba12 entc/gen: check for nil error before invoking .As
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-01-30 13:42:13 +01:00