Commit Graph

69 Commits

Author SHA1 Message Date
Ariel Mashraki
fae1956828 entql: add typed-builder for field predicates 2020-10-11 14:41:03 +03:00
Ariel Mashraki
c2cdc52946 entc/gen: move predicates to mutation object (#825) 2020-10-07 14:22:14 +03:00
Ariel Mashraki
3f3debbe97 entc/gen: simplify policy execution (#822) 2020-10-06 12:16:31 +03:00
Ariel Mashraki
d5ae1b018e schema/mixin: add privacy policy to mixin (#821) 2020-10-06 10:59:36 +03:00
Ariel Mashraki
17abe2d60f entc/gen: less sophisticated naming logic (#774)
Closed #772
2020-09-17 09:19:55 +03:00
Ariel Mashraki
b4b4fa95d7 entc/gen: restructure hooks execution (#741)
Closed #739
2020-09-09 10:41:17 +03:00
Ariel Mashraki
8e824c14eb entc/gen: add an option for clearing non-unique edges (#731)
Closed #398
2020-09-06 20:22:42 +03:00
Ariel Mashraki
fd481554a4 entc/gen: fix name conflicts in builder setters (#680) 2020-08-20 12:21:01 +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
b5a9c66290 entc/gen: import siblings packages by default (#655)
Also, add missing pkg-path for non-value types.
2020-08-02 15:06:05 +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
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
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
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