Commit Graph

51 Commits

Author SHA1 Message Date
Ariel Mashraki
b60e0f9eac entc/gen: add support for WithNamed<E> feature-flag (#2792)
* entc/gen: struct fields and methods for NamedEdge api

* entc/gen: generate WithNamedEdge methods for named-edges

* entc/gen: implement eager-loading for named-edges

* entc/gen: simplify eager-loading template

* entc/gen: drop support for unqiue edges in named-based loading

* all: codegen

* doc/website: named-edges feature-flag

* Update doc/md/eager-load.mdx

* Update doc/md/eager-load.mdx
2022-07-24 18:41:07 +03:00
Will Bicks
cd1afb235c entc: improve generated comments for edges and fields (#2632)
* replace default field comment with user comment if defined
* use comments defined on edges in generated entities
* add docs for comment method on edges and fields
* update integration to reflect above changes
2022-06-13 15:52:47 +03:00
hax10
e6152856b1 entc/gen: fix name clash in entc template when entity name has initials as tx (#2633) 2022-06-09 20:39:46 +03:00
Ariel Mashraki
e1c5277483 ent: initial support for edge schemas (#2560) 2022-05-25 15:46:00 +03:00
Ariel Mashraki
48bb70f056 entc/gen: allow adding extra fields to the generated edges (#2437) 2022-03-29 14:54:16 +03:00
Ariel Mashraki
0e49dd1d9f entc/gen: support local package names for generated packages
The new Alias option adds package aliases (local names) for all type-packages that
their import identifier conflicts with user-defined packages (i.e. GoType).
2022-02-02 15:50:00 +02:00
Ariel Mashraki
34aabc0eb1 entc/gen/template: add goland-annotation for template data-types 2021-04-09 17:53:04 +03:00
Ariel Mashraki
2cc1c628dc schema/field: use actual go type in generated interfaces (#1428) 2021-04-07 09:53:44 +03:00
Ariel Mashraki
e48f2724f5 entc/gen: edge-tag annotation extends json tags (#1315)
Fixed #1302
2021-03-08 16:07:53 +02:00
Ariel Mashraki
c0fd7c1305 entc/gen: add edge-field api for schema and codegen (#1213) 2021-03-07 22:51:17 +02:00
Pavel Kerbel
3ee6621194 entc/gen: added ability to add comment to schema with external template (#1249)
This change will allow using external tools (such as swagger) to add comments to the schema.
For example, by adding a Swagger annotation to the schema we can add // swagger:model comment.
2021-02-08 13:02:56 +02:00
zzwx
0f6c71d46b entc/gen: make custom field comment render as additional line(s) (#1234)
* Make custom field comment render as additional line(s)

* Make the test for the comment aware of the new format
2021-02-03 22:23:34 +02:00
Pavel Kerbel
8ca9d55b31 load/schema: added comment to generated schema (#1205) 2021-01-24 22:02:33 +02:00
Nathaniel Peiffer
b8b82f80a4 entc/gen: fix grammar and language usage in function comments (#1126)
* fix grammar and english usage in templates

* bindata gen

* codegen

* go generate ./again...
2021-01-04 14:34:40 +02:00
Jannik C
d6702a49fa entc/gen: allow users to override the stringer implementation using templates
* Update ent.tmpl

Fixed a small typo

* allow customization of stringer implementation

* remove "model/stringer" from ExtendPatterns
2020-11-05 18:29:56 +02:00
Jannik C
3fdff6b16f entc/gen: fix small typo in ent.tmpl (#916)
Fixed a small typo
2020-11-04 14:50:03 +02:00
Ariel Mashraki
ab9aa1fa45 schema/field: add annotations for overriding field struct-tags 2020-10-12 13:06:25 +03:00
Ariel Mashraki
f1a841d235 schema/edge: add annotation for configuring the Edges struct-field 2020-10-12 13:06:25 +03:00
Ariel Mashraki
17abe2d60f entc/gen: less sophisticated naming logic (#774)
Closed #772
2020-09-17 09:19:55 +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
cc6c6e1b4c entc/gen: add support for ValueScanner for GoType (#522) 2020-06-03 15:45:34 +03:00
Ariel Mashraki
ce89688d00 schema/field: reject pointers for basic types (#505) 2020-05-26 23:16:54 +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
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
332cfe5c6e entc/gen: use named fields on client creations (#359) 2020-02-25 11:15:38 +02:00
Ariel Mashraki
bb852ad093 intgeration: add pg and mysql test for customids (#342) 2020-02-12 20:42:03 +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
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
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
Ariel Mashraki
bc89ed4e0f entc/gen: add type for type edges (#318)
Will be used for adding methods on the struct edges
2020-01-26 12:39:18 +02:00
aca
891fc4c5ef remove meaningless omitempty 2020-01-19 00:26:04 +09:00
aca
53e0526dd4 add json tag to edges 2020-01-18 16:55:18 +09: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
Alex Snast
9d9e121dbd ent/entc: .String() now uses ansic time format when formating time fields
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/103

Reviewed By: a8m

Differential Revision: D17978059

fbshipit-source-id: 721014b0bf712943d721c7ff038239cff690b94e
2019-10-17 04:36:04 -07:00
Ariel Mashraki
c5b790043c entc: change the way we inject additional fields (#1560)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1560

Pull Request resolved: https://github.com/facebookincubator/ent/pull/96

Reviewed By: alexsn

Differential Revision: D17931147

fbshipit-source-id: 24e1d72be482cb787c557f46feeb2ed4a31dfe60
2019-10-15 12:00:46 -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
Ido Shveki
3d0d8724b0 ent/schema: adding sensitive fields support (#75)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/75

Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1539

Supporting "Sensitive" mode for string fields.

Reviewed By: a8m

Differential Revision: D17786543

fbshipit-source-id: a4d022c1436472cb525cdd50663dd0ce23d13699
2019-10-07 07:46:28 -07:00
Ariel Mashraki
eb240579ca ent/gen: fix identifiers conflict in ent.tmpl
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/58

Reviewed By: alexsn

Differential Revision: D17759261

fbshipit-source-id: df7f5344b43157a483662d9ee5cf8441943b637a
2019-10-03 23:54:11 -07:00
Ariel Mashraki
3f7553af20 entc/gen: add tag ignoring for private fields
Summary: Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1487

Reviewed By: alexsn

Differential Revision: D17527793

fbshipit-source-id: b264706b8af74ff94d384dddd1b5a14661478676
2019-09-23 09:48:24 -07:00
Ariel Mashraki
61b8ccea4a entc/load: enable adding additional fields to the generated entities
Summary: In some cases (like xwf auth service), you want to add additional fields to the generated model.

Reviewed By: alexsn

Differential Revision: D17223674

fbshipit-source-id: fb4be71b388c6bd107e6bac242133c237fe25599
2019-09-08 08:05:13 -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
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
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
56656dfcb6 ent/entc: configure storage driver in codegen
Summary: Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1229

Reviewed By: alexsn

Differential Revision: D16539934

fbshipit-source-id: b3a8bf1f1be6f65ad3f649cd921ea20fc24182bf
2019-07-30 02:49:22 -07:00
Ariel Mashraki
b5cdb810b8 dialect/sql/schema: universl id allocation support
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/9

Reviewed By: alexsn

Differential Revision: D16252229

fbshipit-source-id: 795b6556d322e5c1ff5fb826c3b06ba5421ac857
2019-07-15 02:30:41 -07:00
Ariel Mashraki
4b176495e8 add support for all int types in schema
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/8

Reviewed By: alexsn

Differential Revision: D16131257

fbshipit-source-id: 7b362740053c684f70ec69188b2fcee898605436
2019-07-10 09:24:31 -07:00