snapshot of https://github.com/ent/ent.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
Atlas CI Public / lint (push) Failing after 13s
Atlas CI Public / sync (push) Has been skipped

This commit is contained in:
upstream-mirror
2026-09-15 22:12:36 +05:00
commit 4b3ad0b611
2680 changed files with 719472 additions and 0 deletions

View File

@@ -0,0 +1,824 @@
// Copyright 2019-present Facebook Inc. All rights reserved.
// This source code is licensed under the Apache 2.0 license found
// in the LICENSE file in the root directory of this source tree.
// Code generated by ent, DO NOT EDIT.
package user
import (
"context"
"fmt"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/entc/integration/multischema/ent/predicate"
)
// Mutation represents an operation that mutates the User nodes in the graph.
type Mutation struct {
op ent.Op
typ string
name *string
clearedFields map[string]struct{}
pets map[int]struct{}
removedpets map[int]struct{}
clearedpets bool
groups map[int]struct{}
removedgroups map[int]struct{}
clearedgroups bool
friends map[int]struct{}
removedfriends map[int]struct{}
clearedfriends bool
parents map[int]struct{}
removedparents map[int]struct{}
clearedparents bool
children map[int]struct{}
removedchildren map[int]struct{}
clearedchildren bool
friendships map[int]struct{}
removedfriendships map[int]struct{}
clearedfriendships bool
parent_hood map[int]struct{}
removedparent_hood map[int]struct{}
clearedparent_hood bool
predicates []predicate.User
}
// NewMutation creates a new Mutation for the User entity.
func NewMutation(op ent.Op) *Mutation {
return &Mutation{
op: op,
typ: "User",
clearedFields: make(map[string]struct{}),
}
}
// Predicates returns the list of predicates set on the mutation.
func (m *Mutation) Predicates() []predicate.User {
return m.predicates
}
// SetName sets the "name" field.
func (m *Mutation) SetName(s string) {
m.name = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *Mutation) Name() (r string, exists bool) {
v := m.name
if v == nil {
return
}
return *v, true
}
// ResetName resets all changes to the "name" field.
func (m *Mutation) ResetName() {
m.name = nil
}
// AddPetIDs adds the "pets" edge to the Pet entity by ids.
func (m *Mutation) AddPetIDs(ids ...int) {
if m.pets == nil {
m.pets = make(map[int]struct{})
}
for i := range ids {
m.pets[ids[i]] = struct{}{}
}
}
// ClearPets clears the "pets" edge to the Pet entity.
func (m *Mutation) ClearPets() {
m.clearedpets = true
}
// PetsCleared reports if the "pets" edge to the Pet entity was cleared.
func (m *Mutation) PetsCleared() bool {
return m.clearedpets
}
// RemovePetIDs removes the "pets" edge to the Pet entity by IDs.
func (m *Mutation) RemovePetIDs(ids ...int) {
if m.removedpets == nil {
m.removedpets = make(map[int]struct{})
}
for i := range ids {
delete(m.pets, ids[i])
m.removedpets[ids[i]] = struct{}{}
}
}
// RemovedPets returns the removed IDs of the "pets" edge to the Pet entity.
func (m *Mutation) RemovedPetsIDs() (ids []int) {
for id := range m.removedpets {
ids = append(ids, id)
}
return
}
// PetsIDs returns the "pets" edge IDs in the mutation.
func (m *Mutation) PetsIDs() (ids []int) {
for id := range m.pets {
ids = append(ids, id)
}
return
}
// ResetPets resets all changes to the "pets" edge.
func (m *Mutation) ResetPets() {
m.pets = nil
m.clearedpets = false
m.removedpets = nil
}
// AddGroupIDs adds the "groups" edge to the Group entity by ids.
func (m *Mutation) AddGroupIDs(ids ...int) {
if m.groups == nil {
m.groups = make(map[int]struct{})
}
for i := range ids {
m.groups[ids[i]] = struct{}{}
}
}
// ClearGroups clears the "groups" edge to the Group entity.
func (m *Mutation) ClearGroups() {
m.clearedgroups = true
}
// GroupsCleared reports if the "groups" edge to the Group entity was cleared.
func (m *Mutation) GroupsCleared() bool {
return m.clearedgroups
}
// RemoveGroupIDs removes the "groups" edge to the Group entity by IDs.
func (m *Mutation) RemoveGroupIDs(ids ...int) {
if m.removedgroups == nil {
m.removedgroups = make(map[int]struct{})
}
for i := range ids {
delete(m.groups, ids[i])
m.removedgroups[ids[i]] = struct{}{}
}
}
// RemovedGroups returns the removed IDs of the "groups" edge to the Group entity.
func (m *Mutation) RemovedGroupsIDs() (ids []int) {
for id := range m.removedgroups {
ids = append(ids, id)
}
return
}
// GroupsIDs returns the "groups" edge IDs in the mutation.
func (m *Mutation) GroupsIDs() (ids []int) {
for id := range m.groups {
ids = append(ids, id)
}
return
}
// ResetGroups resets all changes to the "groups" edge.
func (m *Mutation) ResetGroups() {
m.groups = nil
m.clearedgroups = false
m.removedgroups = nil
}
// AddFriendIDs adds the "friends" edge to the User entity by ids.
func (m *Mutation) AddFriendIDs(ids ...int) {
if m.friends == nil {
m.friends = make(map[int]struct{})
}
for i := range ids {
m.friends[ids[i]] = struct{}{}
}
}
// ClearFriends clears the "friends" edge to the User entity.
func (m *Mutation) ClearFriends() {
m.clearedfriends = true
}
// FriendsCleared reports if the "friends" edge to the User entity was cleared.
func (m *Mutation) FriendsCleared() bool {
return m.clearedfriends
}
// RemoveFriendIDs removes the "friends" edge to the User entity by IDs.
func (m *Mutation) RemoveFriendIDs(ids ...int) {
if m.removedfriends == nil {
m.removedfriends = make(map[int]struct{})
}
for i := range ids {
delete(m.friends, ids[i])
m.removedfriends[ids[i]] = struct{}{}
}
}
// RemovedFriends returns the removed IDs of the "friends" edge to the User entity.
func (m *Mutation) RemovedFriendsIDs() (ids []int) {
for id := range m.removedfriends {
ids = append(ids, id)
}
return
}
// FriendsIDs returns the "friends" edge IDs in the mutation.
func (m *Mutation) FriendsIDs() (ids []int) {
for id := range m.friends {
ids = append(ids, id)
}
return
}
// ResetFriends resets all changes to the "friends" edge.
func (m *Mutation) ResetFriends() {
m.friends = nil
m.clearedfriends = false
m.removedfriends = nil
}
// AddParentIDs adds the "parents" edge to the User entity by ids.
func (m *Mutation) AddParentIDs(ids ...int) {
if m.parents == nil {
m.parents = make(map[int]struct{})
}
for i := range ids {
m.parents[ids[i]] = struct{}{}
}
}
// ClearParents clears the "parents" edge to the User entity.
func (m *Mutation) ClearParents() {
m.clearedparents = true
}
// ParentsCleared reports if the "parents" edge to the User entity was cleared.
func (m *Mutation) ParentsCleared() bool {
return m.clearedparents
}
// RemoveParentIDs removes the "parents" edge to the User entity by IDs.
func (m *Mutation) RemoveParentIDs(ids ...int) {
if m.removedparents == nil {
m.removedparents = make(map[int]struct{})
}
for i := range ids {
delete(m.parents, ids[i])
m.removedparents[ids[i]] = struct{}{}
}
}
// RemovedParents returns the removed IDs of the "parents" edge to the User entity.
func (m *Mutation) RemovedParentsIDs() (ids []int) {
for id := range m.removedparents {
ids = append(ids, id)
}
return
}
// ParentsIDs returns the "parents" edge IDs in the mutation.
func (m *Mutation) ParentsIDs() (ids []int) {
for id := range m.parents {
ids = append(ids, id)
}
return
}
// ResetParents resets all changes to the "parents" edge.
func (m *Mutation) ResetParents() {
m.parents = nil
m.clearedparents = false
m.removedparents = nil
}
// AddChildIDs adds the "children" edge to the User entity by ids.
func (m *Mutation) AddChildIDs(ids ...int) {
if m.children == nil {
m.children = make(map[int]struct{})
}
for i := range ids {
m.children[ids[i]] = struct{}{}
}
}
// ClearChildren clears the "children" edge to the User entity.
func (m *Mutation) ClearChildren() {
m.clearedchildren = true
}
// ChildrenCleared reports if the "children" edge to the User entity was cleared.
func (m *Mutation) ChildrenCleared() bool {
return m.clearedchildren
}
// RemoveChildIDs removes the "children" edge to the User entity by IDs.
func (m *Mutation) RemoveChildIDs(ids ...int) {
if m.removedchildren == nil {
m.removedchildren = make(map[int]struct{})
}
for i := range ids {
delete(m.children, ids[i])
m.removedchildren[ids[i]] = struct{}{}
}
}
// RemovedChildren returns the removed IDs of the "children" edge to the User entity.
func (m *Mutation) RemovedChildrenIDs() (ids []int) {
for id := range m.removedchildren {
ids = append(ids, id)
}
return
}
// ChildrenIDs returns the "children" edge IDs in the mutation.
func (m *Mutation) ChildrenIDs() (ids []int) {
for id := range m.children {
ids = append(ids, id)
}
return
}
// ResetChildren resets all changes to the "children" edge.
func (m *Mutation) ResetChildren() {
m.children = nil
m.clearedchildren = false
m.removedchildren = nil
}
// AddFriendshipIDs adds the "friendships" edge to the Friendship entity by ids.
func (m *Mutation) AddFriendshipIDs(ids ...int) {
if m.friendships == nil {
m.friendships = make(map[int]struct{})
}
for i := range ids {
m.friendships[ids[i]] = struct{}{}
}
}
// ClearFriendships clears the "friendships" edge to the Friendship entity.
func (m *Mutation) ClearFriendships() {
m.clearedfriendships = true
}
// FriendshipsCleared reports if the "friendships" edge to the Friendship entity was cleared.
func (m *Mutation) FriendshipsCleared() bool {
return m.clearedfriendships
}
// RemoveFriendshipIDs removes the "friendships" edge to the Friendship entity by IDs.
func (m *Mutation) RemoveFriendshipIDs(ids ...int) {
if m.removedfriendships == nil {
m.removedfriendships = make(map[int]struct{})
}
for i := range ids {
delete(m.friendships, ids[i])
m.removedfriendships[ids[i]] = struct{}{}
}
}
// RemovedFriendships returns the removed IDs of the "friendships" edge to the Friendship entity.
func (m *Mutation) RemovedFriendshipsIDs() (ids []int) {
for id := range m.removedfriendships {
ids = append(ids, id)
}
return
}
// FriendshipsIDs returns the "friendships" edge IDs in the mutation.
func (m *Mutation) FriendshipsIDs() (ids []int) {
for id := range m.friendships {
ids = append(ids, id)
}
return
}
// ResetFriendships resets all changes to the "friendships" edge.
func (m *Mutation) ResetFriendships() {
m.friendships = nil
m.clearedfriendships = false
m.removedfriendships = nil
}
// AddParentHoodIDs adds the "parent_hood" edge to the Parent entity by ids.
func (m *Mutation) AddParentHoodIDs(ids ...int) {
if m.parent_hood == nil {
m.parent_hood = make(map[int]struct{})
}
for i := range ids {
m.parent_hood[ids[i]] = struct{}{}
}
}
// ClearParentHood clears the "parent_hood" edge to the Parent entity.
func (m *Mutation) ClearParentHood() {
m.clearedparent_hood = true
}
// ParentHoodCleared reports if the "parent_hood" edge to the Parent entity was cleared.
func (m *Mutation) ParentHoodCleared() bool {
return m.clearedparent_hood
}
// RemoveParentHoodIDs removes the "parent_hood" edge to the Parent entity by IDs.
func (m *Mutation) RemoveParentHoodIDs(ids ...int) {
if m.removedparent_hood == nil {
m.removedparent_hood = make(map[int]struct{})
}
for i := range ids {
delete(m.parent_hood, ids[i])
m.removedparent_hood[ids[i]] = struct{}{}
}
}
// RemovedParentHood returns the removed IDs of the "parent_hood" edge to the Parent entity.
func (m *Mutation) RemovedParentHoodIDs() (ids []int) {
for id := range m.removedparent_hood {
ids = append(ids, id)
}
return
}
// ParentHoodIDs returns the "parent_hood" edge IDs in the mutation.
func (m *Mutation) ParentHoodIDs() (ids []int) {
for id := range m.parent_hood {
ids = append(ids, id)
}
return
}
// ResetParentHood resets all changes to the "parent_hood" edge.
func (m *Mutation) ResetParentHood() {
m.parent_hood = nil
m.clearedparent_hood = false
m.removedparent_hood = nil
}
// Where appends a list predicates to the Mutation builder.
func (m *Mutation) Where(ps ...predicate.User) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the Mutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *Mutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.User, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *Mutation) Op() ent.Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *Mutation) SetOp(op ent.Op) {
m.op = op
}
// Type returns the node type of this mutation (User).
func (m *Mutation) Type() string {
return m.typ
}
// Fields returns all fields that were changed during this mutation. Note that in
// order to get all numeric fields that were incremented/decremented, call
// AddedFields().
func (m *Mutation) Fields() []string {
fields := make([]string, 0, 1)
if m.name != nil {
fields = append(fields, FieldName)
}
return fields
}
// Field returns the value of a field with the given name. The second boolean
// return value indicates that this field was not set, or was not defined in the
// schema.
func (m *Mutation) Field(name string) (ent.Value, bool) {
switch name {
case FieldName:
return m.Name()
}
return nil, false
}
// OldField returns the old value of the field from the database. An error is
// returned if the mutation operation is not UpdateOne, or the query to the
// database failed.
func (m *Mutation) OldField(ctx context.Context, name string) (ent.Value, error) {
return nil, fmt.Errorf("unknown User field %s", name)
}
// SetField sets the value of a field with the given name. It returns an error if
// the field is not defined in the schema, or if the type mismatched the field
// type.
func (m *Mutation) SetField(name string, value ent.Value) error {
switch name {
case FieldName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
return nil
}
return fmt.Errorf("unknown User field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *Mutation) AddedFields() []string {
return nil
}
// AddedField returns the numeric value that was incremented/decremented on a field
// with the given name. The second boolean return value indicates that this field
// was not set, or was not defined in the schema.
func (m *Mutation) AddedField(name string) (ent.Value, bool) {
return nil, false
}
// AddField adds the value to the field with the given name. It returns an error if
// the field is not defined in the schema, or if the type mismatched the field
// type.
func (m *Mutation) AddField(name string, value ent.Value) error {
switch name {
}
return fmt.Errorf("unknown User numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *Mutation) ClearedFields() []string {
return nil
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *Mutation) FieldCleared(name string) bool {
_, ok := m.clearedFields[name]
return ok
}
// ClearField clears the value of the field with the given name. It returns an
// error if the field is not defined in the schema.
func (m *Mutation) ClearField(name string) error {
return fmt.Errorf("unknown User nullable field %s", name)
}
// ResetField resets all changes in the mutation for the field with the given name.
// It returns an error if the field is not defined in the schema.
func (m *Mutation) ResetField(name string) error {
switch name {
case FieldName:
m.ResetName()
return nil
}
return fmt.Errorf("unknown User field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *Mutation) AddedEdges() []string {
edges := make([]string, 0, 7)
if m.pets != nil {
edges = append(edges, EdgePets)
}
if m.groups != nil {
edges = append(edges, EdgeGroups)
}
if m.friends != nil {
edges = append(edges, EdgeFriends)
}
if m.parents != nil {
edges = append(edges, EdgeParents)
}
if m.children != nil {
edges = append(edges, EdgeChildren)
}
if m.friendships != nil {
edges = append(edges, EdgeFriendships)
}
if m.parent_hood != nil {
edges = append(edges, EdgeParentHood)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *Mutation) AddedIDs(name string) []ent.Value {
switch name {
case EdgePets:
ids := make([]ent.Value, 0, len(m.pets))
for id := range m.pets {
ids = append(ids, id)
}
return ids
case EdgeGroups:
ids := make([]ent.Value, 0, len(m.groups))
for id := range m.groups {
ids = append(ids, id)
}
return ids
case EdgeFriends:
ids := make([]ent.Value, 0, len(m.friends))
for id := range m.friends {
ids = append(ids, id)
}
return ids
case EdgeParents:
ids := make([]ent.Value, 0, len(m.parents))
for id := range m.parents {
ids = append(ids, id)
}
return ids
case EdgeChildren:
ids := make([]ent.Value, 0, len(m.children))
for id := range m.children {
ids = append(ids, id)
}
return ids
case EdgeFriendships:
ids := make([]ent.Value, 0, len(m.friendships))
for id := range m.friendships {
ids = append(ids, id)
}
return ids
case EdgeParentHood:
ids := make([]ent.Value, 0, len(m.parent_hood))
for id := range m.parent_hood {
ids = append(ids, id)
}
return ids
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *Mutation) RemovedEdges() []string {
edges := make([]string, 0, 7)
if m.removedpets != nil {
edges = append(edges, EdgePets)
}
if m.removedgroups != nil {
edges = append(edges, EdgeGroups)
}
if m.removedfriends != nil {
edges = append(edges, EdgeFriends)
}
if m.removedparents != nil {
edges = append(edges, EdgeParents)
}
if m.removedchildren != nil {
edges = append(edges, EdgeChildren)
}
if m.removedfriendships != nil {
edges = append(edges, EdgeFriendships)
}
if m.removedparent_hood != nil {
edges = append(edges, EdgeParentHood)
}
return edges
}
// RemovedIDs returns all IDs (to other nodes) that were removed for the edge with
// the given name in this mutation.
func (m *Mutation) RemovedIDs(name string) []ent.Value {
switch name {
case EdgePets:
ids := make([]ent.Value, 0, len(m.removedpets))
for id := range m.removedpets {
ids = append(ids, id)
}
return ids
case EdgeGroups:
ids := make([]ent.Value, 0, len(m.removedgroups))
for id := range m.removedgroups {
ids = append(ids, id)
}
return ids
case EdgeFriends:
ids := make([]ent.Value, 0, len(m.removedfriends))
for id := range m.removedfriends {
ids = append(ids, id)
}
return ids
case EdgeParents:
ids := make([]ent.Value, 0, len(m.removedparents))
for id := range m.removedparents {
ids = append(ids, id)
}
return ids
case EdgeChildren:
ids := make([]ent.Value, 0, len(m.removedchildren))
for id := range m.removedchildren {
ids = append(ids, id)
}
return ids
case EdgeFriendships:
ids := make([]ent.Value, 0, len(m.removedfriendships))
for id := range m.removedfriendships {
ids = append(ids, id)
}
return ids
case EdgeParentHood:
ids := make([]ent.Value, 0, len(m.removedparent_hood))
for id := range m.removedparent_hood {
ids = append(ids, id)
}
return ids
}
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *Mutation) ClearedEdges() []string {
edges := make([]string, 0, 7)
if m.clearedpets {
edges = append(edges, EdgePets)
}
if m.clearedgroups {
edges = append(edges, EdgeGroups)
}
if m.clearedfriends {
edges = append(edges, EdgeFriends)
}
if m.clearedparents {
edges = append(edges, EdgeParents)
}
if m.clearedchildren {
edges = append(edges, EdgeChildren)
}
if m.clearedfriendships {
edges = append(edges, EdgeFriendships)
}
if m.clearedparent_hood {
edges = append(edges, EdgeParentHood)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *Mutation) EdgeCleared(name string) bool {
switch name {
case EdgePets:
return m.clearedpets
case EdgeGroups:
return m.clearedgroups
case EdgeFriends:
return m.clearedfriends
case EdgeParents:
return m.clearedparents
case EdgeChildren:
return m.clearedchildren
case EdgeFriendships:
return m.clearedfriendships
case EdgeParentHood:
return m.clearedparent_hood
}
return false
}
// ClearEdge clears the value of the edge with the given name. It returns an error
// if that edge is not defined in the schema.
func (m *Mutation) ClearEdge(name string) error {
switch name {
}
return fmt.Errorf("unknown User unique edge %s", name)
}
// ResetEdge resets all changes to the edge with the given name in this mutation.
// It returns an error if the edge is not defined in the schema.
func (m *Mutation) ResetEdge(name string) error {
switch name {
case EdgePets:
m.ResetPets()
return nil
case EdgeGroups:
m.ResetGroups()
return nil
case EdgeFriends:
m.ResetFriends()
return nil
case EdgeParents:
m.ResetParents()
return nil
case EdgeChildren:
m.ResetChildren()
return nil
case EdgeFriendships:
m.ResetFriendships()
return nil
case EdgeParentHood:
m.ResetParentHood()
return nil
}
return fmt.Errorf("unknown User edge %s", name)
}

View File

@@ -0,0 +1,265 @@
// Copyright 2019-present Facebook Inc. All rights reserved.
// This source code is licensed under the Apache 2.0 license found
// in the LICENSE file in the root directory of this source tree.
// Code generated by ent, DO NOT EDIT.
package user
import (
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
)
const (
// Label holds the string label denoting the user type in the database.
Label = "user"
// FieldID holds the string denoting the id field in the database.
FieldID = "id"
// FieldName holds the string denoting the name field in the database.
FieldName = "name"
// EdgePets holds the string denoting the pets edge name in mutations.
EdgePets = "pets"
// EdgeGroups holds the string denoting the groups edge name in mutations.
EdgeGroups = "groups"
// EdgeFriends holds the string denoting the friends edge name in mutations.
EdgeFriends = "friends"
// EdgeParents holds the string denoting the parents edge name in mutations.
EdgeParents = "parents"
// EdgeChildren holds the string denoting the children edge name in mutations.
EdgeChildren = "children"
// EdgeFriendships holds the string denoting the friendships edge name in mutations.
EdgeFriendships = "friendships"
// EdgeParentHood holds the string denoting the parent_hood edge name in mutations.
EdgeParentHood = "parent_hood"
// Table holds the table name of the user in the database.
Table = "users"
// PetsTable is the table that holds the pets relation/edge.
PetsTable = "pets"
// PetsInverseTable is the table name for the Pet entity.
// It exists in this package in order to avoid circular dependency with the "pet" package.
PetsInverseTable = "pets"
// PetsColumn is the table column denoting the pets relation/edge.
PetsColumn = "owner_id"
// GroupsTable is the table that holds the groups relation/edge. The primary key declared below.
GroupsTable = "group_users"
// GroupsInverseTable is the table name for the Group entity.
// It exists in this package in order to avoid circular dependency with the "group" package.
GroupsInverseTable = "groups"
// FriendsTable is the table that holds the friends relation/edge. The primary key declared below.
FriendsTable = "friendships"
// ParentsTable is the table that holds the parents relation/edge. The primary key declared below.
ParentsTable = "parents"
// ChildrenTable is the table that holds the children relation/edge. The primary key declared below.
ChildrenTable = "parents"
// FriendshipsTable is the table that holds the friendships relation/edge.
FriendshipsTable = "friendships"
// FriendshipsInverseTable is the table name for the Friendship entity.
// It exists in this package in order to avoid circular dependency with the "friendship" package.
FriendshipsInverseTable = "friendships"
// FriendshipsColumn is the table column denoting the friendships relation/edge.
FriendshipsColumn = "user_id"
// ParentHoodTable is the table that holds the parent_hood relation/edge.
ParentHoodTable = "parents"
// ParentHoodInverseTable is the table name for the Parent entity.
// It exists in this package in order to avoid circular dependency with the "parent" package.
ParentHoodInverseTable = "parents"
// ParentHoodColumn is the table column denoting the parent_hood relation/edge.
ParentHoodColumn = "user_id"
)
// Columns holds all SQL columns for user fields.
var Columns = []string{
FieldID,
FieldName,
}
var (
// GroupsPrimaryKey and GroupsColumn2 are the table columns denoting the
// primary key for the groups relation (M2M).
GroupsPrimaryKey = []string{"group_id", "user_id"}
// FriendsPrimaryKey and FriendsColumn2 are the table columns denoting the
// primary key for the friends relation (M2M).
FriendsPrimaryKey = []string{"user_id", "friend_id"}
// ParentsPrimaryKey and ParentsColumn2 are the table columns denoting the
// primary key for the parents relation (M2M).
ParentsPrimaryKey = []string{"user_id", "parent_id"}
// ChildrenPrimaryKey and ChildrenColumn2 are the table columns denoting the
// primary key for the children relation (M2M).
ChildrenPrimaryKey = []string{"user_id", "parent_id"}
)
// ValidColumn reports if the column name is valid (part of the table columns).
func ValidColumn(column string) bool {
for i := range Columns {
if column == Columns[i] {
return true
}
}
return false
}
var (
// DefaultName holds the default value on creation for the "name" field.
DefaultName string
)
// OrderOption defines the ordering options for the User queries.
type OrderOption func(*sql.Selector)
// ByID orders the results by the id field.
func ByID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldID, opts...).ToFunc()
}
// ByName orders the results by the name field.
func ByName(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldName, opts...).ToFunc()
}
// ByPetsCount orders the results by pets count.
func ByPetsCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newPetsStep(), opts...)
}
}
// ByPets orders the results by pets terms.
func ByPets(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newPetsStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
// ByGroupsCount orders the results by groups count.
func ByGroupsCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newGroupsStep(), opts...)
}
}
// ByGroups orders the results by groups terms.
func ByGroups(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newGroupsStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
// ByFriendsCount orders the results by friends count.
func ByFriendsCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newFriendsStep(), opts...)
}
}
// ByFriends orders the results by friends terms.
func ByFriends(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newFriendsStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
// ByParentsCount orders the results by parents count.
func ByParentsCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newParentsStep(), opts...)
}
}
// ByParents orders the results by parents terms.
func ByParents(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newParentsStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
// ByChildrenCount orders the results by children count.
func ByChildrenCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newChildrenStep(), opts...)
}
}
// ByChildren orders the results by children terms.
func ByChildren(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newChildrenStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
// ByFriendshipsCount orders the results by friendships count.
func ByFriendshipsCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newFriendshipsStep(), opts...)
}
}
// ByFriendships orders the results by friendships terms.
func ByFriendships(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newFriendshipsStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
// ByParentHoodCount orders the results by parent_hood count.
func ByParentHoodCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborsCount(s, newParentHoodStep(), opts...)
}
}
// ByParentHood orders the results by parent_hood terms.
func ByParentHood(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newParentHoodStep(), append([]sql.OrderTerm{term}, terms...)...)
}
}
func newPetsStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(PetsInverseTable, FieldID),
sqlgraph.Edge(sqlgraph.O2M, false, PetsTable, PetsColumn),
)
}
func newGroupsStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(GroupsInverseTable, FieldID),
sqlgraph.Edge(sqlgraph.M2M, true, GroupsTable, GroupsPrimaryKey...),
)
}
func newFriendsStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, false, FriendsTable, FriendsPrimaryKey...),
)
}
func newParentsStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, true, ParentsTable, ParentsPrimaryKey...),
)
}
func newChildrenStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, false, ChildrenTable, ChildrenPrimaryKey...),
)
}
func newFriendshipsStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(FriendshipsInverseTable, FieldID),
sqlgraph.Edge(sqlgraph.O2M, true, FriendshipsTable, FriendshipsColumn),
)
}
func newParentHoodStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(ParentHoodInverseTable, FieldID),
sqlgraph.Edge(sqlgraph.O2M, true, ParentHoodTable, ParentHoodColumn),
)
}

