Commit Graph

104 Commits

Author SHA1 Message Date
Ariel Mashraki
a5d6a9e8b8 entc/integration: add missing license header
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/138

Reviewed By: alexsn

Differential Revision: D18291686

fbshipit-source-id: a1df2e4e3e036f6877acb33cbb27d05dfa982668
2019-11-03 05:54:44 -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
Ariel Mashraki
838b8fab8a entc/integration: move relation tests to its own file (#134)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/134

integration_test.go was too big and not fun to work with.

Reviewed By: alexsn

Differential Revision: D18246139

fbshipit-source-id: 0c4437578adb9da4b03fc737044b3b7738b0bd4a
2019-10-31 10:11:38 -07:00
Ariel Mashraki
a9d787edf7 ent/integration: enable postgres in json tests
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/133

Reviewed By: alexsn

Differential Revision: D18227305

fbshipit-source-id: 33718041db52014f82dad831b5b609c511e0ba9a
2019-10-30 12:52:40 -07:00
Ariel Mashraki
38fcf995d0 entc/integration/migrate: enable postgres 10,11 in migrate test
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/132

Reviewed By: alexsn

Differential Revision: D18203398

fbshipit-source-id: a261ed3934d2e4262d7177b41546b2239e798ef5
2019-10-29 10:16:50 -07:00
Ariel Mashraki
440a737d73 entc/integration: add postgress 10,11 for test cases
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/131

Reviewed By: alexsn

Differential Revision: D18199300

fbshipit-source-id: 2335f81ba67055934dddae22ec02f1bfb43162d0
2019-10-29 03:31:14 -07:00
Ariel Mashraki
c259aee24b entc/gen: generate sql builders with dialect option
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/130

Reviewed By: alexsn

Differential Revision: D18164397

fbshipit-source-id: 2858d69d3ff85c06b51382c01c3d4369ee2c3bdb
2019-10-27 21:53:50 -07:00
Ariel Mashraki
21a58e94a3 entc/integration: test postgres schema creation
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/124

Reviewed By: alexsn

Differential Revision: D18117662

fbshipit-source-id: e8151f92e00f565db26f17f78ff46b132c46e425
2019-10-24 10:49:47 -07:00
Ariel Mashraki
e493574c83 entc: add postgres dialect for sql storage driver options
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/123

Reviewed By: alexsn

Differential Revision: D18117641

fbshipit-source-id: 8e520a1b1f70c7bea70f8a37ac698116e98a804e
2019-10-24 10:49:47 -07:00
Alex Snast
a5b1805da3 ent/entc: rename time mixin fields (#109)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/109

- created_at -> create_time
- updated_at -> update_time

Reviewed By: a8m

Differential Revision: D18035896

fbshipit-source-id: ec9aef703c444554eb0f65a668703a1a6607b93e
2019-10-22 03:45:52 -07:00
Alex Snast
4d835b6d6f ent/entc: mask reserved names on type validation
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/111

Reviewed By: a8m

Differential Revision: D18037667

fbshipit-source-id: 391b4d1826bb453fc6235363fb288c2ef1d3134c
2019-10-21 07:42:45 -07: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
a6df15101f dialect/sql: fix bad query generation on clone
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/97

Reviewed By: alexsn

Differential Revision: D17931134

fbshipit-source-id: e181e253f6e29b757f5ca647195d87d7ac89a0c8
2019-10-15 13:38:39 -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
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
6f5f42ab3c dialect/sql: dialect based builders (#1550)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1550

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

This is still WIP and you should ignore this.

Reviewed By: alexsn

Differential Revision: D17854477

fbshipit-source-id: 2d19713c118adb31164b7a2781327e64c87db8d4
2019-10-13 07:03:11 -07:00
Alex Snast
9983309eac ent/circleci: cache / restore go modules (#86)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/86

In addition rename run.deadline golangci-lint config to run.timeout

Reviewed By: a8m

Differential Revision: D17863321

fbshipit-source-id: f863bac6499ddd3066a3ec6e9f518c0d5156f117
2019-10-12 23:52:42 -07:00
Ariel Mashraki
82f91dfcd2 examples/start: add license
Reviewed By: idoshveki

Differential Revision: D17788435

fbshipit-source-id: ae8ba70bcf84cf5e325291c45b69e8721a130bf1
2019-10-07 07:48:30 -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
7597f07912 entc: add option to use entc as package
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/72

Reviewed By: alexsn

Differential Revision: D17783580

fbshipit-source-id: 597f124a28415fef66b0b16811ad2acac8df631d
2019-10-07 07:06:32 -07:00
Alex Snast
ac50ea81d4 ent: address several lint errors throughout the project (#1534)
Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1534

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

lint errors detected by running `golangci-lint` tool.

Reviewed By: a8m

Differential Revision: D17784980

fbshipit-source-id: f7e8bd99fdf1e018d5672cea1e8d44b67f2a4201
2019-10-06 23:59:12 -07:00
Ariel Mashraki
766940563f ent/gen: set currect storage-key for indexes
Summary: Pull Request resolved: https://github.com/facebookincubator/ent/pull/66

Reviewed By: alexsn

Differential Revision: D17779042

fbshipit-source-id: 12be885b20f91eb611a41e361650f7a66747fab0
2019-10-05 11:03:05 -07:00
Alex Snast
5c93cb823c ent/circleci: store go tests metadata (#63)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ent/pull/63

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

See https://circleci.com/blog/level-up-go-test-with-gotestsum/ for more info

Reviewed By: a8m

Differential Revision: D17761305

fbshipit-source-id: d16050b4e1825e8c23be5cc0a4b0dff80936b86a
2019-10-05 10:15:47 -07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
3fcaf80ca4 entc/migrate: add an option to dump schema changes
Reviewed By: alexsn

Differential Revision: D17253145

fbshipit-source-id: 32640e60a8e149ac8774384db8e2ece29b9fec24
2019-09-08 06:28:58 -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
5bc8568069 all: add license reference to README and add copyright headers to gencode
Reviewed By: alexsn

Differential Revision: D17119262

fbshipit-source-id: 046f095ca9432c920778db0edb2158dedb23c0a2
2019-08-30 08:46:03 -07:00