Commit Graph

206 Commits

Author SHA1 Message Date
Ariel Mashraki
08f8de6fb0 entc/integ: move integration tests to enttest (#444) 2020-04-21 17:56:30 +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
3c6a04f884 entc/gen: add default-funcs and validators for userdefined id (#436)
Fixes #432
2020-04-18 12:28:50 +03:00
Ariel Mashraki
3342b85580 entc/gen: add support for storage txoptions (#435) 2020-04-17 12:57:57 +03:00
Ariel Mashraki
2304a67c75 integration: add another check for default func values (#434) 2020-04-17 12:23:35 +03:00
Ariel Mashraki
2208b243db dialect/sql/schema: initial work for incremental migration (#428)
This is a WIP PR and should be ignored this moment.
It's based on PR #221 created by Erik Hollensbe (He should
get his credit for his work before we land this).
2020-04-12 19:12:33 +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
Ariel Mashraki
cdd855c8c9 intg/privacy: add more type and tests (#413) 2020-03-31 15:38:11 +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
d867d372e6 Merge pull request #392 from facebookincubator/mutset
entc/gen: use a set when tracking cleared fields in mutation template
2020-03-17 15:38:16 +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
d025785a4d entc/gen: remove spaces between type-packages in runtime.tmpl (#391) 2020-03-17 10:44:48 +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
65f96b3593 entc/gen: remove legacy i2a support for ids (#389)
* entc/gen: remove legacy i2a support for ids

* integ: add customid tests for fk strings
2020-03-16 18:19:30 +02:00
Ariel Mashraki
15cbc5c223 entc/gen: unexport capitalized schema fields in mutations (#388) 2020-03-16 11:21:05 +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
Ariel Mashraki
2a7183eb82 entc/gen: fix uuid fks scanning (#382)
Fixes #363
2020-03-07 22:11:25 +02:00
Ariel Mashraki
7114543a08 entc/gen: fix nulltype field name for float32 (#381)
Fixes #380
2020-03-07 19:12:59 +02:00
Ariel Mashraki
0f08a0b5f4 entc/gen: use ref-table primary-key type/size for fk attrs (#373)
Fixes #372
2020-03-04 11:14:05 +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
14ccf7b7fc intgeration: update mysql8 version and remove test container (#347) 2020-02-14 16:24:30 +02:00
Ariel Mashraki
bb852ad093 intgeration: add pg and mysql test for customids (#342) 2020-02-12 20:42:03 +02:00
Ariel Mashraki
9733051cc3 entc/gen: currently handle user-defined string ids (#338)
Fixes #127
2020-02-10 12:04:50 +02:00
Ariel Mashraki
9f9596c184 entc/gen: better formatted codegen for predicates (#336) 2020-02-09 11:38:03 +02:00
Ariel Mashraki
26440c2bc9 dialect/sql/schema: setrange on custom column name of pks (#333) 2020-02-09 09:41:26 +02:00
Ariel Mashraki
48d33fde9d entc/gen: fix eager-loading for m2m edges (#335)
Fixed #334
2020-02-08 22:26:30 +02:00
Ariel Mashraki
afc8bd3eab entc/gen: allow defining custom tag for id field (#330)
* entc/gen: allow defining custom tag for id field

* entc/gen: remove duplicate remove operations in test
2020-02-06 19:53:13 +02:00
hantmac
aad0b9d92b regenerate entc/integration/migrate/entv2/user.go 2020-02-05 09:01:13 +08:00
Ariel Mashraki
b4255998bf entc/gen: change name format for edge fks (#286)
* entc/gen: change name format for edge fks

* dialect/sql/schema: add fixture support for mysql and postgres

* sql/dialect: merge fkcolumn queries to one for the 2 dialects
2020-02-03 15:41:55 +02:00
Alex Snast
e6ba06441b entc/gen: change <E>Err signature to <E>OrErr (#325)
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-01-30 18:56:36 +02:00
Alex Snast
0802e0b4f5 Merge pull request #324 from facebookincubator/nil_before_as
entc/gen: check for nil error before invoking .As
2020-01-30 13:47:17 +01: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
Alex Snast
112d442dac Merge pull request #323 from facebookincubator/errwrap
entc/gen: add support for wrapped errors
2020-01-30 10:57:08 +01:00
Alex Snast
0428788539 entc/gen: add support for wrapped errors
Signed-off-by: Alex Snast <alexsn@fb.com>
2020-01-30 10:53:58 +01:00
Ariel Mashraki
9e760aae58 entc/gen: change <E>WithError signature to <E>Err (#322)
<E>WithError is too verbose and we like short names
2020-01-30 11:12:53 +02:00
Ariel Mashraki
27935a8c6c entc/gen: add <E>Loaded for <T>Edges (#319)
This helps to determine if the edge was loaded (or requested) in
eager-loading even if it's empty.
2020-01-29 11:39:19 +02:00