View File

@@ -0,0 +1,347 @@
// Copyright 2019-present Facebook Inc. All rights reserved.
// This source code is licensed under the Apache 2.0 license found
// in the LICENSE file in the root directory of this source tree.
// Code generated by ent, DO NOT EDIT.
package user
import (
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/entc/integration/multischema/ent/internal"
"entgo.io/ent/entc/integration/multischema/ent/predicate"
)
// ID filters vertices based on their ID field.
func ID(id int) predicate.User {
return predicate.User(sql.FieldEQ(FieldID, id))
}
// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id int) predicate.User {
return predicate.User(sql.FieldEQ(FieldID, id))
}
// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id int) predicate.User {
return predicate.User(sql.FieldNEQ(FieldID, id))
}
// IDIn applies the In predicate on the ID field.
func IDIn(ids ...int) predicate.User {
return predicate.User(sql.FieldIn(FieldID, ids...))
}
// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...int) predicate.User {
return predicate.User(sql.FieldNotIn(FieldID, ids...))
}
// IDGT applies the GT predicate on the ID field.
func IDGT(id int) predicate.User {
return predicate.User(sql.FieldGT(FieldID, id))
}
// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id int) predicate.User {
return predicate.User(sql.FieldGTE(FieldID, id))
}
// IDLT applies the LT predicate on the ID field.
func IDLT(id int) predicate.User {
return predicate.User(sql.FieldLT(FieldID, id))
}
// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id int) predicate.User {
return predicate.User(sql.FieldLTE(FieldID, id))
}
// Name applies equality check predicate on the "name" field. It's identical to NameEQ.
func Name(v string) predicate.User {
return predicate.User(sql.FieldEQ(FieldName, v))
}
// NameEQ applies the EQ predicate on the "name" field.
func NameEQ(v string) predicate.User {
return predicate.User(sql.FieldEQ(FieldName, v))
}
// NameNEQ applies the NEQ predicate on the "name" field.
func NameNEQ(v string) predicate.User {
return predicate.User(sql.FieldNEQ(FieldName, v))
}
// NameIn applies the In predicate on the "name" field.
func NameIn(vs ...string) predicate.User {
return predicate.User(sql.FieldIn(FieldName, vs...))
}
// NameNotIn applies the NotIn predicate on the "name" field.
func NameNotIn(vs ...string) predicate.User {
return predicate.User(sql.FieldNotIn(FieldName, vs...))
}
// NameGT applies the GT predicate on the "name" field.
func NameGT(v string) predicate.User {
return predicate.User(sql.FieldGT(FieldName, v))
}
// NameGTE applies the GTE predicate on the "name" field.
func NameGTE(v string) predicate.User {
return predicate.User(sql.FieldGTE(FieldName, v))
}
// NameLT applies the LT predicate on the "name" field.
func NameLT(v string) predicate.User {
return predicate.User(sql.FieldLT(FieldName, v))
}
// NameLTE applies the LTE predicate on the "name" field.
func NameLTE(v string) predicate.User {
return predicate.User(sql.FieldLTE(FieldName, v))
}
// NameContains applies the Contains predicate on the "name" field.
func NameContains(v string) predicate.User {
return predicate.User(sql.FieldContains(FieldName, v))
}
// NameHasPrefix applies the HasPrefix predicate on the "name" field.
func NameHasPrefix(v string) predicate.User {
return predicate.User(sql.FieldHasPrefix(FieldName, v))
}
// NameHasSuffix applies the HasSuffix predicate on the "name" field.
func NameHasSuffix(v string) predicate.User {
return predicate.User(sql.FieldHasSuffix(FieldName, v))
}
// NameEqualFold applies the EqualFold predicate on the "name" field.
func NameEqualFold(v string) predicate.User {
return predicate.User(sql.FieldEqualFold(FieldName, v))
}
// NameContainsFold applies the ContainsFold predicate on the "name" field.
func NameContainsFold(v string) predicate.User {
return predicate.User(sql.FieldContainsFold(FieldName, v))
}
// HasPets applies the HasEdge predicate on the "pets" edge.
func HasPets() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.O2M, false, PetsTable, PetsColumn),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Pet
step.Edge.Schema = schemaConfig.Pet
sqlgraph.HasNeighbors(s, step)
})
}
// HasPetsWith applies the HasEdge predicate on the "pets" edge with a given conditions (other predicates).
func HasPetsWith(preds ...predicate.Pet) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newPetsStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Pet
step.Edge.Schema = schemaConfig.Pet
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// HasGroups applies the HasEdge predicate on the "groups" edge.
func HasGroups() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, true, GroupsTable, GroupsPrimaryKey...),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Group
step.Edge.Schema = schemaConfig.GroupUsers
sqlgraph.HasNeighbors(s, step)
})
}
// HasGroupsWith applies the HasEdge predicate on the "groups" edge with a given conditions (other predicates).
func HasGroupsWith(preds ...predicate.Group) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newGroupsStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Group
step.Edge.Schema = schemaConfig.GroupUsers
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// HasFriends applies the HasEdge predicate on the "friends" edge.
func HasFriends() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, false, FriendsTable, FriendsPrimaryKey...),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.User
step.Edge.Schema = schemaConfig.Friendship
sqlgraph.HasNeighbors(s, step)
})
}
// HasFriendsWith applies the HasEdge predicate on the "friends" edge with a given conditions (other predicates).
func HasFriendsWith(preds ...predicate.User) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newFriendsStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.User
step.Edge.Schema = schemaConfig.Friendship
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// HasParents applies the HasEdge predicate on the "parents" edge.
func HasParents() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, true, ParentsTable, ParentsPrimaryKey...),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.User
step.Edge.Schema = schemaConfig.UserChildren
sqlgraph.HasNeighbors(s, step)
})
}
// HasParentsWith applies the HasEdge predicate on the "parents" edge with a given conditions (other predicates).
func HasParentsWith(preds ...predicate.User) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newParentsStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.User
step.Edge.Schema = schemaConfig.UserChildren
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// HasChildren applies the HasEdge predicate on the "children" edge.
func HasChildren() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2M, false, ChildrenTable, ChildrenPrimaryKey...),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.User
step.Edge.Schema = schemaConfig.Parent
sqlgraph.HasNeighbors(s, step)
})
}
// HasChildrenWith applies the HasEdge predicate on the "children" edge with a given conditions (other predicates).
func HasChildrenWith(preds ...predicate.User) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newChildrenStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.User
step.Edge.Schema = schemaConfig.Parent
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// HasFriendships applies the HasEdge predicate on the "friendships" edge.
func HasFriendships() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.O2M, true, FriendshipsTable, FriendshipsColumn),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Friendship
step.Edge.Schema = schemaConfig.Friendship
sqlgraph.HasNeighbors(s, step)
})
}
// HasFriendshipsWith applies the HasEdge predicate on the "friendships" edge with a given conditions (other predicates).
func HasFriendshipsWith(preds ...predicate.Friendship) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newFriendshipsStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Friendship
step.Edge.Schema = schemaConfig.Friendship
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// HasParentHood applies the HasEdge predicate on the "parent_hood" edge.
func HasParentHood() predicate.User {
return predicate.User(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.O2M, true, ParentHoodTable, ParentHoodColumn),
)
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Parent
step.Edge.Schema = schemaConfig.Parent
sqlgraph.HasNeighbors(s, step)
})
}
// HasParentHoodWith applies the HasEdge predicate on the "parent_hood" edge with a given conditions (other predicates).
func HasParentHoodWith(preds ...predicate.Parent) predicate.User {
return predicate.User(func(s *sql.Selector) {
step := newParentHoodStep()
schemaConfig := internal.SchemaConfigFromContext(s.Context())
step.To.Schema = schemaConfig.Parent
step.Edge.Schema = schemaConfig.Parent
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)
}
})
})
}
// And groups predicates with the AND operator between them.
func And(predicates ...predicate.User) predicate.User {
return predicate.User(sql.AndPredicates(predicates...))
}
// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.User) predicate.User {
return predicate.User(sql.OrPredicates(predicates...))
}
// Not applies the not operator on the given predicate.
func Not(p predicate.User) predicate.User {
return predicate.User(sql.NotPredicates(p))
}