Commit Graph

201 Commits

Author SHA1 Message Date
Alex Snast
d581e01bb6 ent/circleci: drop goimports installation
Reviewed By: a8m

Differential Revision: D17761242

fbshipit-source-id: 7ebf67b59eed722ac329b5ab6a152140a013c64c
2019-10-05 10:15:47 -07:00
Ariel Mashraki
82c70a6d35 entc/gen: fix broken test
Reviewed By: alexsn

Differential Revision: D17761235

fbshipit-source-id: 5530af054440dd41fecb031ffc992705a7dac06e
2019-10-04 04:46:12 -07:00
Alex Snast
2a6060a3ab ent/entc: no need to pass options to imports.Process
Summary: default options produce the same formatted output

Reviewed By: a8m

Differential Revision: D17760716

fbshipit-source-id: 556dc11e4c48c480e704f28ec779ec721137a9ba
2019-10-04 04:11:03 -07:00
Hylke Visser
6a1c9e73fe entc/sql/decode: fix decoding of NullTime in optional and nillable time fields (#60)
Summary:
While trying out this project I think I found a bug in the generated code when using an optional and nillable time field.

```
vet: ent/user.go:46:16: cannot use &vu.DeletedAt (value of type *sql.NullTime) as *time.Time value in assignment
```

7438104b5d made a change to the `{{ $scan }}` struct, which now always uses `{{ $f.NullType }}` as type, so the `$f.IsTime` check can now be removed. This pull request does that.

This is my fist contribution here. I hope I didn't miss anything.
Pull Request resolved: https://github.com/facebookincubator/ent/pull/60

Differential Revision: D17760925

Pulled By: a8m

fbshipit-source-id: 675005be62487b1b9eb77302b8185bd3b6ef0195
2019-10-04 03:38:45 -07:00
0xflotus
16fc85b785 (doc): fixed small typo error
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/59

Differential Revision: D17760165

Pulled By: alexsn

fbshipit-source-id: b1c362c136959ce25defeaf2410533a208c0a6eb
2019-10-04 01:11:46 -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
Tomy Smith
d4efc09f75 fix import in first edge docs code sample
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/55

Differential Revision: D17747608

Pulled By: a8m

fbshipit-source-id: c59b5bc62423d77b684a399144c24ad5137c2e20
2019-10-03 14:15:24 -07:00
Ariel Mashraki
480eb714d3 entc/gen: replace goimports with golang.org/x/tools/imports
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/53

Reviewed By: alexsn

Differential Revision: D17738814

fbshipit-source-id: 9865bc3c8eec766bd5c8e02db5c7afcaadb48c1f
2019-10-03 12:08:34 -07:00
Ariel Mashraki
8e66691db5 entc: return ErrNotFound on UpdateOne
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/52

Reviewed By: alexsn

Differential Revision: D17737477

fbshipit-source-id: 13890619e0af28a28e3d7bd50d7e4287599eeaf0
2019-10-03 06:25:11 -07:00
Ariel Mashraki
8b9e5cd7d0 ent/doc: add enum field type to docs
Reviewed By: alexsn

Differential Revision: D17737409

fbshipit-source-id: b12c2a3b5da7b4ca06818785d55dfeda0a2e85f1
2019-10-03 06:25:10 -07:00
Shouichi Kamiya
50637b439e s/GitHab/GitHub/
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/50

Differential Revision: D17737109

Pulled By: a8m

fbshipit-source-id: 6af5482259ed3402e8bdb21b4226361c4f46dc8d
2019-10-03 05:14:36 -07:00
Ariel Mashraki
1750d33bd8 all: add support for running examples in playground
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/49

Reviewed By: alexsn

Differential Revision: D17735758

fbshipit-source-id: d4b80631e56870690cc54912528c9950f4e48ccc
2019-10-03 03:05:40 -07:00
Ariel Mashraki
c4527afbaf ent/doc: fix getting-started doc example
Reviewed By: dlvhdr

Differential Revision: D17735319

fbshipit-source-id: f90311d94a189d911b62ab972ac98982a623271b
2019-10-03 02:07:56 -07:00
Ariel Mashraki
6d159024e7 ent/doc: fix getting started example and add link to Github
Reviewed By: alexsn

Differential Revision: D17734937

fbshipit-source-id: abced88c23b7385d371361c5069292de5c1c5b1e
2019-10-03 01:40:58 -07:00
Ariel Mashraki
86c14d7a3c ent/examples: add readme to examples and ga trackid
Reviewed By: alexsn

Differential Revision: D17733452

fbshipit-source-id: 1d7d472f7fe38989246f434cf7864c0e546126c1
2019-10-02 23:00:05 -07:00
Ariel Mashraki
6b1ee557a7 doc: fix example in introduction page
Reviewed By: alexsn

Differential Revision: D17733038

fbshipit-source-id: 2da94892c09aa519a3ae25b17844b8090cbdfbc6
2019-10-02 21:32:43 -07:00
Ariel Mashraki
a425896a4e ent/schema/field: add missing license header
Reviewed By: JoelMarcey

Differential Revision: D17724252

fbshipit-source-id: d8bc5a77776257f44fc0fd89786537738d9161fe
2019-10-02 14:42:12 -07:00
Ariel Mashraki
37898ff5c8 doc: add introducing-ent blog post
Reviewed By: alexsn

Differential Revision: D17717270

fbshipit-source-id: e566d256a034a9579a05d0975de133f4ccf5ad6d
2019-10-02 12:55:28 -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
55fefbfbec doc: update Open api examples
Reviewed By: alexsn

Differential Revision: D17710222

fbshipit-source-id: 189b2c0407c035e62da5926a71f89453d6acaa12
2019-10-02 10:11:09 -07:00
Ariel Mashraki
cb1f78f233 entc/gen: add open func for creating client
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/44

Reviewed By: alexsn

Differential Revision: D17657719

fbshipit-source-id: 9bbe18dc0e9c553f8a2df81018d7db06f38f5e0e
2019-10-02 01:41:40 -07:00
Ariel Mashraki
86a6fbe48e ent/doc: mixin api and example
Reviewed By: alexsn

Differential Revision: D17602975

fbshipit-source-id: 2414a2de0b5b02ef6c3255e0524e228c3c17a500
2019-09-26 09:09:39 -07:00
Ariel Mashraki
4dbebe68ff entc: add codegen support for mixin
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/43

Reviewed By: alexsn

Differential Revision: D17600868

fbshipit-source-id: 39a242a541fa2a2dd2db1c9919fecf192ff098bf
2019-09-26 07:41:11 -07:00
Ariel Mashraki
df37dcc1a9 ent: add mixin interface to schema
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/42

Reviewed By: alexsn

Differential Revision: D17600212

fbshipit-source-id: 74021efb2d7974c28e6a3f6df53bcedebff874f2
2019-09-26 05:59:27 -07:00
Ariel Mashraki
6a0a247c57 ent/doc: add config option to docs
Reviewed By: alexsn

Differential Revision: D17599268

fbshipit-source-id: 2d89229e1880a0c33ff26c89d52205981a5cfbab
2019-09-26 05:59:27 -07:00
Ariel Mashraki
bd6d7cc647 entc/gen: use default name in column construction
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/41

Reviewed By: alexsn

Differential Revision: D17599004

fbshipit-source-id: 928d82fe689ca1c528ec204c3fb6e2732cb58f0b
2019-09-26 05:59:26 -07:00
Alex Snast
dacc568413 ent/entc: corrently reference default value on migrate generation
Summary:
Migration incorrectly generated field default value on storage key inclusion.

Example Field:
```
field.String("tenant").
  StorageKey("organization").
  Default("fb-test"),
```
Generated default of:
```
// DefaultTenant holds the default value on creation for the tenant field.
DefaultTenant = descTenant.Default.(string)
```
But migration references non existent default (storage key is used):
```
{Name: "organization", Type: field.TypeString, Default: user.DefaultOrganization},
```

Reviewed By: a8m

Differential Revision: D17578898

fbshipit-source-id: afca92ac3f34c16100c868a10d0a480139bf4262
2019-09-25 13:51:45 -07:00
Alex Snast
6cf5b918c3 ent/entc: keep struct tags sorted
Summary: keeping tags sorted will prevent codegen changes due to random map key ordering

Reviewed By: a8m

Differential Revision: D17571598

fbshipit-source-id: 12afc4aa0d030aa178e6568eb7c768ccc159f726
2019-09-25 06:48:01 -07:00
Alex Snast
517d22843c ent/schema: adding .NotEmpty() helper to string field
Summary: just a wrapper around .MinLen(1) but makes it cleaner when reading the schema

Reviewed By: a8m

Differential Revision: D17551384

fbshipit-source-id: 1e2c7639eff7032f433271582830c7e11a2fb0d5
2019-09-25 00:00:42 -07:00
Ariel Mashraki
0f71ca6ad8 entc/cmd/entc: support more numeric types for ids
Reviewed By: alexsn

Differential Revision: D17527952

fbshipit-source-id: 1465b054531cee8ca1dd445b6654063f32f4c4e3
2019-09-23 09:48:24 -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
19ef92e25b doc: update godoc link
Summary: godoc will be available only after making the repo public

Reviewed By: alexsn

Differential Revision: D17516450

fbshipit-source-id: adefc969484da46f7e316052ea2005be04c0e214
2019-09-22 01:38:08 -07:00
Ariel Mashraki
76f5b6ec5f ent/schema: add config for customize schema options
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/40

Reviewed By: alexsn

Differential Revision: D17480104

fbshipit-source-id: 5223430e3b2223b8471a85bd1d85b445f23acfce
2019-09-22 01:38:07 -07:00
Ariel Mashraki
57e95e0c7a sql/schema: add MySQL datetime type to column scan
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/39

Reviewed By: alexsn

Differential Revision: D17477388

fbshipit-source-id: 806fdce823ec919115f34b87a29ae411575537c0
2019-09-19 07:58:36 -07:00
Ariel Mashraki
26f3a42944 sql/schema: avoid parsing prerelease in semver
Reviewed By: alexsn

Differential Revision: D17476646

fbshipit-source-id: a3c8de5232e8c249c44fcb734c566420dccd0aa8
2019-09-19 06:36:56 -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
bc5e8316dd doc: json doc
Reviewed By: alexsn

Differential Revision: D17475209

fbshipit-source-id: c418f43426cce3fb3b8296a1e274ba3f5bc2a9bc
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
1f0f39df38 ent/doc: add docs for storage-key option
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/36

Reviewed By: dlvhdr

Differential Revision: D17395353

fbshipit-source-id: b06de30a66ee4bb79f68a585a981a52ee3f341be
2019-09-16 06:07:01 -07:00
Ariel Mashraki
624ecd2cc7 schema/field: add storage-key option
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/35

Reviewed By: alexsn

Differential Revision: D17394930

fbshipit-source-id: bc9d8cc6569ad457b93d47d26d143f2442f98df9
2019-09-16 04:39:17 -07:00
Ariel Mashraki
a89cf1ff72 ent/dialect: add missing license headers
Reviewed By: alexsn

Differential Revision: D17390279

fbshipit-source-id: bdf27f42d768305341bfcc6cf80fa5bde63497e9
2019-09-15 09:43:24 -07:00
Ariel Mashraki
d99d9d282e ent/migrate: properly scan text columns
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/34

Reviewed By: alexsn

Differential Revision: D17390040

fbshipit-source-id: 92cb0e638f484877af185a88e41aa9c5eef6d22b
2019-09-15 08:08: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
651dc25dd1 graph/ent: add node template and codegen
Summary:
This change allows to call `Client.Node` to get node info.

```
node, err := client.Node(ctx, id)
```

Reviewed By: dlvhdr

Differential Revision: D17341682

fbshipit-source-id: bed1fe018cca7f5048a624b50b1f5cc6cc3507f3
2019-09-12 02:50:57 -07:00
Ariel Mashraki
5c9c99f5db ent/dialect: disable flaky gremlin test
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/32

Reviewed By: alexsn

Differential Revision: D17341672

fbshipit-source-id: 1597d66a5f8030a2c0d431500669a22b21210697
2019-09-12 02:45:31 -07:00
Ariel Mashraki
ade72ced0d entc/integration: test external templates with node interface (#31)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/31

node template is just a template used for testing.

Reviewed By: dlvhdr

Differential Revision: D17327549

fbshipit-source-id: 803ac26df1b866e721edee97999d199b0935098b
2019-09-12 01:24:16 -07:00
Ariel Mashraki
6915b13d25 ent/gen: add support for external tempaltes execution
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/30

Reviewed By: dlvhdr

Differential Revision: D17318127

fbshipit-source-id: eccc2963f648296e222de9d002ab3caa8fac1389
2019-09-11 12:18:34 -07:00
Ariel Mashraki
7dfe3c174c sql/schema: more precise blob definition
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/29

Reviewed By: alexsn

Differential Revision: D17284406

fbshipit-source-id: 84c2ffb50b8f016ad361f1420c5352c7969cbc77
2019-09-10 12:40:37 -07:00