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
Peterson Domingos
5a2384e829
entc/gen/template: Wrap error returned by field validator ( #509 )
...
* entc/gen/template: wrap error returned from validator
* go generate ./...
2020-05-29 00:00:14 +03:00
Ariel Mashraki
25471666be
entc/gen: fix format for field comments ( #511 )
2020-05-28 18:34:14 +03:00
Ariel Mashraki
50edd3d370
entc/gen: convert custom Go types to basic types ( #502 )
2020-05-25 20:46:59 +03:00
Ariel Mashraki
100d300094
schema/field: add GoType option for string fields ( #500 )
2020-05-25 20:05:17 +03:00
Ariel Mashraki
ff6e738c94
entc/integration: add mixin with hooks example ( #497 )
2020-05-21 10:54:42 +03:00
Ariel Mashraki
dbf6bb8006
entc/mutation: explain when object is fetched from db ( #496 )
2020-05-21 10:10:52 +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
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
Ariel Mashraki
08289b3570
entc/gen: fix method conflicts in mutation builders ( #479 )
...
Fixed #475
2020-05-08 21:02:21 +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
b456251154
entc/integ: add missing license header ( #460 )
2020-05-04 20:16:01 +03:00
Ariel Mashraki
7de4f4b758
doc: add documentation and example for enttest ( #453 )
2020-04-26 16:31:24 +03:00
Ariel Mashraki
61c0f957b6
entc/integration: move hooks tests to enttest ( #451 )
2020-04-24 10:48:54 +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
1c49159d18
entc/gen: add indexes, edges and hooks to mixin ( #431 )
2020-04-20 13:40:56 +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
9cff230d34
entc/gen: temporary workaround for runtime.tmpl ( #387 )
...
* entc/gen: temporary workaround for runtime.tmpl
* ci: golangci version
2020-03-16 10:04:31 +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