Ariel Mashraki
052ba49294
entc/gen: convert GoType to basic type for validators ( #568 )
...
Fixed #567
2020-06-25 15:08:43 +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
Ariel Mashraki
737fb4afda
entc/mutation: expose builder api for getting mutations ( #531 )
2020-06-08 15:16:56 +03:00
Ariel Mashraki
86d345e187
entc/gen: add support for ValueScanner for int type ( #530 )
2020-06-08 14:54:37 +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
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
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
Ariel Mashraki
08289b3570
entc/gen: fix method conflicts in mutation builders ( #479 )
...
Fixed #475
2020-05-08 21:02:21 +03:00
Ariel Mashraki
7cfcb97694
entc/gen: suffix Order and Aggregate with Func ( #449 )
2020-04-23 13:22:21 +03:00
Ariel Mashraki
22e83955c8
entc/gen: avoid comparing pointers in templates to support 1.13 ( #446 )
2020-04-21 20:57:21 +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
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
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
15cbc5c223
entc/gen: unexport capitalized schema fields in mutations ( #388 )
2020-03-16 11:21:05 +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
7a480e3943
entc/gen: use more go-ish names for generated error types ( #321 )
...
* entc/gen: use more go-ish names for generated error types
* entc/gen: add NotLodedError type for eager-load api
2020-01-28 11:04:27 +02:00
Ariel Mashraki
caf721df47
entc/gen: add eager-loading support ( #263 )
...
* entc/gen: add OwnFK indicator for type edges
* entc/gen: add Edges field for generated types
* entc/gen: add With<T> method to query-builder template
* entc/gen: scan and assign foreign-keys on eager-loading
* entc/gen: load fk-relations (wip)
* entc/integration: add o2m/m2o tests for eager-loading
* entc/gen: add m2m support for eager-loading
* entc/gen: add integration tests for m2m and subgraphs
* entc/gen/integration: add tests for o2o eager-loading
* all: generate all assets
2020-01-13 17:21:26 +02:00
Ariel Mashraki
e85b10be36
entc/gen: remove multi storage support
2019-12-15 14:48:55 +02:00
Ariel Mashraki
67c3fd2db9
entc/gen: initial work for supporting uuid fields in codegen
...
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/182
Reviewed By: alexsn
Differential Revision: D18638199
fbshipit-source-id: 0de79c78b51e544486c07a004c3c8ea82e5c3398
2019-11-24 07:11:23 -08:00
Ariel Mashraki
d9da7243f9
entc/gen: initial support for user-defined ids
...
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/162
Reviewed By: alexsn
Differential Revision: D18485086
fbshipit-source-id: 9bb6ccff592bc0cb8b218625161ed492f67bc170
2019-11-14 08:21:31 -08:00
Hylke Visser
02bae0d652
Remove update validators for immutable fields ( #137 )
...
Summary:
This pull request modifies the update builder template so that it no longer generates code to validate immutable fields.
The first commit breaks the integration code by making the `number` field of `Card` immutable (the generated validation code references non-existent fields of `CardUpdate`/`CardUpdateOne`).
The second commit fixes the issue by making the `update/save` template not render validation code for immutable fields.
Pull Request resolved: https://github.com/facebookincubator/ent/pull/137
Differential Revision: D18288633
Pulled By: a8m
fbshipit-source-id: c0361b833a3971f76280d624f16cd7eda2725c1e
2019-11-02 09:05:08 -07:00
Hylke Visser
aa23f95b3e
Restore ids declaration in query builder IDs ( #95 )
...
Summary:
This pull request restores a line in the query builder template that I believe was [removed by accident](0c46ce4e5e (diff-855ebdbcdbdd5bf91fcb98886276275eL203) ).
Pull Request resolved: https://github.com/facebookincubator/ent/pull/95
Differential Revision: D17931801
Pulled By: a8m
fbshipit-source-id: d88f3f303329e2581bfa69668316f9cf5f5f0fe7
2019-10-15 09:52:09 -07:00
Ariel Mashraki
0c46ce4e5e
entc/gen: move multistorage logic to Go code
...
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/94
Reviewed By: alexsn
Differential Revision: D17926186
fbshipit-source-id: b59dc418703bc4faca5230a7354edea1423b7d35
2019-10-15 06:42:44 -07:00
Ariel Mashraki
36a3971f3d
entc/gen: add struct field name to fields and edges
...
Summary: avoig logic in templates
Reviewed By: alexsn
Differential Revision: D17926168
fbshipit-source-id: d583e800fb4a45cf939e9788cea6d45e126c61fe
2019-10-15 06:42:44 -07:00
Ariel Mashraki
64ed7580c0
entc/gen: use BuilderField for builder memebrs
...
Summary: StructField should be used a member of the ent type (struct), and logic should be removed from templates.
Reviewed By: alexsn
Differential Revision: D17926151
fbshipit-source-id: f77c5ce8359816ec3a4ce1ab71dd98f205706deb
2019-10-15 06:42:44 -07:00
Alex Snast
5d988870bc
ent/entc: use select/scan on id query ( #1552 )
...
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1552
Pull Request resolved: https://github.com/facebookincubator/ent/pull/93
avoids complete ent load on id query
Reviewed By: a8m
Differential Revision: D17906002
fbshipit-source-id: 7749a0d7c707858eab368978a1d220b581ea6dbb
2019-10-14 23:16:14 -07:00
Ariel Mashraki
1ebfa489c5
ent: add support for enum types
...
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/45
Reviewed By: alexsn
Differential Revision: D17715085
fbshipit-source-id: 7472e1bd9cf7a8a5bd98f96e6e884c0e27f36803
2019-10-02 12:55:28 -07:00
Ariel Mashraki
bf913111fd
entc: improve numeric addition api
...
Reviewed By: alexsn
Differential Revision: D17474547
fbshipit-source-id: 08e367793faac76eb0cece880259a49a8bcbc95b
2019-09-19 05:00:11 -07:00
Ariel Mashraki
c3955a08f1
schema/field: json type support ( #38 )
...
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/38
Only `IsNil` and `NotNil` predicates are supported this moment
Reviewed By: alexsn
Differential Revision: D17444976
fbshipit-source-id: 37336fa0bc7749af995933baee2e23bb7366dd78
2019-09-19 05:00:11 -07:00
Ariel Mashraki
83d0063437
entc/gen: returns affected rows in delete
...
Summary: Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1455
Reviewed By: alexsn
Differential Revision: D17396880
fbshipit-source-id: 3a3a9849b816777bd0ef94cf55b2291705a37df6
2019-09-16 08:47:42 -07:00
Alex Snast
2b1ff377b5
ent/entc: move Get / GetX operation under client
...
Summary: Saves typing `.Query()` every time we want to use `.Get()`
Reviewed By: a8m
Differential Revision: D17396667
fbshipit-source-id: 103c10d25bd1181b8e52fa272f2c1a26f47ed9f6
2019-09-16 07:44:41 -07:00
Ariel Mashraki
78a7509c52
entc: clear optional field values
...
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/33
Reviewed By: noamsch
Differential Revision: D17344992
fbshipit-source-id: 5336e9c5a4978e10923e26b5754942d92371a5cd
2019-09-15 04:44:55 -07:00
Ariel Mashraki
d820361a3a
entc/gen: add inc/dec capability for numeric fields
...
Reviewed By: alexsn
Differential Revision: D17259987
fbshipit-source-id: ad5ba1ba7383418463bc9137d82f16eadef809e7
2019-09-10 06:00:34 -07:00
Ariel Mashraki
9ab0a28ffe
entc/select: add selection api
...
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/27
Reviewed By: alexsn
Differential Revision: D17164536
fbshipit-source-id: f5caa80b05aff1ef8ec30d7a53256b00380d018c
2019-09-04 07:14:24 -07:00
Ariel Mashraki
4323141fe2
ent: add license and copyright to template files
...
Reviewed By: alexsn
Differential Revision: D17149292
fbshipit-source-id: 837de5fad988de1e54438b47584701f2fc35326d
2019-09-01 03:03:15 -07:00
Ariel Mashraki
772b8a33f8
ent/field: add update_default option time field
...
Reviewed By: alexsn
Differential Revision: D17070907
fbshipit-source-id: 63c9ce75c58e524044c38f9461cb04e8e45c8017
2019-08-27 06:54:49 -07:00
Alex Snast
85b29631a8
entc/schema: adding support for immutable fields ( #1340 )
...
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1340
Immutable fields are ent fields which cannot be updated
Reviewed By: a8m
Differential Revision: D16899625
fbshipit-source-id: ca482c66570e84ca9a1e0a03f729847561f2816b
2019-08-20 02:17:13 -07:00
Ariel Mashraki
079ba191e3
ent/field: add default value for time
...
Reviewed By: alexsn
Differential Revision: D16890453
fbshipit-source-id: 362ae9e9666c523bdcce16503441565b6279ff08
2019-08-19 04:21:25 -07:00
Ariel Mashraki
619b63d5f7
ent/schema: rename nullable to nillable
...
Reviewed By: idoshveki
Differential Revision: D16687892
fbshipit-source-id: e8cfaaf1241e94c2de0a9fe9077326339d593716
2019-08-07 06:56:33 -07:00
Ariel Mashraki
23059c8bae
graph/ent: re-generate ent assets
...
Reviewed By: alexsn
Differential Revision: D16686149
fbshipit-source-id: f62ee0da4204460a59e6356d92faea774e796bf3
2019-08-07 04:08:28 -07:00
Ariel Mashraki
2fd1b728f3
ent: add AND operator for type predicates
...
Reviewed By: alexsn
Differential Revision: D16668249
fbshipit-source-id: 1554c3af9779fd551a90218c604d23b5bf8b8c6b
2019-08-06 14:41:56 -07:00
Alex Snast
dfadb3e27b
entc: drop switch statements on single storage ( #12 )
...
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/12
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1256
Reviewed By: a8m
Differential Revision: D16667212
fbshipit-source-id: e9f8a51986de5fe97356285e23946a61578d8164
2019-08-06 07:52:21 -07:00
Ariel Mashraki
cef32f1fb4
entc: add option to override codegen header
...
Summary:
Set the standard header ("Code generated by entc, DO NOT EDIT.") as default, and override it using option in graph.
No changes to graph except the `generate.go` file.
Reviewed By: idoshveki
Differential Revision: D16642348
fbshipit-source-id: d9fd1d2046e2fd96acbb100ef061fda75d99ce52
2019-08-04 05:12:33 -07:00
Ariel Mashraki
c203f043cf
ent: add blob tyoe
...
Reviewed By: idoshveki
Differential Revision: D16600425
fbshipit-source-id: 04c6fe39f9b3b628a1e79eb3063188f582d9e504
2019-08-01 07:45:05 -07:00
Ariel Mashraki
2d962d5cba
ent/entc: add nillable setter for nullable fields
...
Reviewed By: idoshveki
Differential Revision: D16599899
fbshipit-source-id: bcab65e09645409f8a822e2eebda1aac0f804c7c
2019-08-01 06:57:19 -07:00