Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

schema/fields: validate for slices builder #3566

Merged
merged 1 commit into from May 30, 2023
Merged

Conversation

masseelch
Copy link
Collaborator

@masseelch masseelch commented May 26, 2023

This PR changes the way slice types are built and adds the possibility to add a custom validation function to json slice types.

@masseelch masseelch requested a review from a8m May 26, 2023 07:48
@masseelch masseelch force-pushed the j/strings_validate branch 3 times, most recently from ff857eb to c64ef3f Compare May 26, 2023 14:09
@masseelch masseelch changed the title schema/fields: generic slices builder schema/fields: validate for slices builder May 26, 2023
schema/field/field.go Outdated Show resolved Hide resolved
schema/field/field.go Outdated Show resolved Hide resolved
Copy link
Member

@a8m a8m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

This PR changes the way slice types are built and adds the possibility to add a custom validation function to json slice types.
@masseelch masseelch merged commit 9f917c7 into master May 30, 2023
7 checks passed
@masseelch masseelch deleted the j/strings_validate branch May 30, 2023 08:02
ti-chi-bot bot pushed a commit to PingCAP-QE/ee-apps that referenced this pull request Dec 5, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [entgo.io/ent](https://togithub.com/ent/ent) | require | patch |
`v0.12.4` -> `v0.12.5` |

---

### Release Notes

<details>
<summary>ent/ent (entgo.io/ent)</summary>

### [`v0.12.5`](https://togithub.com/ent/ent/releases/tag/v0.12.5)

[Compare Source](https://togithub.com/ent/ent/compare/v0.12.4...v0.12.5)

#### What's Changed

- doc: fix typos in paging.md by [@&#8203;a8m](https://togithub.com/a8m)
in
[ent/ent#3458
- entsql: added OnDelete annotation by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3459
- doc/md: update doc for OnDelete annotation by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3460
- entc/gen: avoid ambiguous column names when joining the same table by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3461
- entc/gen: rename <type>.Order to <type>.OrderOption by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3468
- dialect/sql: skip formatting qualified columns by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3469
- dialect/sql/sqlgraph: allow query edge fields with alias by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3470
- dialect/sql: add method for finding selection occurrences in queries
by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3473
- doc: add entgql edge ordering by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3482
- cmd/ent: hide the --idtype flag from generate command by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3490
- dialect/sql/sqlgraph: replace id IN with EXISTS for HasNeighbors
predicates by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3492
- .github/workflow: added atlas-ci for examples by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3496
- entc/gen: load referenced foreign-keys on eager-loading by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3497
- entc/gen: remove unnecessary type arguments by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3503
- doc/md/ci: fix broken link for ent/contrib/ci action's repo by
[@&#8203;Arthur1](https://togithub.com/Arthur1) in
[ent/ent#3504
- doc/md: edge ordering is supported by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3506
- entc/gen/template: fix intercept package imports by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3507
- doc: add schema inspection to getting-started page by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3510
- entc/load: report 'go mod' errors on schema loading by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3511
- .github/workflow: sync action by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3513
- dialect/sql/schema: allow ariga.io/atlas schema diff to be extended by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3514
- dialect/sql/schema: support passing schema diff options by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3516
- dialect/sql: add OrderByRand option by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3518
- ent/privacy: move some of the generated privacy helpers to ent/privacy
by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3527
- entc/gen: avoid conflict between order by edge-count and fields end
with \_count by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3534
- Fix typo in docs by [@&#8203;jibbolo](https://togithub.com/jibbolo) in
[ent/ent#3539
- dialect/sql: expose the underlying builder of UpdateSet by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3541
- Fix go install instruction for atlas by
[@&#8203;toshi0607](https://togithub.com/toshi0607) in
[ent/ent#3526
- entc/gen: fix conflicts between fields named 'op' and Mutation.Op by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3550
- ent: document ent.Value returned by mutations by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3556
- entc/gen: avoid conflict between package and receiver names by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3563
- dialect/sql/sqljson: inline boolean values by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3570
- schema/fields: validate for slices builder by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3566
- entc/gen: quote index annotations in generated schemas by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3578
- entc/gen: allow naming ent/schemas as builder by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3593
- entc/integration: add missing license header by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3594
- dialect/sql/sqlgraph: expose standard modifier to eager-load N
neighbors by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3603
- .github: bump go version by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3609
- go: update ariga.io/atlas to latest version by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3610
- dialect/sql: support capturing predicates in selectors by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3612
- dialect/sql: add predicate to check hasprefix between columns/fields
by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3614
- doc/md: fix edge.Annotations method name typo by
[@&#8203;Mozuha](https://togithub.com/Mozuha) in
[ent/ent#3618
- doc: fix new project instructions in tutorial-setup.md by
[@&#8203;vijal-patel](https://togithub.com/vijal-patel) in
[ent/ent#3622
- entc/gen: allow catching nested tx attempt with errors.Is by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3636
- Remove useless wording by
[@&#8203;willfaught](https://togithub.com/willfaught) in
[ent/ent#3640
- mark field as cleared when clearing edges by
[@&#8203;yasser-sobhy](https://togithub.com/yasser-sobhy) in
[ent/ent#3651
- dialect/sql/schema: allow only table creation modification in
automatic schema planning by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3660
- doc/website/blog: vis with atlas by
[@&#8203;rotemtam](https://togithub.com/rotemtam) in
[ent/ent#3688
- entc/gen: add support for MapBulkCreate by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3696
- Feat: added nil checks to sqlgraph constraint errors by
[@&#8203;lucvankessel](https://togithub.com/lucvankessel) in
[ent/ent#3701
- Update 2022-05-09-versioned-migrations-sum-file.md by
[@&#8203;gedalyah-ariga](https://togithub.com/gedalyah-ariga) in
[ent/ent#3685
- doc/ci - removed a reference to a hard coded go version by
[@&#8203;dorav](https://togithub.com/dorav) in
[ent/ent#3732
- go: update ariga.io/atlas to latest version by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3751
- doc/website: visualize ent/schema as erd by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3758
- doc/md: fix custom predicate example by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3764
- Fix example in docs/crud/#create-many by
[@&#8203;adamzapasnik](https://togithub.com/adamzapasnik) in
[ent/ent#3770
- entc/gen: nillable update setters for non-optional fields by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3788
- dialect/entsql: add helper function for creating table annotation by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3816
- doc/md: drop v10 support and add v15 for PostgreSQL by
[@&#8203;oinume](https://togithub.com/oinume) in
[ent/ent#3806
- dialect/entsql: add schema to package annotation by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3817
- dialect/sql/schema: add table schema by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3818
- dialect/atlas: initial work for multi-schema migration using atlas by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3821
- doc: add multi-schema migrations using atlas by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3825

**Full Changelog**: ent/ent@v0.12.0...v0.12.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/PingCAP-QE/ee-apps).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to infratographer/x that referenced this pull request Apr 2, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [entgo.io/ent](https://togithub.com/ent/ent) | `v0.12.4` -> `v0.13.1`
|
[![age](https://developer.mend.io/api/mc/badges/age/go/entgo.io%2fent/v0.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/entgo.io%2fent/v0.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/entgo.io%2fent/v0.12.4/v0.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/entgo.io%2fent/v0.12.4/v0.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ent/ent (entgo.io/ent)</summary>

### [`v0.13.1`](https://togithub.com/ent/ent/compare/v0.13.0...v0.13.1)

[Compare Source](https://togithub.com/ent/ent/compare/v0.13.0...v0.13.1)

### [`v0.13.0`](https://togithub.com/ent/ent/compare/v0.12.5...v0.13.0)

[Compare Source](https://togithub.com/ent/ent/compare/v0.12.5...v0.13.0)

### [`v0.12.5`](https://togithub.com/ent/ent/releases/tag/v0.12.5)

[Compare Source](https://togithub.com/ent/ent/compare/v0.12.4...v0.12.5)

#### What's Changed

- doc: fix typos in paging.md by [@&#8203;a8m](https://togithub.com/a8m)
in
[ent/ent#3458
- entsql: added OnDelete annotation by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3459
- doc/md: update doc for OnDelete annotation by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3460
- entc/gen: avoid ambiguous column names when joining the same table by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3461
- entc/gen: rename <type>.Order to <type>.OrderOption by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3468
- dialect/sql: skip formatting qualified columns by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3469
- dialect/sql/sqlgraph: allow query edge fields with alias by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3470
- dialect/sql: add method for finding selection occurrences in queries
by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3473
- doc: add entgql edge ordering by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3482
- cmd/ent: hide the --idtype flag from generate command by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3490
- dialect/sql/sqlgraph: replace id IN with EXISTS for HasNeighbors
predicates by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3492
- .github/workflow: added atlas-ci for examples by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3496
- entc/gen: load referenced foreign-keys on eager-loading by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3497
- entc/gen: remove unnecessary type arguments by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3503
- doc/md/ci: fix broken link for ent/contrib/ci action's repo by
[@&#8203;Arthur1](https://togithub.com/Arthur1) in
[ent/ent#3504
- doc/md: edge ordering is supported by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3506
- entc/gen/template: fix intercept package imports by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3507
- doc: add schema inspection to getting-started page by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3510
- entc/load: report 'go mod' errors on schema loading by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3511
- .github/workflow: sync action by
[@&#8203;giautm](https://togithub.com/giautm) in
[ent/ent#3513
- dialect/sql/schema: allow ariga.io/atlas schema diff to be extended by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3514
- dialect/sql/schema: support passing schema diff options by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3516
- dialect/sql: add OrderByRand option by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3518
- ent/privacy: move some of the generated privacy helpers to ent/privacy
by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3527
- entc/gen: avoid conflict between order by edge-count and fields end
with \_count by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3534
- Fix typo in docs by [@&#8203;jibbolo](https://togithub.com/jibbolo) in
[ent/ent#3539
- dialect/sql: expose the underlying builder of UpdateSet by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3541
- Fix go install instruction for atlas by
[@&#8203;toshi0607](https://togithub.com/toshi0607) in
[ent/ent#3526
- entc/gen: fix conflicts between fields named 'op' and Mutation.Op by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3550
- ent: document ent.Value returned by mutations by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3556
- entc/gen: avoid conflict between package and receiver names by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3563
- dialect/sql/sqljson: inline boolean values by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3570
- schema/fields: validate for slices builder by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3566
- entc/gen: quote index annotations in generated schemas by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3578
- entc/gen: allow naming ent/schemas as builder by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3593
- entc/integration: add missing license header by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3594
- dialect/sql/sqlgraph: expose standard modifier to eager-load N
neighbors by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3603
- .github: bump go version by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3609
- go: update ariga.io/atlas to latest version by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3610
- dialect/sql: support capturing predicates in selectors by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3612
- dialect/sql: add predicate to check hasprefix between columns/fields
by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3614
- doc/md: fix edge.Annotations method name typo by
[@&#8203;Mozuha](https://togithub.com/Mozuha) in
[ent/ent#3618
- doc: fix new project instructions in tutorial-setup.md by
[@&#8203;vijal-patel](https://togithub.com/vijal-patel) in
[ent/ent#3622
- entc/gen: allow catching nested tx attempt with errors.Is by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3636
- Remove useless wording by
[@&#8203;willfaught](https://togithub.com/willfaught) in
[ent/ent#3640
- mark field as cleared when clearing edges by
[@&#8203;yasser-sobhy](https://togithub.com/yasser-sobhy) in
[ent/ent#3651
- dialect/sql/schema: allow only table creation modification in
automatic schema planning by [@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3660
- doc/website/blog: vis with atlas by
[@&#8203;rotemtam](https://togithub.com/rotemtam) in
[ent/ent#3688
- entc/gen: add support for MapBulkCreate by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3696
- Feat: added nil checks to sqlgraph constraint errors by
[@&#8203;lucvankessel](https://togithub.com/lucvankessel) in
[ent/ent#3701
- Update 2022-05-09-versioned-migrations-sum-file.md by
[@&#8203;gedalyah-ariga](https://togithub.com/gedalyah-ariga) in
[ent/ent#3685
- doc/ci - removed a reference to a hard coded go version by
[@&#8203;dorav](https://togithub.com/dorav) in
[ent/ent#3732
- go: update ariga.io/atlas to latest version by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3751
- doc/website: visualize ent/schema as erd by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3758
- doc/md: fix custom predicate example by
[@&#8203;masseelch](https://togithub.com/masseelch) in
[ent/ent#3764
- Fix example in docs/crud/#create-many by
[@&#8203;adamzapasnik](https://togithub.com/adamzapasnik) in
[ent/ent#3770
- entc/gen: nillable update setters for non-optional fields by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3788
- dialect/entsql: add helper function for creating table annotation by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3816
- doc/md: drop v10 support and add v15 for PostgreSQL by
[@&#8203;oinume](https://togithub.com/oinume) in
[ent/ent#3806
- dialect/entsql: add schema to package annotation by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3817
- dialect/sql/schema: add table schema by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3818
- dialect/atlas: initial work for multi-schema migration using atlas by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3821
- doc: add multi-schema migrations using atlas by
[@&#8203;a8m](https://togithub.com/a8m) in
[ent/ent#3825

**Full Changelog**: ent/ent@v0.12.0...v0.12.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/infratographer/x).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants