Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
陈曦
sub2api
Commits
6cc7f997
Commit
6cc7f997
authored
Jan 02, 2026
by
song
Browse files
merge: 合并 upstream/main
parents
95d09f60
106e59b7
Changes
135
Hide whitespace changes
Inline
Side-by-side
backend/ent/userattributedefinition.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"encoding/json"
"fmt"
"strings"
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
)
// UserAttributeDefinition is the model entity for the UserAttributeDefinition schema.
type
UserAttributeDefinition
struct
{
config
`json:"-"`
// ID of the ent.
ID
int64
`json:"id,omitempty"`
// CreatedAt holds the value of the "created_at" field.
CreatedAt
time
.
Time
`json:"created_at,omitempty"`
// UpdatedAt holds the value of the "updated_at" field.
UpdatedAt
time
.
Time
`json:"updated_at,omitempty"`
// DeletedAt holds the value of the "deleted_at" field.
DeletedAt
*
time
.
Time
`json:"deleted_at,omitempty"`
// Key holds the value of the "key" field.
Key
string
`json:"key,omitempty"`
// Name holds the value of the "name" field.
Name
string
`json:"name,omitempty"`
// Description holds the value of the "description" field.
Description
string
`json:"description,omitempty"`
// Type holds the value of the "type" field.
Type
string
`json:"type,omitempty"`
// Options holds the value of the "options" field.
Options
[]
map
[
string
]
interface
{}
`json:"options,omitempty"`
// Required holds the value of the "required" field.
Required
bool
`json:"required,omitempty"`
// Validation holds the value of the "validation" field.
Validation
map
[
string
]
interface
{}
`json:"validation,omitempty"`
// Placeholder holds the value of the "placeholder" field.
Placeholder
string
`json:"placeholder,omitempty"`
// DisplayOrder holds the value of the "display_order" field.
DisplayOrder
int
`json:"display_order,omitempty"`
// Enabled holds the value of the "enabled" field.
Enabled
bool
`json:"enabled,omitempty"`
// Edges holds the relations/edges for other nodes in the graph.
// The values are being populated by the UserAttributeDefinitionQuery when eager-loading is set.
Edges
UserAttributeDefinitionEdges
`json:"edges"`
selectValues
sql
.
SelectValues
}
// UserAttributeDefinitionEdges holds the relations/edges for other nodes in the graph.
type
UserAttributeDefinitionEdges
struct
{
// Values holds the value of the values edge.
Values
[]
*
UserAttributeValue
`json:"values,omitempty"`
// loadedTypes holds the information for reporting if a
// type was loaded (or requested) in eager-loading or not.
loadedTypes
[
1
]
bool
}
// ValuesOrErr returns the Values value or an error if the edge
// was not loaded in eager-loading.
func
(
e
UserAttributeDefinitionEdges
)
ValuesOrErr
()
([]
*
UserAttributeValue
,
error
)
{
if
e
.
loadedTypes
[
0
]
{
return
e
.
Values
,
nil
}
return
nil
,
&
NotLoadedError
{
edge
:
"values"
}
}
// scanValues returns the types for scanning values from sql.Rows.
func
(
*
UserAttributeDefinition
)
scanValues
(
columns
[]
string
)
([]
any
,
error
)
{
values
:=
make
([]
any
,
len
(
columns
))
for
i
:=
range
columns
{
switch
columns
[
i
]
{
case
userattributedefinition
.
FieldOptions
,
userattributedefinition
.
FieldValidation
:
values
[
i
]
=
new
([]
byte
)
case
userattributedefinition
.
FieldRequired
,
userattributedefinition
.
FieldEnabled
:
values
[
i
]
=
new
(
sql
.
NullBool
)
case
userattributedefinition
.
FieldID
,
userattributedefinition
.
FieldDisplayOrder
:
values
[
i
]
=
new
(
sql
.
NullInt64
)
case
userattributedefinition
.
FieldKey
,
userattributedefinition
.
FieldName
,
userattributedefinition
.
FieldDescription
,
userattributedefinition
.
FieldType
,
userattributedefinition
.
FieldPlaceholder
:
values
[
i
]
=
new
(
sql
.
NullString
)
case
userattributedefinition
.
FieldCreatedAt
,
userattributedefinition
.
FieldUpdatedAt
,
userattributedefinition
.
FieldDeletedAt
:
values
[
i
]
=
new
(
sql
.
NullTime
)
default
:
values
[
i
]
=
new
(
sql
.
UnknownType
)
}
}
return
values
,
nil
}
// assignValues assigns the values that were returned from sql.Rows (after scanning)
// to the UserAttributeDefinition fields.
func
(
_m
*
UserAttributeDefinition
)
assignValues
(
columns
[]
string
,
values
[]
any
)
error
{
if
m
,
n
:=
len
(
values
),
len
(
columns
);
m
<
n
{
return
fmt
.
Errorf
(
"mismatch number of scan values: %d != %d"
,
m
,
n
)
}
for
i
:=
range
columns
{
switch
columns
[
i
]
{
case
userattributedefinition
.
FieldID
:
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullInt64
)
if
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field id"
,
value
)
}
_m
.
ID
=
int64
(
value
.
Int64
)
case
userattributedefinition
.
FieldCreatedAt
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullTime
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field created_at"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
CreatedAt
=
value
.
Time
}
case
userattributedefinition
.
FieldUpdatedAt
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullTime
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field updated_at"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
UpdatedAt
=
value
.
Time
}
case
userattributedefinition
.
FieldDeletedAt
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullTime
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field deleted_at"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
DeletedAt
=
new
(
time
.
Time
)
*
_m
.
DeletedAt
=
value
.
Time
}
case
userattributedefinition
.
FieldKey
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullString
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field key"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Key
=
value
.
String
}
case
userattributedefinition
.
FieldName
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullString
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field name"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Name
=
value
.
String
}
case
userattributedefinition
.
FieldDescription
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullString
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field description"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Description
=
value
.
String
}
case
userattributedefinition
.
FieldType
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullString
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field type"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Type
=
value
.
String
}
case
userattributedefinition
.
FieldOptions
:
if
value
,
ok
:=
values
[
i
]
.
(
*
[]
byte
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field options"
,
values
[
i
])
}
else
if
value
!=
nil
&&
len
(
*
value
)
>
0
{
if
err
:=
json
.
Unmarshal
(
*
value
,
&
_m
.
Options
);
err
!=
nil
{
return
fmt
.
Errorf
(
"unmarshal field options: %w"
,
err
)
}
}
case
userattributedefinition
.
FieldRequired
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullBool
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field required"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Required
=
value
.
Bool
}
case
userattributedefinition
.
FieldValidation
:
if
value
,
ok
:=
values
[
i
]
.
(
*
[]
byte
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field validation"
,
values
[
i
])
}
else
if
value
!=
nil
&&
len
(
*
value
)
>
0
{
if
err
:=
json
.
Unmarshal
(
*
value
,
&
_m
.
Validation
);
err
!=
nil
{
return
fmt
.
Errorf
(
"unmarshal field validation: %w"
,
err
)
}
}
case
userattributedefinition
.
FieldPlaceholder
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullString
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field placeholder"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Placeholder
=
value
.
String
}
case
userattributedefinition
.
FieldDisplayOrder
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullInt64
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field display_order"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
DisplayOrder
=
int
(
value
.
Int64
)
}
case
userattributedefinition
.
FieldEnabled
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullBool
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field enabled"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Enabled
=
value
.
Bool
}
default
:
_m
.
selectValues
.
Set
(
columns
[
i
],
values
[
i
])
}
}
return
nil
}
// Value returns the ent.Value that was dynamically selected and assigned to the UserAttributeDefinition.
// This includes values selected through modifiers, order, etc.
func
(
_m
*
UserAttributeDefinition
)
Value
(
name
string
)
(
ent
.
Value
,
error
)
{
return
_m
.
selectValues
.
Get
(
name
)
}
// QueryValues queries the "values" edge of the UserAttributeDefinition entity.
func
(
_m
*
UserAttributeDefinition
)
QueryValues
()
*
UserAttributeValueQuery
{
return
NewUserAttributeDefinitionClient
(
_m
.
config
)
.
QueryValues
(
_m
)
}
// Update returns a builder for updating this UserAttributeDefinition.
// Note that you need to call UserAttributeDefinition.Unwrap() before calling this method if this UserAttributeDefinition
// was returned from a transaction, and the transaction was committed or rolled back.
func
(
_m
*
UserAttributeDefinition
)
Update
()
*
UserAttributeDefinitionUpdateOne
{
return
NewUserAttributeDefinitionClient
(
_m
.
config
)
.
UpdateOne
(
_m
)
}
// Unwrap unwraps the UserAttributeDefinition entity that was returned from a transaction after it was closed,
// so that all future queries will be executed through the driver which created the transaction.
func
(
_m
*
UserAttributeDefinition
)
Unwrap
()
*
UserAttributeDefinition
{
_tx
,
ok
:=
_m
.
config
.
driver
.
(
*
txDriver
)
if
!
ok
{
panic
(
"ent: UserAttributeDefinition is not a transactional entity"
)
}
_m
.
config
.
driver
=
_tx
.
drv
return
_m
}
// String implements the fmt.Stringer.
func
(
_m
*
UserAttributeDefinition
)
String
()
string
{
var
builder
strings
.
Builder
builder
.
WriteString
(
"UserAttributeDefinition("
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"id=%v, "
,
_m
.
ID
))
builder
.
WriteString
(
"created_at="
)
builder
.
WriteString
(
_m
.
CreatedAt
.
Format
(
time
.
ANSIC
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"updated_at="
)
builder
.
WriteString
(
_m
.
UpdatedAt
.
Format
(
time
.
ANSIC
))
builder
.
WriteString
(
", "
)
if
v
:=
_m
.
DeletedAt
;
v
!=
nil
{
builder
.
WriteString
(
"deleted_at="
)
builder
.
WriteString
(
v
.
Format
(
time
.
ANSIC
))
}
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"key="
)
builder
.
WriteString
(
_m
.
Key
)
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"name="
)
builder
.
WriteString
(
_m
.
Name
)
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"description="
)
builder
.
WriteString
(
_m
.
Description
)
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"type="
)
builder
.
WriteString
(
_m
.
Type
)
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"options="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
Options
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"required="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
Required
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"validation="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
Validation
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"placeholder="
)
builder
.
WriteString
(
_m
.
Placeholder
)
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"display_order="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
DisplayOrder
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"enabled="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
Enabled
))
builder
.
WriteByte
(
')'
)
return
builder
.
String
()
}
// UserAttributeDefinitions is a parsable slice of UserAttributeDefinition.
type
UserAttributeDefinitions
[]
*
UserAttributeDefinition
backend/ent/userattributedefinition/userattributedefinition.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
userattributedefinition
import
(
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
)
const
(
// Label holds the string label denoting the userattributedefinition type in the database.
Label
=
"user_attribute_definition"
// FieldID holds the string denoting the id field in the database.
FieldID
=
"id"
// FieldCreatedAt holds the string denoting the created_at field in the database.
FieldCreatedAt
=
"created_at"
// FieldUpdatedAt holds the string denoting the updated_at field in the database.
FieldUpdatedAt
=
"updated_at"
// FieldDeletedAt holds the string denoting the deleted_at field in the database.
FieldDeletedAt
=
"deleted_at"
// FieldKey holds the string denoting the key field in the database.
FieldKey
=
"key"
// FieldName holds the string denoting the name field in the database.
FieldName
=
"name"
// FieldDescription holds the string denoting the description field in the database.
FieldDescription
=
"description"
// FieldType holds the string denoting the type field in the database.
FieldType
=
"type"
// FieldOptions holds the string denoting the options field in the database.
FieldOptions
=
"options"
// FieldRequired holds the string denoting the required field in the database.
FieldRequired
=
"required"
// FieldValidation holds the string denoting the validation field in the database.
FieldValidation
=
"validation"
// FieldPlaceholder holds the string denoting the placeholder field in the database.
FieldPlaceholder
=
"placeholder"
// FieldDisplayOrder holds the string denoting the display_order field in the database.
FieldDisplayOrder
=
"display_order"
// FieldEnabled holds the string denoting the enabled field in the database.
FieldEnabled
=
"enabled"
// EdgeValues holds the string denoting the values edge name in mutations.
EdgeValues
=
"values"
// Table holds the table name of the userattributedefinition in the database.
Table
=
"user_attribute_definitions"
// ValuesTable is the table that holds the values relation/edge.
ValuesTable
=
"user_attribute_values"
// ValuesInverseTable is the table name for the UserAttributeValue entity.
// It exists in this package in order to avoid circular dependency with the "userattributevalue" package.
ValuesInverseTable
=
"user_attribute_values"
// ValuesColumn is the table column denoting the values relation/edge.
ValuesColumn
=
"attribute_id"
)
// Columns holds all SQL columns for userattributedefinition fields.
var
Columns
=
[]
string
{
FieldID
,
FieldCreatedAt
,
FieldUpdatedAt
,
FieldDeletedAt
,
FieldKey
,
FieldName
,
FieldDescription
,
FieldType
,
FieldOptions
,
FieldRequired
,
FieldValidation
,
FieldPlaceholder
,
FieldDisplayOrder
,
FieldEnabled
,
}
// 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
}
// Note that the variables below are initialized by the runtime
// package on the initialization of the application. Therefore,
// it should be imported in the main as follows:
//
// import _ "github.com/Wei-Shaw/sub2api/ent/runtime"
var
(
Hooks
[
1
]
ent
.
Hook
Interceptors
[
1
]
ent
.
Interceptor
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
DefaultCreatedAt
func
()
time
.
Time
// DefaultUpdatedAt holds the default value on creation for the "updated_at" field.
DefaultUpdatedAt
func
()
time
.
Time
// UpdateDefaultUpdatedAt holds the default value on update for the "updated_at" field.
UpdateDefaultUpdatedAt
func
()
time
.
Time
// KeyValidator is a validator for the "key" field. It is called by the builders before save.
KeyValidator
func
(
string
)
error
// NameValidator is a validator for the "name" field. It is called by the builders before save.
NameValidator
func
(
string
)
error
// DefaultDescription holds the default value on creation for the "description" field.
DefaultDescription
string
// TypeValidator is a validator for the "type" field. It is called by the builders before save.
TypeValidator
func
(
string
)
error
// DefaultOptions holds the default value on creation for the "options" field.
DefaultOptions
[]
map
[
string
]
interface
{}
// DefaultRequired holds the default value on creation for the "required" field.
DefaultRequired
bool
// DefaultValidation holds the default value on creation for the "validation" field.
DefaultValidation
map
[
string
]
interface
{}
// DefaultPlaceholder holds the default value on creation for the "placeholder" field.
DefaultPlaceholder
string
// PlaceholderValidator is a validator for the "placeholder" field. It is called by the builders before save.
PlaceholderValidator
func
(
string
)
error
// DefaultDisplayOrder holds the default value on creation for the "display_order" field.
DefaultDisplayOrder
int
// DefaultEnabled holds the default value on creation for the "enabled" field.
DefaultEnabled
bool
)
// OrderOption defines the ordering options for the UserAttributeDefinition 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
()
}
// ByCreatedAt orders the results by the created_at field.
func
ByCreatedAt
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldCreatedAt
,
opts
...
)
.
ToFunc
()
}
// ByUpdatedAt orders the results by the updated_at field.
func
ByUpdatedAt
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldUpdatedAt
,
opts
...
)
.
ToFunc
()
}
// ByDeletedAt orders the results by the deleted_at field.
func
ByDeletedAt
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldDeletedAt
,
opts
...
)
.
ToFunc
()
}
// ByKey orders the results by the key field.
func
ByKey
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldKey
,
opts
...
)
.
ToFunc
()
}
// ByName orders the results by the name field.
func
ByName
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldName
,
opts
...
)
.
ToFunc
()
}
// ByDescription orders the results by the description field.
func
ByDescription
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldDescription
,
opts
...
)
.
ToFunc
()
}
// ByType orders the results by the type field.
func
ByType
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldType
,
opts
...
)
.
ToFunc
()
}
// ByRequired orders the results by the required field.
func
ByRequired
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldRequired
,
opts
...
)
.
ToFunc
()
}
// ByPlaceholder orders the results by the placeholder field.
func
ByPlaceholder
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldPlaceholder
,
opts
...
)
.
ToFunc
()
}
// ByDisplayOrder orders the results by the display_order field.
func
ByDisplayOrder
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldDisplayOrder
,
opts
...
)
.
ToFunc
()
}
// ByEnabled orders the results by the enabled field.
func
ByEnabled
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldEnabled
,
opts
...
)
.
ToFunc
()
}
// ByValuesCount orders the results by values count.
func
ByValuesCount
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
func
(
s
*
sql
.
Selector
)
{
sqlgraph
.
OrderByNeighborsCount
(
s
,
newValuesStep
(),
opts
...
)
}
}
// ByValues orders the results by values terms.
func
ByValues
(
term
sql
.
OrderTerm
,
terms
...
sql
.
OrderTerm
)
OrderOption
{
return
func
(
s
*
sql
.
Selector
)
{
sqlgraph
.
OrderByNeighborTerms
(
s
,
newValuesStep
(),
append
([]
sql
.
OrderTerm
{
term
},
terms
...
)
...
)
}
}
func
newValuesStep
()
*
sqlgraph
.
Step
{
return
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
Table
,
FieldID
),
sqlgraph
.
To
(
ValuesInverseTable
,
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
O2M
,
false
,
ValuesTable
,
ValuesColumn
),
)
}
backend/ent/userattributedefinition/where.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
userattributedefinition
import
(
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"github.com/Wei-Shaw/sub2api/ent/predicate"
)
// ID filters vertices based on their ID field.
func
ID
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldID
,
id
))
}
// IDEQ applies the EQ predicate on the ID field.
func
IDEQ
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldID
,
id
))
}
// IDNEQ applies the NEQ predicate on the ID field.
func
IDNEQ
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldID
,
id
))
}
// IDIn applies the In predicate on the ID field.
func
IDIn
(
ids
...
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldID
,
ids
...
))
}
// IDNotIn applies the NotIn predicate on the ID field.
func
IDNotIn
(
ids
...
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldID
,
ids
...
))
}
// IDGT applies the GT predicate on the ID field.
func
IDGT
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldID
,
id
))
}
// IDGTE applies the GTE predicate on the ID field.
func
IDGTE
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldID
,
id
))
}
// IDLT applies the LT predicate on the ID field.
func
IDLT
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldID
,
id
))
}
// IDLTE applies the LTE predicate on the ID field.
func
IDLTE
(
id
int64
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldID
,
id
))
}
// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func
CreatedAt
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldCreatedAt
,
v
))
}
// UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ.
func
UpdatedAt
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldUpdatedAt
,
v
))
}
// DeletedAt applies equality check predicate on the "deleted_at" field. It's identical to DeletedAtEQ.
func
DeletedAt
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldDeletedAt
,
v
))
}
// Key applies equality check predicate on the "key" field. It's identical to KeyEQ.
func
Key
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldKey
,
v
))
}
// Name applies equality check predicate on the "name" field. It's identical to NameEQ.
func
Name
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldName
,
v
))
}
// Description applies equality check predicate on the "description" field. It's identical to DescriptionEQ.
func
Description
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldDescription
,
v
))
}
// Type applies equality check predicate on the "type" field. It's identical to TypeEQ.
func
Type
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldType
,
v
))
}
// Required applies equality check predicate on the "required" field. It's identical to RequiredEQ.
func
Required
(
v
bool
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldRequired
,
v
))
}
// Placeholder applies equality check predicate on the "placeholder" field. It's identical to PlaceholderEQ.
func
Placeholder
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldPlaceholder
,
v
))
}
// DisplayOrder applies equality check predicate on the "display_order" field. It's identical to DisplayOrderEQ.
func
DisplayOrder
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldDisplayOrder
,
v
))
}
// Enabled applies equality check predicate on the "enabled" field. It's identical to EnabledEQ.
func
Enabled
(
v
bool
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldEnabled
,
v
))
}
// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func
CreatedAtEQ
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldCreatedAt
,
v
))
}
// CreatedAtNEQ applies the NEQ predicate on the "created_at" field.
func
CreatedAtNEQ
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldCreatedAt
,
v
))
}
// CreatedAtIn applies the In predicate on the "created_at" field.
func
CreatedAtIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldCreatedAt
,
vs
...
))
}
// CreatedAtNotIn applies the NotIn predicate on the "created_at" field.
func
CreatedAtNotIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldCreatedAt
,
vs
...
))
}
// CreatedAtGT applies the GT predicate on the "created_at" field.
func
CreatedAtGT
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldCreatedAt
,
v
))
}
// CreatedAtGTE applies the GTE predicate on the "created_at" field.
func
CreatedAtGTE
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldCreatedAt
,
v
))
}
// CreatedAtLT applies the LT predicate on the "created_at" field.
func
CreatedAtLT
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldCreatedAt
,
v
))
}
// CreatedAtLTE applies the LTE predicate on the "created_at" field.
func
CreatedAtLTE
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldCreatedAt
,
v
))
}
// UpdatedAtEQ applies the EQ predicate on the "updated_at" field.
func
UpdatedAtEQ
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field.
func
UpdatedAtNEQ
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtIn applies the In predicate on the "updated_at" field.
func
UpdatedAtIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldUpdatedAt
,
vs
...
))
}
// UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field.
func
UpdatedAtNotIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldUpdatedAt
,
vs
...
))
}
// UpdatedAtGT applies the GT predicate on the "updated_at" field.
func
UpdatedAtGT
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtGTE applies the GTE predicate on the "updated_at" field.
func
UpdatedAtGTE
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtLT applies the LT predicate on the "updated_at" field.
func
UpdatedAtLT
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtLTE applies the LTE predicate on the "updated_at" field.
func
UpdatedAtLTE
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldUpdatedAt
,
v
))
}
// DeletedAtEQ applies the EQ predicate on the "deleted_at" field.
func
DeletedAtEQ
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldDeletedAt
,
v
))
}
// DeletedAtNEQ applies the NEQ predicate on the "deleted_at" field.
func
DeletedAtNEQ
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldDeletedAt
,
v
))
}
// DeletedAtIn applies the In predicate on the "deleted_at" field.
func
DeletedAtIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldDeletedAt
,
vs
...
))
}
// DeletedAtNotIn applies the NotIn predicate on the "deleted_at" field.
func
DeletedAtNotIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldDeletedAt
,
vs
...
))
}
// DeletedAtGT applies the GT predicate on the "deleted_at" field.
func
DeletedAtGT
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldDeletedAt
,
v
))
}
// DeletedAtGTE applies the GTE predicate on the "deleted_at" field.
func
DeletedAtGTE
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldDeletedAt
,
v
))
}
// DeletedAtLT applies the LT predicate on the "deleted_at" field.
func
DeletedAtLT
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldDeletedAt
,
v
))
}
// DeletedAtLTE applies the LTE predicate on the "deleted_at" field.
func
DeletedAtLTE
(
v
time
.
Time
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldDeletedAt
,
v
))
}
// DeletedAtIsNil applies the IsNil predicate on the "deleted_at" field.
func
DeletedAtIsNil
()
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIsNull
(
FieldDeletedAt
))
}
// DeletedAtNotNil applies the NotNil predicate on the "deleted_at" field.
func
DeletedAtNotNil
()
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotNull
(
FieldDeletedAt
))
}
// KeyEQ applies the EQ predicate on the "key" field.
func
KeyEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldKey
,
v
))
}
// KeyNEQ applies the NEQ predicate on the "key" field.
func
KeyNEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldKey
,
v
))
}
// KeyIn applies the In predicate on the "key" field.
func
KeyIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldKey
,
vs
...
))
}
// KeyNotIn applies the NotIn predicate on the "key" field.
func
KeyNotIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldKey
,
vs
...
))
}
// KeyGT applies the GT predicate on the "key" field.
func
KeyGT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldKey
,
v
))
}
// KeyGTE applies the GTE predicate on the "key" field.
func
KeyGTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldKey
,
v
))
}
// KeyLT applies the LT predicate on the "key" field.
func
KeyLT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldKey
,
v
))
}
// KeyLTE applies the LTE predicate on the "key" field.
func
KeyLTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldKey
,
v
))
}
// KeyContains applies the Contains predicate on the "key" field.
func
KeyContains
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContains
(
FieldKey
,
v
))
}
// KeyHasPrefix applies the HasPrefix predicate on the "key" field.
func
KeyHasPrefix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasPrefix
(
FieldKey
,
v
))
}
// KeyHasSuffix applies the HasSuffix predicate on the "key" field.
func
KeyHasSuffix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasSuffix
(
FieldKey
,
v
))
}
// KeyEqualFold applies the EqualFold predicate on the "key" field.
func
KeyEqualFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEqualFold
(
FieldKey
,
v
))
}
// KeyContainsFold applies the ContainsFold predicate on the "key" field.
func
KeyContainsFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContainsFold
(
FieldKey
,
v
))
}
// NameEQ applies the EQ predicate on the "name" field.
func
NameEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldName
,
v
))
}
// NameNEQ applies the NEQ predicate on the "name" field.
func
NameNEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldName
,
v
))
}
// NameIn applies the In predicate on the "name" field.
func
NameIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldName
,
vs
...
))
}
// NameNotIn applies the NotIn predicate on the "name" field.
func
NameNotIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldName
,
vs
...
))
}
// NameGT applies the GT predicate on the "name" field.
func
NameGT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldName
,
v
))
}
// NameGTE applies the GTE predicate on the "name" field.
func
NameGTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldName
,
v
))
}
// NameLT applies the LT predicate on the "name" field.
func
NameLT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldName
,
v
))
}
// NameLTE applies the LTE predicate on the "name" field.
func
NameLTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldName
,
v
))
}
// NameContains applies the Contains predicate on the "name" field.
func
NameContains
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContains
(
FieldName
,
v
))
}
// NameHasPrefix applies the HasPrefix predicate on the "name" field.
func
NameHasPrefix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasPrefix
(
FieldName
,
v
))
}
// NameHasSuffix applies the HasSuffix predicate on the "name" field.
func
NameHasSuffix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasSuffix
(
FieldName
,
v
))
}
// NameEqualFold applies the EqualFold predicate on the "name" field.
func
NameEqualFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEqualFold
(
FieldName
,
v
))
}
// NameContainsFold applies the ContainsFold predicate on the "name" field.
func
NameContainsFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContainsFold
(
FieldName
,
v
))
}
// DescriptionEQ applies the EQ predicate on the "description" field.
func
DescriptionEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldDescription
,
v
))
}
// DescriptionNEQ applies the NEQ predicate on the "description" field.
func
DescriptionNEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldDescription
,
v
))
}
// DescriptionIn applies the In predicate on the "description" field.
func
DescriptionIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldDescription
,
vs
...
))
}
// DescriptionNotIn applies the NotIn predicate on the "description" field.
func
DescriptionNotIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldDescription
,
vs
...
))
}
// DescriptionGT applies the GT predicate on the "description" field.
func
DescriptionGT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldDescription
,
v
))
}
// DescriptionGTE applies the GTE predicate on the "description" field.
func
DescriptionGTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldDescription
,
v
))
}
// DescriptionLT applies the LT predicate on the "description" field.
func
DescriptionLT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldDescription
,
v
))
}
// DescriptionLTE applies the LTE predicate on the "description" field.
func
DescriptionLTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldDescription
,
v
))
}
// DescriptionContains applies the Contains predicate on the "description" field.
func
DescriptionContains
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContains
(
FieldDescription
,
v
))
}
// DescriptionHasPrefix applies the HasPrefix predicate on the "description" field.
func
DescriptionHasPrefix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasPrefix
(
FieldDescription
,
v
))
}
// DescriptionHasSuffix applies the HasSuffix predicate on the "description" field.
func
DescriptionHasSuffix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasSuffix
(
FieldDescription
,
v
))
}
// DescriptionEqualFold applies the EqualFold predicate on the "description" field.
func
DescriptionEqualFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEqualFold
(
FieldDescription
,
v
))
}
// DescriptionContainsFold applies the ContainsFold predicate on the "description" field.
func
DescriptionContainsFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContainsFold
(
FieldDescription
,
v
))
}
// TypeEQ applies the EQ predicate on the "type" field.
func
TypeEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldType
,
v
))
}
// TypeNEQ applies the NEQ predicate on the "type" field.
func
TypeNEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldType
,
v
))
}
// TypeIn applies the In predicate on the "type" field.
func
TypeIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldType
,
vs
...
))
}
// TypeNotIn applies the NotIn predicate on the "type" field.
func
TypeNotIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldType
,
vs
...
))
}
// TypeGT applies the GT predicate on the "type" field.
func
TypeGT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldType
,
v
))
}
// TypeGTE applies the GTE predicate on the "type" field.
func
TypeGTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldType
,
v
))
}
// TypeLT applies the LT predicate on the "type" field.
func
TypeLT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldType
,
v
))
}
// TypeLTE applies the LTE predicate on the "type" field.
func
TypeLTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldType
,
v
))
}
// TypeContains applies the Contains predicate on the "type" field.
func
TypeContains
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContains
(
FieldType
,
v
))
}
// TypeHasPrefix applies the HasPrefix predicate on the "type" field.
func
TypeHasPrefix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasPrefix
(
FieldType
,
v
))
}
// TypeHasSuffix applies the HasSuffix predicate on the "type" field.
func
TypeHasSuffix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasSuffix
(
FieldType
,
v
))
}
// TypeEqualFold applies the EqualFold predicate on the "type" field.
func
TypeEqualFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEqualFold
(
FieldType
,
v
))
}
// TypeContainsFold applies the ContainsFold predicate on the "type" field.
func
TypeContainsFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContainsFold
(
FieldType
,
v
))
}
// RequiredEQ applies the EQ predicate on the "required" field.
func
RequiredEQ
(
v
bool
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldRequired
,
v
))
}
// RequiredNEQ applies the NEQ predicate on the "required" field.
func
RequiredNEQ
(
v
bool
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldRequired
,
v
))
}
// PlaceholderEQ applies the EQ predicate on the "placeholder" field.
func
PlaceholderEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldPlaceholder
,
v
))
}
// PlaceholderNEQ applies the NEQ predicate on the "placeholder" field.
func
PlaceholderNEQ
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldPlaceholder
,
v
))
}
// PlaceholderIn applies the In predicate on the "placeholder" field.
func
PlaceholderIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldPlaceholder
,
vs
...
))
}
// PlaceholderNotIn applies the NotIn predicate on the "placeholder" field.
func
PlaceholderNotIn
(
vs
...
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldPlaceholder
,
vs
...
))
}
// PlaceholderGT applies the GT predicate on the "placeholder" field.
func
PlaceholderGT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldPlaceholder
,
v
))
}
// PlaceholderGTE applies the GTE predicate on the "placeholder" field.
func
PlaceholderGTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldPlaceholder
,
v
))
}
// PlaceholderLT applies the LT predicate on the "placeholder" field.
func
PlaceholderLT
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldPlaceholder
,
v
))
}
// PlaceholderLTE applies the LTE predicate on the "placeholder" field.
func
PlaceholderLTE
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldPlaceholder
,
v
))
}
// PlaceholderContains applies the Contains predicate on the "placeholder" field.
func
PlaceholderContains
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContains
(
FieldPlaceholder
,
v
))
}
// PlaceholderHasPrefix applies the HasPrefix predicate on the "placeholder" field.
func
PlaceholderHasPrefix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasPrefix
(
FieldPlaceholder
,
v
))
}
// PlaceholderHasSuffix applies the HasSuffix predicate on the "placeholder" field.
func
PlaceholderHasSuffix
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldHasSuffix
(
FieldPlaceholder
,
v
))
}
// PlaceholderEqualFold applies the EqualFold predicate on the "placeholder" field.
func
PlaceholderEqualFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEqualFold
(
FieldPlaceholder
,
v
))
}
// PlaceholderContainsFold applies the ContainsFold predicate on the "placeholder" field.
func
PlaceholderContainsFold
(
v
string
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldContainsFold
(
FieldPlaceholder
,
v
))
}
// DisplayOrderEQ applies the EQ predicate on the "display_order" field.
func
DisplayOrderEQ
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldDisplayOrder
,
v
))
}
// DisplayOrderNEQ applies the NEQ predicate on the "display_order" field.
func
DisplayOrderNEQ
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldDisplayOrder
,
v
))
}
// DisplayOrderIn applies the In predicate on the "display_order" field.
func
DisplayOrderIn
(
vs
...
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldIn
(
FieldDisplayOrder
,
vs
...
))
}
// DisplayOrderNotIn applies the NotIn predicate on the "display_order" field.
func
DisplayOrderNotIn
(
vs
...
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNotIn
(
FieldDisplayOrder
,
vs
...
))
}
// DisplayOrderGT applies the GT predicate on the "display_order" field.
func
DisplayOrderGT
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGT
(
FieldDisplayOrder
,
v
))
}
// DisplayOrderGTE applies the GTE predicate on the "display_order" field.
func
DisplayOrderGTE
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldGTE
(
FieldDisplayOrder
,
v
))
}
// DisplayOrderLT applies the LT predicate on the "display_order" field.
func
DisplayOrderLT
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLT
(
FieldDisplayOrder
,
v
))
}
// DisplayOrderLTE applies the LTE predicate on the "display_order" field.
func
DisplayOrderLTE
(
v
int
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldLTE
(
FieldDisplayOrder
,
v
))
}
// EnabledEQ applies the EQ predicate on the "enabled" field.
func
EnabledEQ
(
v
bool
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldEQ
(
FieldEnabled
,
v
))
}
// EnabledNEQ applies the NEQ predicate on the "enabled" field.
func
EnabledNEQ
(
v
bool
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
FieldNEQ
(
FieldEnabled
,
v
))
}
// HasValues applies the HasEdge predicate on the "values" edge.
func
HasValues
()
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
func
(
s
*
sql
.
Selector
)
{
step
:=
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
Table
,
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
O2M
,
false
,
ValuesTable
,
ValuesColumn
),
)
sqlgraph
.
HasNeighbors
(
s
,
step
)
})
}
// HasValuesWith applies the HasEdge predicate on the "values" edge with a given conditions (other predicates).
func
HasValuesWith
(
preds
...
predicate
.
UserAttributeValue
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
func
(
s
*
sql
.
Selector
)
{
step
:=
newValuesStep
()
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
.
UserAttributeDefinition
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
AndPredicates
(
predicates
...
))
}
// Or groups predicates with the OR operator between them.
func
Or
(
predicates
...
predicate
.
UserAttributeDefinition
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
OrPredicates
(
predicates
...
))
}
// Not applies the not operator on the given predicate.
func
Not
(
p
predicate
.
UserAttributeDefinition
)
predicate
.
UserAttributeDefinition
{
return
predicate
.
UserAttributeDefinition
(
sql
.
NotPredicates
(
p
))
}
backend/ent/userattributedefinition_create.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"errors"
"fmt"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeDefinitionCreate is the builder for creating a UserAttributeDefinition entity.
type
UserAttributeDefinitionCreate
struct
{
config
mutation
*
UserAttributeDefinitionMutation
hooks
[]
Hook
conflict
[]
sql
.
ConflictOption
}
// SetCreatedAt sets the "created_at" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetCreatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetCreatedAt
(
v
)
return
_c
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableCreatedAt
(
v
*
time
.
Time
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetCreatedAt
(
*
v
)
}
return
_c
}
// SetUpdatedAt sets the "updated_at" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetUpdatedAt
(
v
)
return
_c
}
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableUpdatedAt
(
v
*
time
.
Time
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetUpdatedAt
(
*
v
)
}
return
_c
}
// SetDeletedAt sets the "deleted_at" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetDeletedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetDeletedAt
(
v
)
return
_c
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableDeletedAt
(
v
*
time
.
Time
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetDeletedAt
(
*
v
)
}
return
_c
}
// SetKey sets the "key" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetKey
(
v
string
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetKey
(
v
)
return
_c
}
// SetName sets the "name" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetName
(
v
string
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetName
(
v
)
return
_c
}
// SetDescription sets the "description" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetDescription
(
v
string
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetDescription
(
v
)
return
_c
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableDescription
(
v
*
string
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetDescription
(
*
v
)
}
return
_c
}
// SetType sets the "type" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetType
(
v
string
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetType
(
v
)
return
_c
}
// SetOptions sets the "options" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetOptions
(
v
)
return
_c
}
// SetRequired sets the "required" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetRequired
(
v
bool
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetRequired
(
v
)
return
_c
}
// SetNillableRequired sets the "required" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableRequired
(
v
*
bool
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetRequired
(
*
v
)
}
return
_c
}
// SetValidation sets the "validation" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetValidation
(
v
map
[
string
]
interface
{})
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetValidation
(
v
)
return
_c
}
// SetPlaceholder sets the "placeholder" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetPlaceholder
(
v
string
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetPlaceholder
(
v
)
return
_c
}
// SetNillablePlaceholder sets the "placeholder" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillablePlaceholder
(
v
*
string
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetPlaceholder
(
*
v
)
}
return
_c
}
// SetDisplayOrder sets the "display_order" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetDisplayOrder
(
v
int
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetDisplayOrder
(
v
)
return
_c
}
// SetNillableDisplayOrder sets the "display_order" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableDisplayOrder
(
v
*
int
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetDisplayOrder
(
*
v
)
}
return
_c
}
// SetEnabled sets the "enabled" field.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetEnabled
(
v
bool
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
SetEnabled
(
v
)
return
_c
}
// SetNillableEnabled sets the "enabled" field if the given value is not nil.
func
(
_c
*
UserAttributeDefinitionCreate
)
SetNillableEnabled
(
v
*
bool
)
*
UserAttributeDefinitionCreate
{
if
v
!=
nil
{
_c
.
SetEnabled
(
*
v
)
}
return
_c
}
// AddValueIDs adds the "values" edge to the UserAttributeValue entity by IDs.
func
(
_c
*
UserAttributeDefinitionCreate
)
AddValueIDs
(
ids
...
int64
)
*
UserAttributeDefinitionCreate
{
_c
.
mutation
.
AddValueIDs
(
ids
...
)
return
_c
}
// AddValues adds the "values" edges to the UserAttributeValue entity.
func
(
_c
*
UserAttributeDefinitionCreate
)
AddValues
(
v
...*
UserAttributeValue
)
*
UserAttributeDefinitionCreate
{
ids
:=
make
([]
int64
,
len
(
v
))
for
i
:=
range
v
{
ids
[
i
]
=
v
[
i
]
.
ID
}
return
_c
.
AddValueIDs
(
ids
...
)
}
// Mutation returns the UserAttributeDefinitionMutation object of the builder.
func
(
_c
*
UserAttributeDefinitionCreate
)
Mutation
()
*
UserAttributeDefinitionMutation
{
return
_c
.
mutation
}
// Save creates the UserAttributeDefinition in the database.
func
(
_c
*
UserAttributeDefinitionCreate
)
Save
(
ctx
context
.
Context
)
(
*
UserAttributeDefinition
,
error
)
{
if
err
:=
_c
.
defaults
();
err
!=
nil
{
return
nil
,
err
}
return
withHooks
(
ctx
,
_c
.
sqlSave
,
_c
.
mutation
,
_c
.
hooks
)
}
// SaveX calls Save and panics if Save returns an error.
func
(
_c
*
UserAttributeDefinitionCreate
)
SaveX
(
ctx
context
.
Context
)
*
UserAttributeDefinition
{
v
,
err
:=
_c
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
v
}
// Exec executes the query.
func
(
_c
*
UserAttributeDefinitionCreate
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_c
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_c
*
UserAttributeDefinitionCreate
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_c
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// defaults sets the default values of the builder before save.
func
(
_c
*
UserAttributeDefinitionCreate
)
defaults
()
error
{
if
_
,
ok
:=
_c
.
mutation
.
CreatedAt
();
!
ok
{
if
userattributedefinition
.
DefaultCreatedAt
==
nil
{
return
fmt
.
Errorf
(
"ent: uninitialized userattributedefinition.DefaultCreatedAt (forgotten import ent/runtime?)"
)
}
v
:=
userattributedefinition
.
DefaultCreatedAt
()
_c
.
mutation
.
SetCreatedAt
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
UpdatedAt
();
!
ok
{
if
userattributedefinition
.
DefaultUpdatedAt
==
nil
{
return
fmt
.
Errorf
(
"ent: uninitialized userattributedefinition.DefaultUpdatedAt (forgotten import ent/runtime?)"
)
}
v
:=
userattributedefinition
.
DefaultUpdatedAt
()
_c
.
mutation
.
SetUpdatedAt
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Description
();
!
ok
{
v
:=
userattributedefinition
.
DefaultDescription
_c
.
mutation
.
SetDescription
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Options
();
!
ok
{
v
:=
userattributedefinition
.
DefaultOptions
_c
.
mutation
.
SetOptions
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Required
();
!
ok
{
v
:=
userattributedefinition
.
DefaultRequired
_c
.
mutation
.
SetRequired
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Validation
();
!
ok
{
v
:=
userattributedefinition
.
DefaultValidation
_c
.
mutation
.
SetValidation
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Placeholder
();
!
ok
{
v
:=
userattributedefinition
.
DefaultPlaceholder
_c
.
mutation
.
SetPlaceholder
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
DisplayOrder
();
!
ok
{
v
:=
userattributedefinition
.
DefaultDisplayOrder
_c
.
mutation
.
SetDisplayOrder
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Enabled
();
!
ok
{
v
:=
userattributedefinition
.
DefaultEnabled
_c
.
mutation
.
SetEnabled
(
v
)
}
return
nil
}
// check runs all checks and user-defined validators on the builder.
func
(
_c
*
UserAttributeDefinitionCreate
)
check
()
error
{
if
_
,
ok
:=
_c
.
mutation
.
CreatedAt
();
!
ok
{
return
&
ValidationError
{
Name
:
"created_at"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.created_at"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
UpdatedAt
();
!
ok
{
return
&
ValidationError
{
Name
:
"updated_at"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.updated_at"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
Key
();
!
ok
{
return
&
ValidationError
{
Name
:
"key"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.key"`
)}
}
if
v
,
ok
:=
_c
.
mutation
.
Key
();
ok
{
if
err
:=
userattributedefinition
.
KeyValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"key"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.key": %w`
,
err
)}
}
}
if
_
,
ok
:=
_c
.
mutation
.
Name
();
!
ok
{
return
&
ValidationError
{
Name
:
"name"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.name"`
)}
}
if
v
,
ok
:=
_c
.
mutation
.
Name
();
ok
{
if
err
:=
userattributedefinition
.
NameValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"name"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.name": %w`
,
err
)}
}
}
if
_
,
ok
:=
_c
.
mutation
.
Description
();
!
ok
{
return
&
ValidationError
{
Name
:
"description"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.description"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
GetType
();
!
ok
{
return
&
ValidationError
{
Name
:
"type"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.type"`
)}
}
if
v
,
ok
:=
_c
.
mutation
.
GetType
();
ok
{
if
err
:=
userattributedefinition
.
TypeValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"type"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.type": %w`
,
err
)}
}
}
if
_
,
ok
:=
_c
.
mutation
.
Options
();
!
ok
{
return
&
ValidationError
{
Name
:
"options"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.options"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
Required
();
!
ok
{
return
&
ValidationError
{
Name
:
"required"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.required"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
Validation
();
!
ok
{
return
&
ValidationError
{
Name
:
"validation"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.validation"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
Placeholder
();
!
ok
{
return
&
ValidationError
{
Name
:
"placeholder"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.placeholder"`
)}
}
if
v
,
ok
:=
_c
.
mutation
.
Placeholder
();
ok
{
if
err
:=
userattributedefinition
.
PlaceholderValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"placeholder"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.placeholder": %w`
,
err
)}
}
}
if
_
,
ok
:=
_c
.
mutation
.
DisplayOrder
();
!
ok
{
return
&
ValidationError
{
Name
:
"display_order"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.display_order"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
Enabled
();
!
ok
{
return
&
ValidationError
{
Name
:
"enabled"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeDefinition.enabled"`
)}
}
return
nil
}
func
(
_c
*
UserAttributeDefinitionCreate
)
sqlSave
(
ctx
context
.
Context
)
(
*
UserAttributeDefinition
,
error
)
{
if
err
:=
_c
.
check
();
err
!=
nil
{
return
nil
,
err
}
_node
,
_spec
:=
_c
.
createSpec
()
if
err
:=
sqlgraph
.
CreateNode
(
ctx
,
_c
.
driver
,
_spec
);
err
!=
nil
{
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
return
nil
,
err
}
id
:=
_spec
.
ID
.
Value
.
(
int64
)
_node
.
ID
=
int64
(
id
)
_c
.
mutation
.
id
=
&
_node
.
ID
_c
.
mutation
.
done
=
true
return
_node
,
nil
}
func
(
_c
*
UserAttributeDefinitionCreate
)
createSpec
()
(
*
UserAttributeDefinition
,
*
sqlgraph
.
CreateSpec
)
{
var
(
_node
=
&
UserAttributeDefinition
{
config
:
_c
.
config
}
_spec
=
sqlgraph
.
NewCreateSpec
(
userattributedefinition
.
Table
,
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
))
)
_spec
.
OnConflict
=
_c
.
conflict
if
value
,
ok
:=
_c
.
mutation
.
CreatedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldCreatedAt
,
field
.
TypeTime
,
value
)
_node
.
CreatedAt
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
UpdatedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldUpdatedAt
,
field
.
TypeTime
,
value
)
_node
.
UpdatedAt
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
DeletedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDeletedAt
,
field
.
TypeTime
,
value
)
_node
.
DeletedAt
=
&
value
}
if
value
,
ok
:=
_c
.
mutation
.
Key
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldKey
,
field
.
TypeString
,
value
)
_node
.
Key
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Name
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldName
,
field
.
TypeString
,
value
)
_node
.
Name
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Description
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDescription
,
field
.
TypeString
,
value
)
_node
.
Description
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
GetType
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldType
,
field
.
TypeString
,
value
)
_node
.
Type
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Options
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldOptions
,
field
.
TypeJSON
,
value
)
_node
.
Options
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Required
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldRequired
,
field
.
TypeBool
,
value
)
_node
.
Required
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Validation
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldValidation
,
field
.
TypeJSON
,
value
)
_node
.
Validation
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Placeholder
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldPlaceholder
,
field
.
TypeString
,
value
)
_node
.
Placeholder
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
DisplayOrder
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDisplayOrder
,
field
.
TypeInt
,
value
)
_node
.
DisplayOrder
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Enabled
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldEnabled
,
field
.
TypeBool
,
value
)
_node
.
Enabled
=
value
}
if
nodes
:=
_c
.
mutation
.
ValuesIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
=
append
(
_spec
.
Edges
,
edge
)
}
return
_node
,
_spec
}
// OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
// of the `INSERT` statement. For example:
//
// client.UserAttributeDefinition.Create().
// SetCreatedAt(v).
// OnConflict(
// // Update the row with the new values
// // the was proposed for insertion.
// sql.ResolveWithNewValues(),
// ).
// // Override some of the fields with custom
// // update values.
// Update(func(u *ent.UserAttributeDefinitionUpsert) {
// SetCreatedAt(v+v).
// }).
// Exec(ctx)
func
(
_c
*
UserAttributeDefinitionCreate
)
OnConflict
(
opts
...
sql
.
ConflictOption
)
*
UserAttributeDefinitionUpsertOne
{
_c
.
conflict
=
opts
return
&
UserAttributeDefinitionUpsertOne
{
create
:
_c
,
}
}
// OnConflictColumns calls `OnConflict` and configures the columns
// as conflict target. Using this option is equivalent to using:
//
// client.UserAttributeDefinition.Create().
// OnConflict(sql.ConflictColumns(columns...)).
// Exec(ctx)
func
(
_c
*
UserAttributeDefinitionCreate
)
OnConflictColumns
(
columns
...
string
)
*
UserAttributeDefinitionUpsertOne
{
_c
.
conflict
=
append
(
_c
.
conflict
,
sql
.
ConflictColumns
(
columns
...
))
return
&
UserAttributeDefinitionUpsertOne
{
create
:
_c
,
}
}
type
(
// UserAttributeDefinitionUpsertOne is the builder for "upsert"-ing
// one UserAttributeDefinition node.
UserAttributeDefinitionUpsertOne
struct
{
create
*
UserAttributeDefinitionCreate
}
// UserAttributeDefinitionUpsert is the "OnConflict" setter.
UserAttributeDefinitionUpsert
struct
{
*
sql
.
UpdateSet
}
)
// SetUpdatedAt sets the "updated_at" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldUpdatedAt
,
v
)
return
u
}
// UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateUpdatedAt
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldUpdatedAt
)
return
u
}
// SetDeletedAt sets the "deleted_at" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetDeletedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldDeletedAt
,
v
)
return
u
}
// UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateDeletedAt
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldDeletedAt
)
return
u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
ClearDeletedAt
()
*
UserAttributeDefinitionUpsert
{
u
.
SetNull
(
userattributedefinition
.
FieldDeletedAt
)
return
u
}
// SetKey sets the "key" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetKey
(
v
string
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldKey
,
v
)
return
u
}
// UpdateKey sets the "key" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateKey
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldKey
)
return
u
}
// SetName sets the "name" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetName
(
v
string
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldName
,
v
)
return
u
}
// UpdateName sets the "name" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateName
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldName
)
return
u
}
// SetDescription sets the "description" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetDescription
(
v
string
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldDescription
,
v
)
return
u
}
// UpdateDescription sets the "description" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateDescription
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldDescription
)
return
u
}
// SetType sets the "type" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetType
(
v
string
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldType
,
v
)
return
u
}
// UpdateType sets the "type" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateType
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldType
)
return
u
}
// SetOptions sets the "options" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldOptions
,
v
)
return
u
}
// UpdateOptions sets the "options" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateOptions
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldOptions
)
return
u
}
// SetRequired sets the "required" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetRequired
(
v
bool
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldRequired
,
v
)
return
u
}
// UpdateRequired sets the "required" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateRequired
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldRequired
)
return
u
}
// SetValidation sets the "validation" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetValidation
(
v
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldValidation
,
v
)
return
u
}
// UpdateValidation sets the "validation" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateValidation
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldValidation
)
return
u
}
// SetPlaceholder sets the "placeholder" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetPlaceholder
(
v
string
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldPlaceholder
,
v
)
return
u
}
// UpdatePlaceholder sets the "placeholder" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdatePlaceholder
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldPlaceholder
)
return
u
}
// SetDisplayOrder sets the "display_order" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldDisplayOrder
,
v
)
return
u
}
// UpdateDisplayOrder sets the "display_order" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateDisplayOrder
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldDisplayOrder
)
return
u
}
// AddDisplayOrder adds v to the "display_order" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
AddDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpsert
{
u
.
Add
(
userattributedefinition
.
FieldDisplayOrder
,
v
)
return
u
}
// SetEnabled sets the "enabled" field.
func
(
u
*
UserAttributeDefinitionUpsert
)
SetEnabled
(
v
bool
)
*
UserAttributeDefinitionUpsert
{
u
.
Set
(
userattributedefinition
.
FieldEnabled
,
v
)
return
u
}
// UpdateEnabled sets the "enabled" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsert
)
UpdateEnabled
()
*
UserAttributeDefinitionUpsert
{
u
.
SetExcluded
(
userattributedefinition
.
FieldEnabled
)
return
u
}
// UpdateNewValues updates the mutable fields using the new values that were set on create.
// Using this option is equivalent to using:
//
// client.UserAttributeDefinition.Create().
// OnConflict(
// sql.ResolveWithNewValues(),
// ).
// Exec(ctx)
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateNewValues
()
*
UserAttributeDefinitionUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithNewValues
())
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
s
*
sql
.
UpdateSet
)
{
if
_
,
exists
:=
u
.
create
.
mutation
.
CreatedAt
();
exists
{
s
.
SetIgnore
(
userattributedefinition
.
FieldCreatedAt
)
}
}))
return
u
}
// Ignore sets each column to itself in case of conflict.
// Using this option is equivalent to using:
//
// client.UserAttributeDefinition.Create().
// OnConflict(sql.ResolveWithIgnore()).
// Exec(ctx)
func
(
u
*
UserAttributeDefinitionUpsertOne
)
Ignore
()
*
UserAttributeDefinitionUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithIgnore
())
return
u
}
// DoNothing configures the conflict_action to `DO NOTHING`.
// Supported only by SQLite and PostgreSQL.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
DoNothing
()
*
UserAttributeDefinitionUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
DoNothing
())
return
u
}
// Update allows overriding fields `UPDATE` values. See the UserAttributeDefinitionCreate.OnConflict
// documentation for more info.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
Update
(
set
func
(
*
UserAttributeDefinitionUpsert
))
*
UserAttributeDefinitionUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
update
*
sql
.
UpdateSet
)
{
set
(
&
UserAttributeDefinitionUpsert
{
UpdateSet
:
update
})
}))
return
u
}
// SetUpdatedAt sets the "updated_at" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetUpdatedAt
(
v
)
})
}
// UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateUpdatedAt
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateUpdatedAt
()
})
}
// SetDeletedAt sets the "deleted_at" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetDeletedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetDeletedAt
(
v
)
})
}
// UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateDeletedAt
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateDeletedAt
()
})
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
ClearDeletedAt
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
ClearDeletedAt
()
})
}
// SetKey sets the "key" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetKey
(
v
string
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetKey
(
v
)
})
}
// UpdateKey sets the "key" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateKey
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateKey
()
})
}
// SetName sets the "name" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetName
(
v
string
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetName
(
v
)
})
}
// UpdateName sets the "name" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateName
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateName
()
})
}
// SetDescription sets the "description" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetDescription
(
v
string
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetDescription
(
v
)
})
}
// UpdateDescription sets the "description" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateDescription
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateDescription
()
})
}
// SetType sets the "type" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetType
(
v
string
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetType
(
v
)
})
}
// UpdateType sets the "type" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateType
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateType
()
})
}
// SetOptions sets the "options" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetOptions
(
v
)
})
}
// UpdateOptions sets the "options" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateOptions
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateOptions
()
})
}
// SetRequired sets the "required" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetRequired
(
v
bool
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetRequired
(
v
)
})
}
// UpdateRequired sets the "required" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateRequired
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateRequired
()
})
}
// SetValidation sets the "validation" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetValidation
(
v
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetValidation
(
v
)
})
}
// UpdateValidation sets the "validation" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateValidation
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateValidation
()
})
}
// SetPlaceholder sets the "placeholder" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetPlaceholder
(
v
string
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetPlaceholder
(
v
)
})
}
// UpdatePlaceholder sets the "placeholder" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdatePlaceholder
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdatePlaceholder
()
})
}
// SetDisplayOrder sets the "display_order" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetDisplayOrder
(
v
)
})
}
// AddDisplayOrder adds v to the "display_order" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
AddDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
AddDisplayOrder
(
v
)
})
}
// UpdateDisplayOrder sets the "display_order" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateDisplayOrder
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateDisplayOrder
()
})
}
// SetEnabled sets the "enabled" field.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
SetEnabled
(
v
bool
)
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetEnabled
(
v
)
})
}
// UpdateEnabled sets the "enabled" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
UpdateEnabled
()
*
UserAttributeDefinitionUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateEnabled
()
})
}
// Exec executes the query.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
Exec
(
ctx
context
.
Context
)
error
{
if
len
(
u
.
create
.
conflict
)
==
0
{
return
errors
.
New
(
"ent: missing options for UserAttributeDefinitionCreate.OnConflict"
)
}
return
u
.
create
.
Exec
(
ctx
)
}
// ExecX is like Exec, but panics if an error occurs.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
u
.
create
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// Exec executes the UPSERT query and returns the inserted/updated ID.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
ID
(
ctx
context
.
Context
)
(
id
int64
,
err
error
)
{
node
,
err
:=
u
.
create
.
Save
(
ctx
)
if
err
!=
nil
{
return
id
,
err
}
return
node
.
ID
,
nil
}
// IDX is like ID, but panics if an error occurs.
func
(
u
*
UserAttributeDefinitionUpsertOne
)
IDX
(
ctx
context
.
Context
)
int64
{
id
,
err
:=
u
.
ID
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
id
}
// UserAttributeDefinitionCreateBulk is the builder for creating many UserAttributeDefinition entities in bulk.
type
UserAttributeDefinitionCreateBulk
struct
{
config
err
error
builders
[]
*
UserAttributeDefinitionCreate
conflict
[]
sql
.
ConflictOption
}
// Save creates the UserAttributeDefinition entities in the database.
func
(
_c
*
UserAttributeDefinitionCreateBulk
)
Save
(
ctx
context
.
Context
)
([]
*
UserAttributeDefinition
,
error
)
{
if
_c
.
err
!=
nil
{
return
nil
,
_c
.
err
}
specs
:=
make
([]
*
sqlgraph
.
CreateSpec
,
len
(
_c
.
builders
))
nodes
:=
make
([]
*
UserAttributeDefinition
,
len
(
_c
.
builders
))
mutators
:=
make
([]
Mutator
,
len
(
_c
.
builders
))
for
i
:=
range
_c
.
builders
{
func
(
i
int
,
root
context
.
Context
)
{
builder
:=
_c
.
builders
[
i
]
builder
.
defaults
()
var
mut
Mutator
=
MutateFunc
(
func
(
ctx
context
.
Context
,
m
Mutation
)
(
Value
,
error
)
{
mutation
,
ok
:=
m
.
(
*
UserAttributeDefinitionMutation
)
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"unexpected mutation type %T"
,
m
)
}
if
err
:=
builder
.
check
();
err
!=
nil
{
return
nil
,
err
}
builder
.
mutation
=
mutation
var
err
error
nodes
[
i
],
specs
[
i
]
=
builder
.
createSpec
()
if
i
<
len
(
mutators
)
-
1
{
_
,
err
=
mutators
[
i
+
1
]
.
Mutate
(
root
,
_c
.
builders
[
i
+
1
]
.
mutation
)
}
else
{
spec
:=
&
sqlgraph
.
BatchCreateSpec
{
Nodes
:
specs
}
spec
.
OnConflict
=
_c
.
conflict
// Invoke the actual operation on the latest mutation in the chain.
if
err
=
sqlgraph
.
BatchCreate
(
ctx
,
_c
.
driver
,
spec
);
err
!=
nil
{
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
}
}
if
err
!=
nil
{
return
nil
,
err
}
mutation
.
id
=
&
nodes
[
i
]
.
ID
if
specs
[
i
]
.
ID
.
Value
!=
nil
{
id
:=
specs
[
i
]
.
ID
.
Value
.
(
int64
)
nodes
[
i
]
.
ID
=
int64
(
id
)
}
mutation
.
done
=
true
return
nodes
[
i
],
nil
})
for
i
:=
len
(
builder
.
hooks
)
-
1
;
i
>=
0
;
i
--
{
mut
=
builder
.
hooks
[
i
](
mut
)
}
mutators
[
i
]
=
mut
}(
i
,
ctx
)
}
if
len
(
mutators
)
>
0
{
if
_
,
err
:=
mutators
[
0
]
.
Mutate
(
ctx
,
_c
.
builders
[
0
]
.
mutation
);
err
!=
nil
{
return
nil
,
err
}
}
return
nodes
,
nil
}
// SaveX is like Save, but panics if an error occurs.
func
(
_c
*
UserAttributeDefinitionCreateBulk
)
SaveX
(
ctx
context
.
Context
)
[]
*
UserAttributeDefinition
{
v
,
err
:=
_c
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
v
}
// Exec executes the query.
func
(
_c
*
UserAttributeDefinitionCreateBulk
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_c
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_c
*
UserAttributeDefinitionCreateBulk
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_c
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
// of the `INSERT` statement. For example:
//
// client.UserAttributeDefinition.CreateBulk(builders...).
// OnConflict(
// // Update the row with the new values
// // the was proposed for insertion.
// sql.ResolveWithNewValues(),
// ).
// // Override some of the fields with custom
// // update values.
// Update(func(u *ent.UserAttributeDefinitionUpsert) {
// SetCreatedAt(v+v).
// }).
// Exec(ctx)
func
(
_c
*
UserAttributeDefinitionCreateBulk
)
OnConflict
(
opts
...
sql
.
ConflictOption
)
*
UserAttributeDefinitionUpsertBulk
{
_c
.
conflict
=
opts
return
&
UserAttributeDefinitionUpsertBulk
{
create
:
_c
,
}
}
// OnConflictColumns calls `OnConflict` and configures the columns
// as conflict target. Using this option is equivalent to using:
//
// client.UserAttributeDefinition.Create().
// OnConflict(sql.ConflictColumns(columns...)).
// Exec(ctx)
func
(
_c
*
UserAttributeDefinitionCreateBulk
)
OnConflictColumns
(
columns
...
string
)
*
UserAttributeDefinitionUpsertBulk
{
_c
.
conflict
=
append
(
_c
.
conflict
,
sql
.
ConflictColumns
(
columns
...
))
return
&
UserAttributeDefinitionUpsertBulk
{
create
:
_c
,
}
}
// UserAttributeDefinitionUpsertBulk is the builder for "upsert"-ing
// a bulk of UserAttributeDefinition nodes.
type
UserAttributeDefinitionUpsertBulk
struct
{
create
*
UserAttributeDefinitionCreateBulk
}
// UpdateNewValues updates the mutable fields using the new values that
// were set on create. Using this option is equivalent to using:
//
// client.UserAttributeDefinition.Create().
// OnConflict(
// sql.ResolveWithNewValues(),
// ).
// Exec(ctx)
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateNewValues
()
*
UserAttributeDefinitionUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithNewValues
())
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
s
*
sql
.
UpdateSet
)
{
for
_
,
b
:=
range
u
.
create
.
builders
{
if
_
,
exists
:=
b
.
mutation
.
CreatedAt
();
exists
{
s
.
SetIgnore
(
userattributedefinition
.
FieldCreatedAt
)
}
}
}))
return
u
}
// Ignore sets each column to itself in case of conflict.
// Using this option is equivalent to using:
//
// client.UserAttributeDefinition.Create().
// OnConflict(sql.ResolveWithIgnore()).
// Exec(ctx)
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
Ignore
()
*
UserAttributeDefinitionUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithIgnore
())
return
u
}
// DoNothing configures the conflict_action to `DO NOTHING`.
// Supported only by SQLite and PostgreSQL.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
DoNothing
()
*
UserAttributeDefinitionUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
DoNothing
())
return
u
}
// Update allows overriding fields `UPDATE` values. See the UserAttributeDefinitionCreateBulk.OnConflict
// documentation for more info.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
Update
(
set
func
(
*
UserAttributeDefinitionUpsert
))
*
UserAttributeDefinitionUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
update
*
sql
.
UpdateSet
)
{
set
(
&
UserAttributeDefinitionUpsert
{
UpdateSet
:
update
})
}))
return
u
}
// SetUpdatedAt sets the "updated_at" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetUpdatedAt
(
v
)
})
}
// UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateUpdatedAt
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateUpdatedAt
()
})
}
// SetDeletedAt sets the "deleted_at" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetDeletedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetDeletedAt
(
v
)
})
}
// UpdateDeletedAt sets the "deleted_at" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateDeletedAt
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateDeletedAt
()
})
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
ClearDeletedAt
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
ClearDeletedAt
()
})
}
// SetKey sets the "key" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetKey
(
v
string
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetKey
(
v
)
})
}
// UpdateKey sets the "key" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateKey
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateKey
()
})
}
// SetName sets the "name" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetName
(
v
string
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetName
(
v
)
})
}
// UpdateName sets the "name" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateName
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateName
()
})
}
// SetDescription sets the "description" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetDescription
(
v
string
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetDescription
(
v
)
})
}
// UpdateDescription sets the "description" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateDescription
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateDescription
()
})
}
// SetType sets the "type" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetType
(
v
string
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetType
(
v
)
})
}
// UpdateType sets the "type" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateType
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateType
()
})
}
// SetOptions sets the "options" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetOptions
(
v
)
})
}
// UpdateOptions sets the "options" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateOptions
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateOptions
()
})
}
// SetRequired sets the "required" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetRequired
(
v
bool
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetRequired
(
v
)
})
}
// UpdateRequired sets the "required" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateRequired
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateRequired
()
})
}
// SetValidation sets the "validation" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetValidation
(
v
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetValidation
(
v
)
})
}
// UpdateValidation sets the "validation" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateValidation
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateValidation
()
})
}
// SetPlaceholder sets the "placeholder" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetPlaceholder
(
v
string
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetPlaceholder
(
v
)
})
}
// UpdatePlaceholder sets the "placeholder" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdatePlaceholder
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdatePlaceholder
()
})
}
// SetDisplayOrder sets the "display_order" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetDisplayOrder
(
v
)
})
}
// AddDisplayOrder adds v to the "display_order" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
AddDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
AddDisplayOrder
(
v
)
})
}
// UpdateDisplayOrder sets the "display_order" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateDisplayOrder
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateDisplayOrder
()
})
}
// SetEnabled sets the "enabled" field.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
SetEnabled
(
v
bool
)
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
SetEnabled
(
v
)
})
}
// UpdateEnabled sets the "enabled" field to the value that was provided on create.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
UpdateEnabled
()
*
UserAttributeDefinitionUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeDefinitionUpsert
)
{
s
.
UpdateEnabled
()
})
}
// Exec executes the query.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
Exec
(
ctx
context
.
Context
)
error
{
if
u
.
create
.
err
!=
nil
{
return
u
.
create
.
err
}
for
i
,
b
:=
range
u
.
create
.
builders
{
if
len
(
b
.
conflict
)
!=
0
{
return
fmt
.
Errorf
(
"ent: OnConflict was set for builder %d. Set it on the UserAttributeDefinitionCreateBulk instead"
,
i
)
}
}
if
len
(
u
.
create
.
conflict
)
==
0
{
return
errors
.
New
(
"ent: missing options for UserAttributeDefinitionCreateBulk.OnConflict"
)
}
return
u
.
create
.
Exec
(
ctx
)
}
// ExecX is like Exec, but panics if an error occurs.
func
(
u
*
UserAttributeDefinitionUpsertBulk
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
u
.
create
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
backend/ent/userattributedefinition_delete.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/predicate"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
)
// UserAttributeDefinitionDelete is the builder for deleting a UserAttributeDefinition entity.
type
UserAttributeDefinitionDelete
struct
{
config
hooks
[]
Hook
mutation
*
UserAttributeDefinitionMutation
}
// Where appends a list predicates to the UserAttributeDefinitionDelete builder.
func
(
_d
*
UserAttributeDefinitionDelete
)
Where
(
ps
...
predicate
.
UserAttributeDefinition
)
*
UserAttributeDefinitionDelete
{
_d
.
mutation
.
Where
(
ps
...
)
return
_d
}
// Exec executes the deletion query and returns how many vertices were deleted.
func
(
_d
*
UserAttributeDefinitionDelete
)
Exec
(
ctx
context
.
Context
)
(
int
,
error
)
{
return
withHooks
(
ctx
,
_d
.
sqlExec
,
_d
.
mutation
,
_d
.
hooks
)
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_d
*
UserAttributeDefinitionDelete
)
ExecX
(
ctx
context
.
Context
)
int
{
n
,
err
:=
_d
.
Exec
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
n
}
func
(
_d
*
UserAttributeDefinitionDelete
)
sqlExec
(
ctx
context
.
Context
)
(
int
,
error
)
{
_spec
:=
sqlgraph
.
NewDeleteSpec
(
userattributedefinition
.
Table
,
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
))
if
ps
:=
_d
.
mutation
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
affected
,
err
:=
sqlgraph
.
DeleteNodes
(
ctx
,
_d
.
driver
,
_spec
)
if
err
!=
nil
&&
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
_d
.
mutation
.
done
=
true
return
affected
,
err
}
// UserAttributeDefinitionDeleteOne is the builder for deleting a single UserAttributeDefinition entity.
type
UserAttributeDefinitionDeleteOne
struct
{
_d
*
UserAttributeDefinitionDelete
}
// Where appends a list predicates to the UserAttributeDefinitionDelete builder.
func
(
_d
*
UserAttributeDefinitionDeleteOne
)
Where
(
ps
...
predicate
.
UserAttributeDefinition
)
*
UserAttributeDefinitionDeleteOne
{
_d
.
_d
.
mutation
.
Where
(
ps
...
)
return
_d
}
// Exec executes the deletion query.
func
(
_d
*
UserAttributeDefinitionDeleteOne
)
Exec
(
ctx
context
.
Context
)
error
{
n
,
err
:=
_d
.
_d
.
Exec
(
ctx
)
switch
{
case
err
!=
nil
:
return
err
case
n
==
0
:
return
&
NotFoundError
{
userattributedefinition
.
Label
}
default
:
return
nil
}
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_d
*
UserAttributeDefinitionDeleteOne
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_d
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
backend/ent/userattributedefinition_query.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"database/sql/driver"
"fmt"
"math"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/predicate"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeDefinitionQuery is the builder for querying UserAttributeDefinition entities.
type
UserAttributeDefinitionQuery
struct
{
config
ctx
*
QueryContext
order
[]
userattributedefinition
.
OrderOption
inters
[]
Interceptor
predicates
[]
predicate
.
UserAttributeDefinition
withValues
*
UserAttributeValueQuery
// intermediate query (i.e. traversal path).
sql
*
sql
.
Selector
path
func
(
context
.
Context
)
(
*
sql
.
Selector
,
error
)
}
// Where adds a new predicate for the UserAttributeDefinitionQuery builder.
func
(
_q
*
UserAttributeDefinitionQuery
)
Where
(
ps
...
predicate
.
UserAttributeDefinition
)
*
UserAttributeDefinitionQuery
{
_q
.
predicates
=
append
(
_q
.
predicates
,
ps
...
)
return
_q
}
// Limit the number of records to be returned by this query.
func
(
_q
*
UserAttributeDefinitionQuery
)
Limit
(
limit
int
)
*
UserAttributeDefinitionQuery
{
_q
.
ctx
.
Limit
=
&
limit
return
_q
}
// Offset to start from.
func
(
_q
*
UserAttributeDefinitionQuery
)
Offset
(
offset
int
)
*
UserAttributeDefinitionQuery
{
_q
.
ctx
.
Offset
=
&
offset
return
_q
}
// Unique configures the query builder to filter duplicate records on query.
// By default, unique is set to true, and can be disabled using this method.
func
(
_q
*
UserAttributeDefinitionQuery
)
Unique
(
unique
bool
)
*
UserAttributeDefinitionQuery
{
_q
.
ctx
.
Unique
=
&
unique
return
_q
}
// Order specifies how the records should be ordered.
func
(
_q
*
UserAttributeDefinitionQuery
)
Order
(
o
...
userattributedefinition
.
OrderOption
)
*
UserAttributeDefinitionQuery
{
_q
.
order
=
append
(
_q
.
order
,
o
...
)
return
_q
}
// QueryValues chains the current query on the "values" edge.
func
(
_q
*
UserAttributeDefinitionQuery
)
QueryValues
()
*
UserAttributeValueQuery
{
query
:=
(
&
UserAttributeValueClient
{
config
:
_q
.
config
})
.
Query
()
query
.
path
=
func
(
ctx
context
.
Context
)
(
fromU
*
sql
.
Selector
,
err
error
)
{
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
nil
,
err
}
selector
:=
_q
.
sqlQuery
(
ctx
)
if
err
:=
selector
.
Err
();
err
!=
nil
{
return
nil
,
err
}
step
:=
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
userattributedefinition
.
Table
,
userattributedefinition
.
FieldID
,
selector
),
sqlgraph
.
To
(
userattributevalue
.
Table
,
userattributevalue
.
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
O2M
,
false
,
userattributedefinition
.
ValuesTable
,
userattributedefinition
.
ValuesColumn
),
)
fromU
=
sqlgraph
.
SetNeighbors
(
_q
.
driver
.
Dialect
(),
step
)
return
fromU
,
nil
}
return
query
}
// First returns the first UserAttributeDefinition entity from the query.
// Returns a *NotFoundError when no UserAttributeDefinition was found.
func
(
_q
*
UserAttributeDefinitionQuery
)
First
(
ctx
context
.
Context
)
(
*
UserAttributeDefinition
,
error
)
{
nodes
,
err
:=
_q
.
Limit
(
1
)
.
All
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryFirst
))
if
err
!=
nil
{
return
nil
,
err
}
if
len
(
nodes
)
==
0
{
return
nil
,
&
NotFoundError
{
userattributedefinition
.
Label
}
}
return
nodes
[
0
],
nil
}
// FirstX is like First, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
FirstX
(
ctx
context
.
Context
)
*
UserAttributeDefinition
{
node
,
err
:=
_q
.
First
(
ctx
)
if
err
!=
nil
&&
!
IsNotFound
(
err
)
{
panic
(
err
)
}
return
node
}
// FirstID returns the first UserAttributeDefinition ID from the query.
// Returns a *NotFoundError when no UserAttributeDefinition ID was found.
func
(
_q
*
UserAttributeDefinitionQuery
)
FirstID
(
ctx
context
.
Context
)
(
id
int64
,
err
error
)
{
var
ids
[]
int64
if
ids
,
err
=
_q
.
Limit
(
1
)
.
IDs
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryFirstID
));
err
!=
nil
{
return
}
if
len
(
ids
)
==
0
{
err
=
&
NotFoundError
{
userattributedefinition
.
Label
}
return
}
return
ids
[
0
],
nil
}
// FirstIDX is like FirstID, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
FirstIDX
(
ctx
context
.
Context
)
int64
{
id
,
err
:=
_q
.
FirstID
(
ctx
)
if
err
!=
nil
&&
!
IsNotFound
(
err
)
{
panic
(
err
)
}
return
id
}
// Only returns a single UserAttributeDefinition entity found by the query, ensuring it only returns one.
// Returns a *NotSingularError when more than one UserAttributeDefinition entity is found.
// Returns a *NotFoundError when no UserAttributeDefinition entities are found.
func
(
_q
*
UserAttributeDefinitionQuery
)
Only
(
ctx
context
.
Context
)
(
*
UserAttributeDefinition
,
error
)
{
nodes
,
err
:=
_q
.
Limit
(
2
)
.
All
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryOnly
))
if
err
!=
nil
{
return
nil
,
err
}
switch
len
(
nodes
)
{
case
1
:
return
nodes
[
0
],
nil
case
0
:
return
nil
,
&
NotFoundError
{
userattributedefinition
.
Label
}
default
:
return
nil
,
&
NotSingularError
{
userattributedefinition
.
Label
}
}
}
// OnlyX is like Only, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
OnlyX
(
ctx
context
.
Context
)
*
UserAttributeDefinition
{
node
,
err
:=
_q
.
Only
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
node
}
// OnlyID is like Only, but returns the only UserAttributeDefinition ID in the query.
// Returns a *NotSingularError when more than one UserAttributeDefinition ID is found.
// Returns a *NotFoundError when no entities are found.
func
(
_q
*
UserAttributeDefinitionQuery
)
OnlyID
(
ctx
context
.
Context
)
(
id
int64
,
err
error
)
{
var
ids
[]
int64
if
ids
,
err
=
_q
.
Limit
(
2
)
.
IDs
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryOnlyID
));
err
!=
nil
{
return
}
switch
len
(
ids
)
{
case
1
:
id
=
ids
[
0
]
case
0
:
err
=
&
NotFoundError
{
userattributedefinition
.
Label
}
default
:
err
=
&
NotSingularError
{
userattributedefinition
.
Label
}
}
return
}
// OnlyIDX is like OnlyID, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
OnlyIDX
(
ctx
context
.
Context
)
int64
{
id
,
err
:=
_q
.
OnlyID
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
id
}
// All executes the query and returns a list of UserAttributeDefinitions.
func
(
_q
*
UserAttributeDefinitionQuery
)
All
(
ctx
context
.
Context
)
([]
*
UserAttributeDefinition
,
error
)
{
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryAll
)
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
nil
,
err
}
qr
:=
querierAll
[[]
*
UserAttributeDefinition
,
*
UserAttributeDefinitionQuery
]()
return
withInterceptors
[[]
*
UserAttributeDefinition
](
ctx
,
_q
,
qr
,
_q
.
inters
)
}
// AllX is like All, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
AllX
(
ctx
context
.
Context
)
[]
*
UserAttributeDefinition
{
nodes
,
err
:=
_q
.
All
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
nodes
}
// IDs executes the query and returns a list of UserAttributeDefinition IDs.
func
(
_q
*
UserAttributeDefinitionQuery
)
IDs
(
ctx
context
.
Context
)
(
ids
[]
int64
,
err
error
)
{
if
_q
.
ctx
.
Unique
==
nil
&&
_q
.
path
!=
nil
{
_q
.
Unique
(
true
)
}
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryIDs
)
if
err
=
_q
.
Select
(
userattributedefinition
.
FieldID
)
.
Scan
(
ctx
,
&
ids
);
err
!=
nil
{
return
nil
,
err
}
return
ids
,
nil
}
// IDsX is like IDs, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
IDsX
(
ctx
context
.
Context
)
[]
int64
{
ids
,
err
:=
_q
.
IDs
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
ids
}
// Count returns the count of the given query.
func
(
_q
*
UserAttributeDefinitionQuery
)
Count
(
ctx
context
.
Context
)
(
int
,
error
)
{
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryCount
)
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
0
,
err
}
return
withInterceptors
[
int
](
ctx
,
_q
,
querierCount
[
*
UserAttributeDefinitionQuery
](),
_q
.
inters
)
}
// CountX is like Count, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
CountX
(
ctx
context
.
Context
)
int
{
count
,
err
:=
_q
.
Count
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
count
}
// Exist returns true if the query has elements in the graph.
func
(
_q
*
UserAttributeDefinitionQuery
)
Exist
(
ctx
context
.
Context
)
(
bool
,
error
)
{
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryExist
)
switch
_
,
err
:=
_q
.
FirstID
(
ctx
);
{
case
IsNotFound
(
err
)
:
return
false
,
nil
case
err
!=
nil
:
return
false
,
fmt
.
Errorf
(
"ent: check existence: %w"
,
err
)
default
:
return
true
,
nil
}
}
// ExistX is like Exist, but panics if an error occurs.
func
(
_q
*
UserAttributeDefinitionQuery
)
ExistX
(
ctx
context
.
Context
)
bool
{
exist
,
err
:=
_q
.
Exist
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
exist
}
// Clone returns a duplicate of the UserAttributeDefinitionQuery builder, including all associated steps. It can be
// used to prepare common query builders and use them differently after the clone is made.
func
(
_q
*
UserAttributeDefinitionQuery
)
Clone
()
*
UserAttributeDefinitionQuery
{
if
_q
==
nil
{
return
nil
}
return
&
UserAttributeDefinitionQuery
{
config
:
_q
.
config
,
ctx
:
_q
.
ctx
.
Clone
(),
order
:
append
([]
userattributedefinition
.
OrderOption
{},
_q
.
order
...
),
inters
:
append
([]
Interceptor
{},
_q
.
inters
...
),
predicates
:
append
([]
predicate
.
UserAttributeDefinition
{},
_q
.
predicates
...
),
withValues
:
_q
.
withValues
.
Clone
(),
// clone intermediate query.
sql
:
_q
.
sql
.
Clone
(),
path
:
_q
.
path
,
}
}
// WithValues tells the query-builder to eager-load the nodes that are connected to
// the "values" edge. The optional arguments are used to configure the query builder of the edge.
func
(
_q
*
UserAttributeDefinitionQuery
)
WithValues
(
opts
...
func
(
*
UserAttributeValueQuery
))
*
UserAttributeDefinitionQuery
{
query
:=
(
&
UserAttributeValueClient
{
config
:
_q
.
config
})
.
Query
()
for
_
,
opt
:=
range
opts
{
opt
(
query
)
}
_q
.
withValues
=
query
return
_q
}
// GroupBy is used to group vertices by one or more fields/columns.
// It is often used with aggregate functions, like: count, max, mean, min, sum.
//
// Example:
//
// var v []struct {
// CreatedAt time.Time `json:"created_at,omitempty"`
// Count int `json:"count,omitempty"`
// }
//
// client.UserAttributeDefinition.Query().
// GroupBy(userattributedefinition.FieldCreatedAt).
// Aggregate(ent.Count()).
// Scan(ctx, &v)
func
(
_q
*
UserAttributeDefinitionQuery
)
GroupBy
(
field
string
,
fields
...
string
)
*
UserAttributeDefinitionGroupBy
{
_q
.
ctx
.
Fields
=
append
([]
string
{
field
},
fields
...
)
grbuild
:=
&
UserAttributeDefinitionGroupBy
{
build
:
_q
}
grbuild
.
flds
=
&
_q
.
ctx
.
Fields
grbuild
.
label
=
userattributedefinition
.
Label
grbuild
.
scan
=
grbuild
.
Scan
return
grbuild
}
// Select allows the selection one or more fields/columns for the given query,
// instead of selecting all fields in the entity.
//
// Example:
//
// var v []struct {
// CreatedAt time.Time `json:"created_at,omitempty"`
// }
//
// client.UserAttributeDefinition.Query().
// Select(userattributedefinition.FieldCreatedAt).
// Scan(ctx, &v)
func
(
_q
*
UserAttributeDefinitionQuery
)
Select
(
fields
...
string
)
*
UserAttributeDefinitionSelect
{
_q
.
ctx
.
Fields
=
append
(
_q
.
ctx
.
Fields
,
fields
...
)
sbuild
:=
&
UserAttributeDefinitionSelect
{
UserAttributeDefinitionQuery
:
_q
}
sbuild
.
label
=
userattributedefinition
.
Label
sbuild
.
flds
,
sbuild
.
scan
=
&
_q
.
ctx
.
Fields
,
sbuild
.
Scan
return
sbuild
}
// Aggregate returns a UserAttributeDefinitionSelect configured with the given aggregations.
func
(
_q
*
UserAttributeDefinitionQuery
)
Aggregate
(
fns
...
AggregateFunc
)
*
UserAttributeDefinitionSelect
{
return
_q
.
Select
()
.
Aggregate
(
fns
...
)
}
func
(
_q
*
UserAttributeDefinitionQuery
)
prepareQuery
(
ctx
context
.
Context
)
error
{
for
_
,
inter
:=
range
_q
.
inters
{
if
inter
==
nil
{
return
fmt
.
Errorf
(
"ent: uninitialized interceptor (forgotten import ent/runtime?)"
)
}
if
trv
,
ok
:=
inter
.
(
Traverser
);
ok
{
if
err
:=
trv
.
Traverse
(
ctx
,
_q
);
err
!=
nil
{
return
err
}
}
}
for
_
,
f
:=
range
_q
.
ctx
.
Fields
{
if
!
userattributedefinition
.
ValidColumn
(
f
)
{
return
&
ValidationError
{
Name
:
f
,
err
:
fmt
.
Errorf
(
"ent: invalid field %q for query"
,
f
)}
}
}
if
_q
.
path
!=
nil
{
prev
,
err
:=
_q
.
path
(
ctx
)
if
err
!=
nil
{
return
err
}
_q
.
sql
=
prev
}
return
nil
}
func
(
_q
*
UserAttributeDefinitionQuery
)
sqlAll
(
ctx
context
.
Context
,
hooks
...
queryHook
)
([]
*
UserAttributeDefinition
,
error
)
{
var
(
nodes
=
[]
*
UserAttributeDefinition
{}
_spec
=
_q
.
querySpec
()
loadedTypes
=
[
1
]
bool
{
_q
.
withValues
!=
nil
,
}
)
_spec
.
ScanValues
=
func
(
columns
[]
string
)
([]
any
,
error
)
{
return
(
*
UserAttributeDefinition
)
.
scanValues
(
nil
,
columns
)
}
_spec
.
Assign
=
func
(
columns
[]
string
,
values
[]
any
)
error
{
node
:=
&
UserAttributeDefinition
{
config
:
_q
.
config
}
nodes
=
append
(
nodes
,
node
)
node
.
Edges
.
loadedTypes
=
loadedTypes
return
node
.
assignValues
(
columns
,
values
)
}
for
i
:=
range
hooks
{
hooks
[
i
](
ctx
,
_spec
)
}
if
err
:=
sqlgraph
.
QueryNodes
(
ctx
,
_q
.
driver
,
_spec
);
err
!=
nil
{
return
nil
,
err
}
if
len
(
nodes
)
==
0
{
return
nodes
,
nil
}
if
query
:=
_q
.
withValues
;
query
!=
nil
{
if
err
:=
_q
.
loadValues
(
ctx
,
query
,
nodes
,
func
(
n
*
UserAttributeDefinition
)
{
n
.
Edges
.
Values
=
[]
*
UserAttributeValue
{}
},
func
(
n
*
UserAttributeDefinition
,
e
*
UserAttributeValue
)
{
n
.
Edges
.
Values
=
append
(
n
.
Edges
.
Values
,
e
)
});
err
!=
nil
{
return
nil
,
err
}
}
return
nodes
,
nil
}
func
(
_q
*
UserAttributeDefinitionQuery
)
loadValues
(
ctx
context
.
Context
,
query
*
UserAttributeValueQuery
,
nodes
[]
*
UserAttributeDefinition
,
init
func
(
*
UserAttributeDefinition
),
assign
func
(
*
UserAttributeDefinition
,
*
UserAttributeValue
))
error
{
fks
:=
make
([]
driver
.
Value
,
0
,
len
(
nodes
))
nodeids
:=
make
(
map
[
int64
]
*
UserAttributeDefinition
)
for
i
:=
range
nodes
{
fks
=
append
(
fks
,
nodes
[
i
]
.
ID
)
nodeids
[
nodes
[
i
]
.
ID
]
=
nodes
[
i
]
if
init
!=
nil
{
init
(
nodes
[
i
])
}
}
if
len
(
query
.
ctx
.
Fields
)
>
0
{
query
.
ctx
.
AppendFieldOnce
(
userattributevalue
.
FieldAttributeID
)
}
query
.
Where
(
predicate
.
UserAttributeValue
(
func
(
s
*
sql
.
Selector
)
{
s
.
Where
(
sql
.
InValues
(
s
.
C
(
userattributedefinition
.
ValuesColumn
),
fks
...
))
}))
neighbors
,
err
:=
query
.
All
(
ctx
)
if
err
!=
nil
{
return
err
}
for
_
,
n
:=
range
neighbors
{
fk
:=
n
.
AttributeID
node
,
ok
:=
nodeids
[
fk
]
if
!
ok
{
return
fmt
.
Errorf
(
`unexpected referenced foreign-key "attribute_id" returned %v for node %v`
,
fk
,
n
.
ID
)
}
assign
(
node
,
n
)
}
return
nil
}
func
(
_q
*
UserAttributeDefinitionQuery
)
sqlCount
(
ctx
context
.
Context
)
(
int
,
error
)
{
_spec
:=
_q
.
querySpec
()
_spec
.
Node
.
Columns
=
_q
.
ctx
.
Fields
if
len
(
_q
.
ctx
.
Fields
)
>
0
{
_spec
.
Unique
=
_q
.
ctx
.
Unique
!=
nil
&&
*
_q
.
ctx
.
Unique
}
return
sqlgraph
.
CountNodes
(
ctx
,
_q
.
driver
,
_spec
)
}
func
(
_q
*
UserAttributeDefinitionQuery
)
querySpec
()
*
sqlgraph
.
QuerySpec
{
_spec
:=
sqlgraph
.
NewQuerySpec
(
userattributedefinition
.
Table
,
userattributedefinition
.
Columns
,
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
))
_spec
.
From
=
_q
.
sql
if
unique
:=
_q
.
ctx
.
Unique
;
unique
!=
nil
{
_spec
.
Unique
=
*
unique
}
else
if
_q
.
path
!=
nil
{
_spec
.
Unique
=
true
}
if
fields
:=
_q
.
ctx
.
Fields
;
len
(
fields
)
>
0
{
_spec
.
Node
.
Columns
=
make
([]
string
,
0
,
len
(
fields
))
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
userattributedefinition
.
FieldID
)
for
i
:=
range
fields
{
if
fields
[
i
]
!=
userattributedefinition
.
FieldID
{
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
fields
[
i
])
}
}
}
if
ps
:=
_q
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
if
limit
:=
_q
.
ctx
.
Limit
;
limit
!=
nil
{
_spec
.
Limit
=
*
limit
}
if
offset
:=
_q
.
ctx
.
Offset
;
offset
!=
nil
{
_spec
.
Offset
=
*
offset
}
if
ps
:=
_q
.
order
;
len
(
ps
)
>
0
{
_spec
.
Order
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
return
_spec
}
func
(
_q
*
UserAttributeDefinitionQuery
)
sqlQuery
(
ctx
context
.
Context
)
*
sql
.
Selector
{
builder
:=
sql
.
Dialect
(
_q
.
driver
.
Dialect
())
t1
:=
builder
.
Table
(
userattributedefinition
.
Table
)
columns
:=
_q
.
ctx
.
Fields
if
len
(
columns
)
==
0
{
columns
=
userattributedefinition
.
Columns
}
selector
:=
builder
.
Select
(
t1
.
Columns
(
columns
...
)
...
)
.
From
(
t1
)
if
_q
.
sql
!=
nil
{
selector
=
_q
.
sql
selector
.
Select
(
selector
.
Columns
(
columns
...
)
...
)
}
if
_q
.
ctx
.
Unique
!=
nil
&&
*
_q
.
ctx
.
Unique
{
selector
.
Distinct
()
}
for
_
,
p
:=
range
_q
.
predicates
{
p
(
selector
)
}
for
_
,
p
:=
range
_q
.
order
{
p
(
selector
)
}
if
offset
:=
_q
.
ctx
.
Offset
;
offset
!=
nil
{
// limit is mandatory for offset clause. We start
// with default value, and override it below if needed.
selector
.
Offset
(
*
offset
)
.
Limit
(
math
.
MaxInt32
)
}
if
limit
:=
_q
.
ctx
.
Limit
;
limit
!=
nil
{
selector
.
Limit
(
*
limit
)
}
return
selector
}
// UserAttributeDefinitionGroupBy is the group-by builder for UserAttributeDefinition entities.
type
UserAttributeDefinitionGroupBy
struct
{
selector
build
*
UserAttributeDefinitionQuery
}
// Aggregate adds the given aggregation functions to the group-by query.
func
(
_g
*
UserAttributeDefinitionGroupBy
)
Aggregate
(
fns
...
AggregateFunc
)
*
UserAttributeDefinitionGroupBy
{
_g
.
fns
=
append
(
_g
.
fns
,
fns
...
)
return
_g
}
// Scan applies the selector query and scans the result into the given value.
func
(
_g
*
UserAttributeDefinitionGroupBy
)
Scan
(
ctx
context
.
Context
,
v
any
)
error
{
ctx
=
setContextOp
(
ctx
,
_g
.
build
.
ctx
,
ent
.
OpQueryGroupBy
)
if
err
:=
_g
.
build
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
err
}
return
scanWithInterceptors
[
*
UserAttributeDefinitionQuery
,
*
UserAttributeDefinitionGroupBy
](
ctx
,
_g
.
build
,
_g
,
_g
.
build
.
inters
,
v
)
}
func
(
_g
*
UserAttributeDefinitionGroupBy
)
sqlScan
(
ctx
context
.
Context
,
root
*
UserAttributeDefinitionQuery
,
v
any
)
error
{
selector
:=
root
.
sqlQuery
(
ctx
)
.
Select
()
aggregation
:=
make
([]
string
,
0
,
len
(
_g
.
fns
))
for
_
,
fn
:=
range
_g
.
fns
{
aggregation
=
append
(
aggregation
,
fn
(
selector
))
}
if
len
(
selector
.
SelectedColumns
())
==
0
{
columns
:=
make
([]
string
,
0
,
len
(
*
_g
.
flds
)
+
len
(
_g
.
fns
))
for
_
,
f
:=
range
*
_g
.
flds
{
columns
=
append
(
columns
,
selector
.
C
(
f
))
}
columns
=
append
(
columns
,
aggregation
...
)
selector
.
Select
(
columns
...
)
}
selector
.
GroupBy
(
selector
.
Columns
(
*
_g
.
flds
...
)
...
)
if
err
:=
selector
.
Err
();
err
!=
nil
{
return
err
}
rows
:=
&
sql
.
Rows
{}
query
,
args
:=
selector
.
Query
()
if
err
:=
_g
.
build
.
driver
.
Query
(
ctx
,
query
,
args
,
rows
);
err
!=
nil
{
return
err
}
defer
rows
.
Close
()
return
sql
.
ScanSlice
(
rows
,
v
)
}
// UserAttributeDefinitionSelect is the builder for selecting fields of UserAttributeDefinition entities.
type
UserAttributeDefinitionSelect
struct
{
*
UserAttributeDefinitionQuery
selector
}
// Aggregate adds the given aggregation functions to the selector query.
func
(
_s
*
UserAttributeDefinitionSelect
)
Aggregate
(
fns
...
AggregateFunc
)
*
UserAttributeDefinitionSelect
{
_s
.
fns
=
append
(
_s
.
fns
,
fns
...
)
return
_s
}
// Scan applies the selector query and scans the result into the given value.
func
(
_s
*
UserAttributeDefinitionSelect
)
Scan
(
ctx
context
.
Context
,
v
any
)
error
{
ctx
=
setContextOp
(
ctx
,
_s
.
ctx
,
ent
.
OpQuerySelect
)
if
err
:=
_s
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
err
}
return
scanWithInterceptors
[
*
UserAttributeDefinitionQuery
,
*
UserAttributeDefinitionSelect
](
ctx
,
_s
.
UserAttributeDefinitionQuery
,
_s
,
_s
.
inters
,
v
)
}
func
(
_s
*
UserAttributeDefinitionSelect
)
sqlScan
(
ctx
context
.
Context
,
root
*
UserAttributeDefinitionQuery
,
v
any
)
error
{
selector
:=
root
.
sqlQuery
(
ctx
)
aggregation
:=
make
([]
string
,
0
,
len
(
_s
.
fns
))
for
_
,
fn
:=
range
_s
.
fns
{
aggregation
=
append
(
aggregation
,
fn
(
selector
))
}
switch
n
:=
len
(
*
_s
.
selector
.
flds
);
{
case
n
==
0
&&
len
(
aggregation
)
>
0
:
selector
.
Select
(
aggregation
...
)
case
n
!=
0
&&
len
(
aggregation
)
>
0
:
selector
.
AppendSelect
(
aggregation
...
)
}
rows
:=
&
sql
.
Rows
{}
query
,
args
:=
selector
.
Query
()
if
err
:=
_s
.
driver
.
Query
(
ctx
,
query
,
args
,
rows
);
err
!=
nil
{
return
err
}
defer
rows
.
Close
()
return
sql
.
ScanSlice
(
rows
,
v
)
}
backend/ent/userattributedefinition_update.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"errors"
"fmt"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/dialect/sql/sqljson"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/predicate"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeDefinitionUpdate is the builder for updating UserAttributeDefinition entities.
type
UserAttributeDefinitionUpdate
struct
{
config
hooks
[]
Hook
mutation
*
UserAttributeDefinitionMutation
}
// Where appends a list predicates to the UserAttributeDefinitionUpdate builder.
func
(
_u
*
UserAttributeDefinitionUpdate
)
Where
(
ps
...
predicate
.
UserAttributeDefinition
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
Where
(
ps
...
)
return
_u
}
// SetUpdatedAt sets the "updated_at" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetUpdatedAt
(
v
)
return
_u
}
// SetDeletedAt sets the "deleted_at" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetDeletedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetDeletedAt
(
v
)
return
_u
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableDeletedAt
(
v
*
time
.
Time
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetDeletedAt
(
*
v
)
}
return
_u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
ClearDeletedAt
()
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
ClearDeletedAt
()
return
_u
}
// SetKey sets the "key" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetKey
(
v
string
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetKey
(
v
)
return
_u
}
// SetNillableKey sets the "key" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableKey
(
v
*
string
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetKey
(
*
v
)
}
return
_u
}
// SetName sets the "name" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetName
(
v
string
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetName
(
v
)
return
_u
}
// SetNillableName sets the "name" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableName
(
v
*
string
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetName
(
*
v
)
}
return
_u
}
// SetDescription sets the "description" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetDescription
(
v
string
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetDescription
(
v
)
return
_u
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableDescription
(
v
*
string
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetDescription
(
*
v
)
}
return
_u
}
// SetType sets the "type" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetType
(
v
string
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetType
(
v
)
return
_u
}
// SetNillableType sets the "type" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableType
(
v
*
string
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetType
(
*
v
)
}
return
_u
}
// SetOptions sets the "options" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetOptions
(
v
)
return
_u
}
// AppendOptions appends value to the "options" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
AppendOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
AppendOptions
(
v
)
return
_u
}
// SetRequired sets the "required" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetRequired
(
v
bool
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetRequired
(
v
)
return
_u
}
// SetNillableRequired sets the "required" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableRequired
(
v
*
bool
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetRequired
(
*
v
)
}
return
_u
}
// SetValidation sets the "validation" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetValidation
(
v
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetValidation
(
v
)
return
_u
}
// SetPlaceholder sets the "placeholder" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetPlaceholder
(
v
string
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetPlaceholder
(
v
)
return
_u
}
// SetNillablePlaceholder sets the "placeholder" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillablePlaceholder
(
v
*
string
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetPlaceholder
(
*
v
)
}
return
_u
}
// SetDisplayOrder sets the "display_order" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
ResetDisplayOrder
()
_u
.
mutation
.
SetDisplayOrder
(
v
)
return
_u
}
// SetNillableDisplayOrder sets the "display_order" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableDisplayOrder
(
v
*
int
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetDisplayOrder
(
*
v
)
}
return
_u
}
// AddDisplayOrder adds value to the "display_order" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
AddDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
AddDisplayOrder
(
v
)
return
_u
}
// SetEnabled sets the "enabled" field.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetEnabled
(
v
bool
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
SetEnabled
(
v
)
return
_u
}
// SetNillableEnabled sets the "enabled" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SetNillableEnabled
(
v
*
bool
)
*
UserAttributeDefinitionUpdate
{
if
v
!=
nil
{
_u
.
SetEnabled
(
*
v
)
}
return
_u
}
// AddValueIDs adds the "values" edge to the UserAttributeValue entity by IDs.
func
(
_u
*
UserAttributeDefinitionUpdate
)
AddValueIDs
(
ids
...
int64
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
AddValueIDs
(
ids
...
)
return
_u
}
// AddValues adds the "values" edges to the UserAttributeValue entity.
func
(
_u
*
UserAttributeDefinitionUpdate
)
AddValues
(
v
...*
UserAttributeValue
)
*
UserAttributeDefinitionUpdate
{
ids
:=
make
([]
int64
,
len
(
v
))
for
i
:=
range
v
{
ids
[
i
]
=
v
[
i
]
.
ID
}
return
_u
.
AddValueIDs
(
ids
...
)
}
// Mutation returns the UserAttributeDefinitionMutation object of the builder.
func
(
_u
*
UserAttributeDefinitionUpdate
)
Mutation
()
*
UserAttributeDefinitionMutation
{
return
_u
.
mutation
}
// ClearValues clears all "values" edges to the UserAttributeValue entity.
func
(
_u
*
UserAttributeDefinitionUpdate
)
ClearValues
()
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
ClearValues
()
return
_u
}
// RemoveValueIDs removes the "values" edge to UserAttributeValue entities by IDs.
func
(
_u
*
UserAttributeDefinitionUpdate
)
RemoveValueIDs
(
ids
...
int64
)
*
UserAttributeDefinitionUpdate
{
_u
.
mutation
.
RemoveValueIDs
(
ids
...
)
return
_u
}
// RemoveValues removes "values" edges to UserAttributeValue entities.
func
(
_u
*
UserAttributeDefinitionUpdate
)
RemoveValues
(
v
...*
UserAttributeValue
)
*
UserAttributeDefinitionUpdate
{
ids
:=
make
([]
int64
,
len
(
v
))
for
i
:=
range
v
{
ids
[
i
]
=
v
[
i
]
.
ID
}
return
_u
.
RemoveValueIDs
(
ids
...
)
}
// Save executes the query and returns the number of nodes affected by the update operation.
func
(
_u
*
UserAttributeDefinitionUpdate
)
Save
(
ctx
context
.
Context
)
(
int
,
error
)
{
if
err
:=
_u
.
defaults
();
err
!=
nil
{
return
0
,
err
}
return
withHooks
(
ctx
,
_u
.
sqlSave
,
_u
.
mutation
,
_u
.
hooks
)
}
// SaveX is like Save, but panics if an error occurs.
func
(
_u
*
UserAttributeDefinitionUpdate
)
SaveX
(
ctx
context
.
Context
)
int
{
affected
,
err
:=
_u
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
affected
}
// Exec executes the query.
func
(
_u
*
UserAttributeDefinitionUpdate
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_u
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_u
*
UserAttributeDefinitionUpdate
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_u
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// defaults sets the default values of the builder before save.
func
(
_u
*
UserAttributeDefinitionUpdate
)
defaults
()
error
{
if
_
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
!
ok
{
if
userattributedefinition
.
UpdateDefaultUpdatedAt
==
nil
{
return
fmt
.
Errorf
(
"ent: uninitialized userattributedefinition.UpdateDefaultUpdatedAt (forgotten import ent/runtime?)"
)
}
v
:=
userattributedefinition
.
UpdateDefaultUpdatedAt
()
_u
.
mutation
.
SetUpdatedAt
(
v
)
}
return
nil
}
// check runs all checks and user-defined validators on the builder.
func
(
_u
*
UserAttributeDefinitionUpdate
)
check
()
error
{
if
v
,
ok
:=
_u
.
mutation
.
Key
();
ok
{
if
err
:=
userattributedefinition
.
KeyValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"key"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.key": %w`
,
err
)}
}
}
if
v
,
ok
:=
_u
.
mutation
.
Name
();
ok
{
if
err
:=
userattributedefinition
.
NameValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"name"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.name": %w`
,
err
)}
}
}
if
v
,
ok
:=
_u
.
mutation
.
GetType
();
ok
{
if
err
:=
userattributedefinition
.
TypeValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"type"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.type": %w`
,
err
)}
}
}
if
v
,
ok
:=
_u
.
mutation
.
Placeholder
();
ok
{
if
err
:=
userattributedefinition
.
PlaceholderValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"placeholder"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.placeholder": %w`
,
err
)}
}
}
return
nil
}
func
(
_u
*
UserAttributeDefinitionUpdate
)
sqlSave
(
ctx
context
.
Context
)
(
_node
int
,
err
error
)
{
if
err
:=
_u
.
check
();
err
!=
nil
{
return
_node
,
err
}
_spec
:=
sqlgraph
.
NewUpdateSpec
(
userattributedefinition
.
Table
,
userattributedefinition
.
Columns
,
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
))
if
ps
:=
_u
.
mutation
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
if
value
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldUpdatedAt
,
field
.
TypeTime
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
DeletedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDeletedAt
,
field
.
TypeTime
,
value
)
}
if
_u
.
mutation
.
DeletedAtCleared
()
{
_spec
.
ClearField
(
userattributedefinition
.
FieldDeletedAt
,
field
.
TypeTime
)
}
if
value
,
ok
:=
_u
.
mutation
.
Key
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldKey
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Name
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldName
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Description
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDescription
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
GetType
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldType
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Options
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldOptions
,
field
.
TypeJSON
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
AppendedOptions
();
ok
{
_spec
.
AddModifier
(
func
(
u
*
sql
.
UpdateBuilder
)
{
sqljson
.
Append
(
u
,
userattributedefinition
.
FieldOptions
,
value
)
})
}
if
value
,
ok
:=
_u
.
mutation
.
Required
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldRequired
,
field
.
TypeBool
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Validation
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldValidation
,
field
.
TypeJSON
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Placeholder
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldPlaceholder
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
DisplayOrder
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDisplayOrder
,
field
.
TypeInt
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
AddedDisplayOrder
();
ok
{
_spec
.
AddField
(
userattributedefinition
.
FieldDisplayOrder
,
field
.
TypeInt
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Enabled
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldEnabled
,
field
.
TypeBool
,
value
)
}
if
_u
.
mutation
.
ValuesCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
RemovedValuesIDs
();
len
(
nodes
)
>
0
&&
!
_u
.
mutation
.
ValuesCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
ValuesIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Add
=
append
(
_spec
.
Edges
.
Add
,
edge
)
}
if
_node
,
err
=
sqlgraph
.
UpdateNodes
(
ctx
,
_u
.
driver
,
_spec
);
err
!=
nil
{
if
_
,
ok
:=
err
.
(
*
sqlgraph
.
NotFoundError
);
ok
{
err
=
&
NotFoundError
{
userattributedefinition
.
Label
}
}
else
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
return
0
,
err
}
_u
.
mutation
.
done
=
true
return
_node
,
nil
}
// UserAttributeDefinitionUpdateOne is the builder for updating a single UserAttributeDefinition entity.
type
UserAttributeDefinitionUpdateOne
struct
{
config
fields
[]
string
hooks
[]
Hook
mutation
*
UserAttributeDefinitionMutation
}
// SetUpdatedAt sets the "updated_at" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetUpdatedAt
(
v
)
return
_u
}
// SetDeletedAt sets the "deleted_at" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetDeletedAt
(
v
time
.
Time
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetDeletedAt
(
v
)
return
_u
}
// SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableDeletedAt
(
v
*
time
.
Time
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetDeletedAt
(
*
v
)
}
return
_u
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
ClearDeletedAt
()
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
ClearDeletedAt
()
return
_u
}
// SetKey sets the "key" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetKey
(
v
string
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetKey
(
v
)
return
_u
}
// SetNillableKey sets the "key" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableKey
(
v
*
string
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetKey
(
*
v
)
}
return
_u
}
// SetName sets the "name" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetName
(
v
string
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetName
(
v
)
return
_u
}
// SetNillableName sets the "name" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableName
(
v
*
string
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetName
(
*
v
)
}
return
_u
}
// SetDescription sets the "description" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetDescription
(
v
string
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetDescription
(
v
)
return
_u
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableDescription
(
v
*
string
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetDescription
(
*
v
)
}
return
_u
}
// SetType sets the "type" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetType
(
v
string
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetType
(
v
)
return
_u
}
// SetNillableType sets the "type" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableType
(
v
*
string
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetType
(
*
v
)
}
return
_u
}
// SetOptions sets the "options" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetOptions
(
v
)
return
_u
}
// AppendOptions appends value to the "options" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
AppendOptions
(
v
[]
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
AppendOptions
(
v
)
return
_u
}
// SetRequired sets the "required" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetRequired
(
v
bool
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetRequired
(
v
)
return
_u
}
// SetNillableRequired sets the "required" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableRequired
(
v
*
bool
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetRequired
(
*
v
)
}
return
_u
}
// SetValidation sets the "validation" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetValidation
(
v
map
[
string
]
interface
{})
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetValidation
(
v
)
return
_u
}
// SetPlaceholder sets the "placeholder" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetPlaceholder
(
v
string
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetPlaceholder
(
v
)
return
_u
}
// SetNillablePlaceholder sets the "placeholder" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillablePlaceholder
(
v
*
string
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetPlaceholder
(
*
v
)
}
return
_u
}
// SetDisplayOrder sets the "display_order" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
ResetDisplayOrder
()
_u
.
mutation
.
SetDisplayOrder
(
v
)
return
_u
}
// SetNillableDisplayOrder sets the "display_order" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableDisplayOrder
(
v
*
int
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetDisplayOrder
(
*
v
)
}
return
_u
}
// AddDisplayOrder adds value to the "display_order" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
AddDisplayOrder
(
v
int
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
AddDisplayOrder
(
v
)
return
_u
}
// SetEnabled sets the "enabled" field.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetEnabled
(
v
bool
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
SetEnabled
(
v
)
return
_u
}
// SetNillableEnabled sets the "enabled" field if the given value is not nil.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SetNillableEnabled
(
v
*
bool
)
*
UserAttributeDefinitionUpdateOne
{
if
v
!=
nil
{
_u
.
SetEnabled
(
*
v
)
}
return
_u
}
// AddValueIDs adds the "values" edge to the UserAttributeValue entity by IDs.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
AddValueIDs
(
ids
...
int64
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
AddValueIDs
(
ids
...
)
return
_u
}
// AddValues adds the "values" edges to the UserAttributeValue entity.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
AddValues
(
v
...*
UserAttributeValue
)
*
UserAttributeDefinitionUpdateOne
{
ids
:=
make
([]
int64
,
len
(
v
))
for
i
:=
range
v
{
ids
[
i
]
=
v
[
i
]
.
ID
}
return
_u
.
AddValueIDs
(
ids
...
)
}
// Mutation returns the UserAttributeDefinitionMutation object of the builder.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
Mutation
()
*
UserAttributeDefinitionMutation
{
return
_u
.
mutation
}
// ClearValues clears all "values" edges to the UserAttributeValue entity.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
ClearValues
()
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
ClearValues
()
return
_u
}
// RemoveValueIDs removes the "values" edge to UserAttributeValue entities by IDs.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
RemoveValueIDs
(
ids
...
int64
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
RemoveValueIDs
(
ids
...
)
return
_u
}
// RemoveValues removes "values" edges to UserAttributeValue entities.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
RemoveValues
(
v
...*
UserAttributeValue
)
*
UserAttributeDefinitionUpdateOne
{
ids
:=
make
([]
int64
,
len
(
v
))
for
i
:=
range
v
{
ids
[
i
]
=
v
[
i
]
.
ID
}
return
_u
.
RemoveValueIDs
(
ids
...
)
}
// Where appends a list predicates to the UserAttributeDefinitionUpdate builder.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
Where
(
ps
...
predicate
.
UserAttributeDefinition
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
mutation
.
Where
(
ps
...
)
return
_u
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
Select
(
field
string
,
fields
...
string
)
*
UserAttributeDefinitionUpdateOne
{
_u
.
fields
=
append
([]
string
{
field
},
fields
...
)
return
_u
}
// Save executes the query and returns the updated UserAttributeDefinition entity.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
Save
(
ctx
context
.
Context
)
(
*
UserAttributeDefinition
,
error
)
{
if
err
:=
_u
.
defaults
();
err
!=
nil
{
return
nil
,
err
}
return
withHooks
(
ctx
,
_u
.
sqlSave
,
_u
.
mutation
,
_u
.
hooks
)
}
// SaveX is like Save, but panics if an error occurs.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
SaveX
(
ctx
context
.
Context
)
*
UserAttributeDefinition
{
node
,
err
:=
_u
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
node
}
// Exec executes the query on the entity.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_u
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_u
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// defaults sets the default values of the builder before save.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
defaults
()
error
{
if
_
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
!
ok
{
if
userattributedefinition
.
UpdateDefaultUpdatedAt
==
nil
{
return
fmt
.
Errorf
(
"ent: uninitialized userattributedefinition.UpdateDefaultUpdatedAt (forgotten import ent/runtime?)"
)
}
v
:=
userattributedefinition
.
UpdateDefaultUpdatedAt
()
_u
.
mutation
.
SetUpdatedAt
(
v
)
}
return
nil
}
// check runs all checks and user-defined validators on the builder.
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
check
()
error
{
if
v
,
ok
:=
_u
.
mutation
.
Key
();
ok
{
if
err
:=
userattributedefinition
.
KeyValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"key"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.key": %w`
,
err
)}
}
}
if
v
,
ok
:=
_u
.
mutation
.
Name
();
ok
{
if
err
:=
userattributedefinition
.
NameValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"name"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.name": %w`
,
err
)}
}
}
if
v
,
ok
:=
_u
.
mutation
.
GetType
();
ok
{
if
err
:=
userattributedefinition
.
TypeValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"type"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.type": %w`
,
err
)}
}
}
if
v
,
ok
:=
_u
.
mutation
.
Placeholder
();
ok
{
if
err
:=
userattributedefinition
.
PlaceholderValidator
(
v
);
err
!=
nil
{
return
&
ValidationError
{
Name
:
"placeholder"
,
err
:
fmt
.
Errorf
(
`ent: validator failed for field "UserAttributeDefinition.placeholder": %w`
,
err
)}
}
}
return
nil
}
func
(
_u
*
UserAttributeDefinitionUpdateOne
)
sqlSave
(
ctx
context
.
Context
)
(
_node
*
UserAttributeDefinition
,
err
error
)
{
if
err
:=
_u
.
check
();
err
!=
nil
{
return
_node
,
err
}
_spec
:=
sqlgraph
.
NewUpdateSpec
(
userattributedefinition
.
Table
,
userattributedefinition
.
Columns
,
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
))
id
,
ok
:=
_u
.
mutation
.
ID
()
if
!
ok
{
return
nil
,
&
ValidationError
{
Name
:
"id"
,
err
:
errors
.
New
(
`ent: missing "UserAttributeDefinition.id" for update`
)}
}
_spec
.
Node
.
ID
.
Value
=
id
if
fields
:=
_u
.
fields
;
len
(
fields
)
>
0
{
_spec
.
Node
.
Columns
=
make
([]
string
,
0
,
len
(
fields
))
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
userattributedefinition
.
FieldID
)
for
_
,
f
:=
range
fields
{
if
!
userattributedefinition
.
ValidColumn
(
f
)
{
return
nil
,
&
ValidationError
{
Name
:
f
,
err
:
fmt
.
Errorf
(
"ent: invalid field %q for query"
,
f
)}
}
if
f
!=
userattributedefinition
.
FieldID
{
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
f
)
}
}
}
if
ps
:=
_u
.
mutation
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
if
value
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldUpdatedAt
,
field
.
TypeTime
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
DeletedAt
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDeletedAt
,
field
.
TypeTime
,
value
)
}
if
_u
.
mutation
.
DeletedAtCleared
()
{
_spec
.
ClearField
(
userattributedefinition
.
FieldDeletedAt
,
field
.
TypeTime
)
}
if
value
,
ok
:=
_u
.
mutation
.
Key
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldKey
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Name
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldName
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Description
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDescription
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
GetType
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldType
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Options
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldOptions
,
field
.
TypeJSON
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
AppendedOptions
();
ok
{
_spec
.
AddModifier
(
func
(
u
*
sql
.
UpdateBuilder
)
{
sqljson
.
Append
(
u
,
userattributedefinition
.
FieldOptions
,
value
)
})
}
if
value
,
ok
:=
_u
.
mutation
.
Required
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldRequired
,
field
.
TypeBool
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Validation
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldValidation
,
field
.
TypeJSON
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Placeholder
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldPlaceholder
,
field
.
TypeString
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
DisplayOrder
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldDisplayOrder
,
field
.
TypeInt
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
AddedDisplayOrder
();
ok
{
_spec
.
AddField
(
userattributedefinition
.
FieldDisplayOrder
,
field
.
TypeInt
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Enabled
();
ok
{
_spec
.
SetField
(
userattributedefinition
.
FieldEnabled
,
field
.
TypeBool
,
value
)
}
if
_u
.
mutation
.
ValuesCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
RemovedValuesIDs
();
len
(
nodes
)
>
0
&&
!
_u
.
mutation
.
ValuesCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
ValuesIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
O2M
,
Inverse
:
false
,
Table
:
userattributedefinition
.
ValuesTable
,
Columns
:
[]
string
{
userattributedefinition
.
ValuesColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Add
=
append
(
_spec
.
Edges
.
Add
,
edge
)
}
_node
=
&
UserAttributeDefinition
{
config
:
_u
.
config
}
_spec
.
Assign
=
_node
.
assignValues
_spec
.
ScanValues
=
_node
.
scanValues
if
err
=
sqlgraph
.
UpdateNode
(
ctx
,
_u
.
driver
,
_spec
);
err
!=
nil
{
if
_
,
ok
:=
err
.
(
*
sqlgraph
.
NotFoundError
);
ok
{
err
=
&
NotFoundError
{
userattributedefinition
.
Label
}
}
else
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
return
nil
,
err
}
_u
.
mutation
.
done
=
true
return
_node
,
nil
}
backend/ent/userattributevalue.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"fmt"
"strings"
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"github.com/Wei-Shaw/sub2api/ent/user"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeValue is the model entity for the UserAttributeValue schema.
type
UserAttributeValue
struct
{
config
`json:"-"`
// ID of the ent.
ID
int64
`json:"id,omitempty"`
// CreatedAt holds the value of the "created_at" field.
CreatedAt
time
.
Time
`json:"created_at,omitempty"`
// UpdatedAt holds the value of the "updated_at" field.
UpdatedAt
time
.
Time
`json:"updated_at,omitempty"`
// UserID holds the value of the "user_id" field.
UserID
int64
`json:"user_id,omitempty"`
// AttributeID holds the value of the "attribute_id" field.
AttributeID
int64
`json:"attribute_id,omitempty"`
// Value holds the value of the "value" field.
Value
string
`json:"value,omitempty"`
// Edges holds the relations/edges for other nodes in the graph.
// The values are being populated by the UserAttributeValueQuery when eager-loading is set.
Edges
UserAttributeValueEdges
`json:"edges"`
selectValues
sql
.
SelectValues
}
// UserAttributeValueEdges holds the relations/edges for other nodes in the graph.
type
UserAttributeValueEdges
struct
{
// User holds the value of the user edge.
User
*
User
`json:"user,omitempty"`
// Definition holds the value of the definition edge.
Definition
*
UserAttributeDefinition
`json:"definition,omitempty"`
// loadedTypes holds the information for reporting if a
// type was loaded (or requested) in eager-loading or not.
loadedTypes
[
2
]
bool
}
// UserOrErr returns the User value or an error if the edge
// was not loaded in eager-loading, or loaded but was not found.
func
(
e
UserAttributeValueEdges
)
UserOrErr
()
(
*
User
,
error
)
{
if
e
.
User
!=
nil
{
return
e
.
User
,
nil
}
else
if
e
.
loadedTypes
[
0
]
{
return
nil
,
&
NotFoundError
{
label
:
user
.
Label
}
}
return
nil
,
&
NotLoadedError
{
edge
:
"user"
}
}
// DefinitionOrErr returns the Definition value or an error if the edge
// was not loaded in eager-loading, or loaded but was not found.
func
(
e
UserAttributeValueEdges
)
DefinitionOrErr
()
(
*
UserAttributeDefinition
,
error
)
{
if
e
.
Definition
!=
nil
{
return
e
.
Definition
,
nil
}
else
if
e
.
loadedTypes
[
1
]
{
return
nil
,
&
NotFoundError
{
label
:
userattributedefinition
.
Label
}
}
return
nil
,
&
NotLoadedError
{
edge
:
"definition"
}
}
// scanValues returns the types for scanning values from sql.Rows.
func
(
*
UserAttributeValue
)
scanValues
(
columns
[]
string
)
([]
any
,
error
)
{
values
:=
make
([]
any
,
len
(
columns
))
for
i
:=
range
columns
{
switch
columns
[
i
]
{
case
userattributevalue
.
FieldID
,
userattributevalue
.
FieldUserID
,
userattributevalue
.
FieldAttributeID
:
values
[
i
]
=
new
(
sql
.
NullInt64
)
case
userattributevalue
.
FieldValue
:
values
[
i
]
=
new
(
sql
.
NullString
)
case
userattributevalue
.
FieldCreatedAt
,
userattributevalue
.
FieldUpdatedAt
:
values
[
i
]
=
new
(
sql
.
NullTime
)
default
:
values
[
i
]
=
new
(
sql
.
UnknownType
)
}
}
return
values
,
nil
}
// assignValues assigns the values that were returned from sql.Rows (after scanning)
// to the UserAttributeValue fields.
func
(
_m
*
UserAttributeValue
)
assignValues
(
columns
[]
string
,
values
[]
any
)
error
{
if
m
,
n
:=
len
(
values
),
len
(
columns
);
m
<
n
{
return
fmt
.
Errorf
(
"mismatch number of scan values: %d != %d"
,
m
,
n
)
}
for
i
:=
range
columns
{
switch
columns
[
i
]
{
case
userattributevalue
.
FieldID
:
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullInt64
)
if
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field id"
,
value
)
}
_m
.
ID
=
int64
(
value
.
Int64
)
case
userattributevalue
.
FieldCreatedAt
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullTime
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field created_at"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
CreatedAt
=
value
.
Time
}
case
userattributevalue
.
FieldUpdatedAt
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullTime
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field updated_at"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
UpdatedAt
=
value
.
Time
}
case
userattributevalue
.
FieldUserID
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullInt64
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field user_id"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
UserID
=
value
.
Int64
}
case
userattributevalue
.
FieldAttributeID
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullInt64
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field attribute_id"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
AttributeID
=
value
.
Int64
}
case
userattributevalue
.
FieldValue
:
if
value
,
ok
:=
values
[
i
]
.
(
*
sql
.
NullString
);
!
ok
{
return
fmt
.
Errorf
(
"unexpected type %T for field value"
,
values
[
i
])
}
else
if
value
.
Valid
{
_m
.
Value
=
value
.
String
}
default
:
_m
.
selectValues
.
Set
(
columns
[
i
],
values
[
i
])
}
}
return
nil
}
// GetValue returns the ent.Value that was dynamically selected and assigned to the UserAttributeValue.
// This includes values selected through modifiers, order, etc.
func
(
_m
*
UserAttributeValue
)
GetValue
(
name
string
)
(
ent
.
Value
,
error
)
{
return
_m
.
selectValues
.
Get
(
name
)
}
// QueryUser queries the "user" edge of the UserAttributeValue entity.
func
(
_m
*
UserAttributeValue
)
QueryUser
()
*
UserQuery
{
return
NewUserAttributeValueClient
(
_m
.
config
)
.
QueryUser
(
_m
)
}
// QueryDefinition queries the "definition" edge of the UserAttributeValue entity.
func
(
_m
*
UserAttributeValue
)
QueryDefinition
()
*
UserAttributeDefinitionQuery
{
return
NewUserAttributeValueClient
(
_m
.
config
)
.
QueryDefinition
(
_m
)
}
// Update returns a builder for updating this UserAttributeValue.
// Note that you need to call UserAttributeValue.Unwrap() before calling this method if this UserAttributeValue
// was returned from a transaction, and the transaction was committed or rolled back.
func
(
_m
*
UserAttributeValue
)
Update
()
*
UserAttributeValueUpdateOne
{
return
NewUserAttributeValueClient
(
_m
.
config
)
.
UpdateOne
(
_m
)
}
// Unwrap unwraps the UserAttributeValue entity that was returned from a transaction after it was closed,
// so that all future queries will be executed through the driver which created the transaction.
func
(
_m
*
UserAttributeValue
)
Unwrap
()
*
UserAttributeValue
{
_tx
,
ok
:=
_m
.
config
.
driver
.
(
*
txDriver
)
if
!
ok
{
panic
(
"ent: UserAttributeValue is not a transactional entity"
)
}
_m
.
config
.
driver
=
_tx
.
drv
return
_m
}
// String implements the fmt.Stringer.
func
(
_m
*
UserAttributeValue
)
String
()
string
{
var
builder
strings
.
Builder
builder
.
WriteString
(
"UserAttributeValue("
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"id=%v, "
,
_m
.
ID
))
builder
.
WriteString
(
"created_at="
)
builder
.
WriteString
(
_m
.
CreatedAt
.
Format
(
time
.
ANSIC
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"updated_at="
)
builder
.
WriteString
(
_m
.
UpdatedAt
.
Format
(
time
.
ANSIC
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"user_id="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
UserID
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"attribute_id="
)
builder
.
WriteString
(
fmt
.
Sprintf
(
"%v"
,
_m
.
AttributeID
))
builder
.
WriteString
(
", "
)
builder
.
WriteString
(
"value="
)
builder
.
WriteString
(
_m
.
Value
)
builder
.
WriteByte
(
')'
)
return
builder
.
String
()
}
// UserAttributeValues is a parsable slice of UserAttributeValue.
type
UserAttributeValues
[]
*
UserAttributeValue
backend/ent/userattributevalue/userattributevalue.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
userattributevalue
import
(
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
)
const
(
// Label holds the string label denoting the userattributevalue type in the database.
Label
=
"user_attribute_value"
// FieldID holds the string denoting the id field in the database.
FieldID
=
"id"
// FieldCreatedAt holds the string denoting the created_at field in the database.
FieldCreatedAt
=
"created_at"
// FieldUpdatedAt holds the string denoting the updated_at field in the database.
FieldUpdatedAt
=
"updated_at"
// FieldUserID holds the string denoting the user_id field in the database.
FieldUserID
=
"user_id"
// FieldAttributeID holds the string denoting the attribute_id field in the database.
FieldAttributeID
=
"attribute_id"
// FieldValue holds the string denoting the value field in the database.
FieldValue
=
"value"
// EdgeUser holds the string denoting the user edge name in mutations.
EdgeUser
=
"user"
// EdgeDefinition holds the string denoting the definition edge name in mutations.
EdgeDefinition
=
"definition"
// Table holds the table name of the userattributevalue in the database.
Table
=
"user_attribute_values"
// UserTable is the table that holds the user relation/edge.
UserTable
=
"user_attribute_values"
// UserInverseTable is the table name for the User entity.
// It exists in this package in order to avoid circular dependency with the "user" package.
UserInverseTable
=
"users"
// UserColumn is the table column denoting the user relation/edge.
UserColumn
=
"user_id"
// DefinitionTable is the table that holds the definition relation/edge.
DefinitionTable
=
"user_attribute_values"
// DefinitionInverseTable is the table name for the UserAttributeDefinition entity.
// It exists in this package in order to avoid circular dependency with the "userattributedefinition" package.
DefinitionInverseTable
=
"user_attribute_definitions"
// DefinitionColumn is the table column denoting the definition relation/edge.
DefinitionColumn
=
"attribute_id"
)
// Columns holds all SQL columns for userattributevalue fields.
var
Columns
=
[]
string
{
FieldID
,
FieldCreatedAt
,
FieldUpdatedAt
,
FieldUserID
,
FieldAttributeID
,
FieldValue
,
}
// 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
(
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
DefaultCreatedAt
func
()
time
.
Time
// DefaultUpdatedAt holds the default value on creation for the "updated_at" field.
DefaultUpdatedAt
func
()
time
.
Time
// UpdateDefaultUpdatedAt holds the default value on update for the "updated_at" field.
UpdateDefaultUpdatedAt
func
()
time
.
Time
// DefaultValue holds the default value on creation for the "value" field.
DefaultValue
string
)
// OrderOption defines the ordering options for the UserAttributeValue 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
()
}
// ByCreatedAt orders the results by the created_at field.
func
ByCreatedAt
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldCreatedAt
,
opts
...
)
.
ToFunc
()
}
// ByUpdatedAt orders the results by the updated_at field.
func
ByUpdatedAt
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldUpdatedAt
,
opts
...
)
.
ToFunc
()
}
// ByUserID orders the results by the user_id field.
func
ByUserID
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldUserID
,
opts
...
)
.
ToFunc
()
}
// ByAttributeID orders the results by the attribute_id field.
func
ByAttributeID
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldAttributeID
,
opts
...
)
.
ToFunc
()
}
// ByValue orders the results by the value field.
func
ByValue
(
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
sql
.
OrderByField
(
FieldValue
,
opts
...
)
.
ToFunc
()
}
// ByUserField orders the results by user field.
func
ByUserField
(
field
string
,
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
func
(
s
*
sql
.
Selector
)
{
sqlgraph
.
OrderByNeighborTerms
(
s
,
newUserStep
(),
sql
.
OrderByField
(
field
,
opts
...
))
}
}
// ByDefinitionField orders the results by definition field.
func
ByDefinitionField
(
field
string
,
opts
...
sql
.
OrderTermOption
)
OrderOption
{
return
func
(
s
*
sql
.
Selector
)
{
sqlgraph
.
OrderByNeighborTerms
(
s
,
newDefinitionStep
(),
sql
.
OrderByField
(
field
,
opts
...
))
}
}
func
newUserStep
()
*
sqlgraph
.
Step
{
return
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
Table
,
FieldID
),
sqlgraph
.
To
(
UserInverseTable
,
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
M2O
,
true
,
UserTable
,
UserColumn
),
)
}
func
newDefinitionStep
()
*
sqlgraph
.
Step
{
return
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
Table
,
FieldID
),
sqlgraph
.
To
(
DefinitionInverseTable
,
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
M2O
,
true
,
DefinitionTable
,
DefinitionColumn
),
)
}
backend/ent/userattributevalue/where.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
userattributevalue
import
(
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"github.com/Wei-Shaw/sub2api/ent/predicate"
)
// ID filters vertices based on their ID field.
func
ID
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldID
,
id
))
}
// IDEQ applies the EQ predicate on the ID field.
func
IDEQ
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldID
,
id
))
}
// IDNEQ applies the NEQ predicate on the ID field.
func
IDNEQ
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNEQ
(
FieldID
,
id
))
}
// IDIn applies the In predicate on the ID field.
func
IDIn
(
ids
...
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldIn
(
FieldID
,
ids
...
))
}
// IDNotIn applies the NotIn predicate on the ID field.
func
IDNotIn
(
ids
...
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNotIn
(
FieldID
,
ids
...
))
}
// IDGT applies the GT predicate on the ID field.
func
IDGT
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGT
(
FieldID
,
id
))
}
// IDGTE applies the GTE predicate on the ID field.
func
IDGTE
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGTE
(
FieldID
,
id
))
}
// IDLT applies the LT predicate on the ID field.
func
IDLT
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLT
(
FieldID
,
id
))
}
// IDLTE applies the LTE predicate on the ID field.
func
IDLTE
(
id
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLTE
(
FieldID
,
id
))
}
// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func
CreatedAt
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldCreatedAt
,
v
))
}
// UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ.
func
UpdatedAt
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldUpdatedAt
,
v
))
}
// UserID applies equality check predicate on the "user_id" field. It's identical to UserIDEQ.
func
UserID
(
v
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldUserID
,
v
))
}
// AttributeID applies equality check predicate on the "attribute_id" field. It's identical to AttributeIDEQ.
func
AttributeID
(
v
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldAttributeID
,
v
))
}
// Value applies equality check predicate on the "value" field. It's identical to ValueEQ.
func
Value
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldValue
,
v
))
}
// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func
CreatedAtEQ
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldCreatedAt
,
v
))
}
// CreatedAtNEQ applies the NEQ predicate on the "created_at" field.
func
CreatedAtNEQ
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNEQ
(
FieldCreatedAt
,
v
))
}
// CreatedAtIn applies the In predicate on the "created_at" field.
func
CreatedAtIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldIn
(
FieldCreatedAt
,
vs
...
))
}
// CreatedAtNotIn applies the NotIn predicate on the "created_at" field.
func
CreatedAtNotIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNotIn
(
FieldCreatedAt
,
vs
...
))
}
// CreatedAtGT applies the GT predicate on the "created_at" field.
func
CreatedAtGT
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGT
(
FieldCreatedAt
,
v
))
}
// CreatedAtGTE applies the GTE predicate on the "created_at" field.
func
CreatedAtGTE
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGTE
(
FieldCreatedAt
,
v
))
}
// CreatedAtLT applies the LT predicate on the "created_at" field.
func
CreatedAtLT
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLT
(
FieldCreatedAt
,
v
))
}
// CreatedAtLTE applies the LTE predicate on the "created_at" field.
func
CreatedAtLTE
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLTE
(
FieldCreatedAt
,
v
))
}
// UpdatedAtEQ applies the EQ predicate on the "updated_at" field.
func
UpdatedAtEQ
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field.
func
UpdatedAtNEQ
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNEQ
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtIn applies the In predicate on the "updated_at" field.
func
UpdatedAtIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldIn
(
FieldUpdatedAt
,
vs
...
))
}
// UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field.
func
UpdatedAtNotIn
(
vs
...
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNotIn
(
FieldUpdatedAt
,
vs
...
))
}
// UpdatedAtGT applies the GT predicate on the "updated_at" field.
func
UpdatedAtGT
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGT
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtGTE applies the GTE predicate on the "updated_at" field.
func
UpdatedAtGTE
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGTE
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtLT applies the LT predicate on the "updated_at" field.
func
UpdatedAtLT
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLT
(
FieldUpdatedAt
,
v
))
}
// UpdatedAtLTE applies the LTE predicate on the "updated_at" field.
func
UpdatedAtLTE
(
v
time
.
Time
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLTE
(
FieldUpdatedAt
,
v
))
}
// UserIDEQ applies the EQ predicate on the "user_id" field.
func
UserIDEQ
(
v
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldUserID
,
v
))
}
// UserIDNEQ applies the NEQ predicate on the "user_id" field.
func
UserIDNEQ
(
v
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNEQ
(
FieldUserID
,
v
))
}
// UserIDIn applies the In predicate on the "user_id" field.
func
UserIDIn
(
vs
...
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldIn
(
FieldUserID
,
vs
...
))
}
// UserIDNotIn applies the NotIn predicate on the "user_id" field.
func
UserIDNotIn
(
vs
...
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNotIn
(
FieldUserID
,
vs
...
))
}
// AttributeIDEQ applies the EQ predicate on the "attribute_id" field.
func
AttributeIDEQ
(
v
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldAttributeID
,
v
))
}
// AttributeIDNEQ applies the NEQ predicate on the "attribute_id" field.
func
AttributeIDNEQ
(
v
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNEQ
(
FieldAttributeID
,
v
))
}
// AttributeIDIn applies the In predicate on the "attribute_id" field.
func
AttributeIDIn
(
vs
...
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldIn
(
FieldAttributeID
,
vs
...
))
}
// AttributeIDNotIn applies the NotIn predicate on the "attribute_id" field.
func
AttributeIDNotIn
(
vs
...
int64
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNotIn
(
FieldAttributeID
,
vs
...
))
}
// ValueEQ applies the EQ predicate on the "value" field.
func
ValueEQ
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEQ
(
FieldValue
,
v
))
}
// ValueNEQ applies the NEQ predicate on the "value" field.
func
ValueNEQ
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNEQ
(
FieldValue
,
v
))
}
// ValueIn applies the In predicate on the "value" field.
func
ValueIn
(
vs
...
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldIn
(
FieldValue
,
vs
...
))
}
// ValueNotIn applies the NotIn predicate on the "value" field.
func
ValueNotIn
(
vs
...
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldNotIn
(
FieldValue
,
vs
...
))
}
// ValueGT applies the GT predicate on the "value" field.
func
ValueGT
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGT
(
FieldValue
,
v
))
}
// ValueGTE applies the GTE predicate on the "value" field.
func
ValueGTE
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldGTE
(
FieldValue
,
v
))
}
// ValueLT applies the LT predicate on the "value" field.
func
ValueLT
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLT
(
FieldValue
,
v
))
}
// ValueLTE applies the LTE predicate on the "value" field.
func
ValueLTE
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldLTE
(
FieldValue
,
v
))
}
// ValueContains applies the Contains predicate on the "value" field.
func
ValueContains
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldContains
(
FieldValue
,
v
))
}
// ValueHasPrefix applies the HasPrefix predicate on the "value" field.
func
ValueHasPrefix
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldHasPrefix
(
FieldValue
,
v
))
}
// ValueHasSuffix applies the HasSuffix predicate on the "value" field.
func
ValueHasSuffix
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldHasSuffix
(
FieldValue
,
v
))
}
// ValueEqualFold applies the EqualFold predicate on the "value" field.
func
ValueEqualFold
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldEqualFold
(
FieldValue
,
v
))
}
// ValueContainsFold applies the ContainsFold predicate on the "value" field.
func
ValueContainsFold
(
v
string
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
FieldContainsFold
(
FieldValue
,
v
))
}
// HasUser applies the HasEdge predicate on the "user" edge.
func
HasUser
()
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
func
(
s
*
sql
.
Selector
)
{
step
:=
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
Table
,
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
M2O
,
true
,
UserTable
,
UserColumn
),
)
sqlgraph
.
HasNeighbors
(
s
,
step
)
})
}
// HasUserWith applies the HasEdge predicate on the "user" edge with a given conditions (other predicates).
func
HasUserWith
(
preds
...
predicate
.
User
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
func
(
s
*
sql
.
Selector
)
{
step
:=
newUserStep
()
sqlgraph
.
HasNeighborsWith
(
s
,
step
,
func
(
s
*
sql
.
Selector
)
{
for
_
,
p
:=
range
preds
{
p
(
s
)
}
})
})
}
// HasDefinition applies the HasEdge predicate on the "definition" edge.
func
HasDefinition
()
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
func
(
s
*
sql
.
Selector
)
{
step
:=
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
Table
,
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
M2O
,
true
,
DefinitionTable
,
DefinitionColumn
),
)
sqlgraph
.
HasNeighbors
(
s
,
step
)
})
}
// HasDefinitionWith applies the HasEdge predicate on the "definition" edge with a given conditions (other predicates).
func
HasDefinitionWith
(
preds
...
predicate
.
UserAttributeDefinition
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
func
(
s
*
sql
.
Selector
)
{
step
:=
newDefinitionStep
()
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
.
UserAttributeValue
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
AndPredicates
(
predicates
...
))
}
// Or groups predicates with the OR operator between them.
func
Or
(
predicates
...
predicate
.
UserAttributeValue
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
OrPredicates
(
predicates
...
))
}
// Not applies the not operator on the given predicate.
func
Not
(
p
predicate
.
UserAttributeValue
)
predicate
.
UserAttributeValue
{
return
predicate
.
UserAttributeValue
(
sql
.
NotPredicates
(
p
))
}
backend/ent/userattributevalue_create.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"errors"
"fmt"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/user"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeValueCreate is the builder for creating a UserAttributeValue entity.
type
UserAttributeValueCreate
struct
{
config
mutation
*
UserAttributeValueMutation
hooks
[]
Hook
conflict
[]
sql
.
ConflictOption
}
// SetCreatedAt sets the "created_at" field.
func
(
_c
*
UserAttributeValueCreate
)
SetCreatedAt
(
v
time
.
Time
)
*
UserAttributeValueCreate
{
_c
.
mutation
.
SetCreatedAt
(
v
)
return
_c
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func
(
_c
*
UserAttributeValueCreate
)
SetNillableCreatedAt
(
v
*
time
.
Time
)
*
UserAttributeValueCreate
{
if
v
!=
nil
{
_c
.
SetCreatedAt
(
*
v
)
}
return
_c
}
// SetUpdatedAt sets the "updated_at" field.
func
(
_c
*
UserAttributeValueCreate
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeValueCreate
{
_c
.
mutation
.
SetUpdatedAt
(
v
)
return
_c
}
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
func
(
_c
*
UserAttributeValueCreate
)
SetNillableUpdatedAt
(
v
*
time
.
Time
)
*
UserAttributeValueCreate
{
if
v
!=
nil
{
_c
.
SetUpdatedAt
(
*
v
)
}
return
_c
}
// SetUserID sets the "user_id" field.
func
(
_c
*
UserAttributeValueCreate
)
SetUserID
(
v
int64
)
*
UserAttributeValueCreate
{
_c
.
mutation
.
SetUserID
(
v
)
return
_c
}
// SetAttributeID sets the "attribute_id" field.
func
(
_c
*
UserAttributeValueCreate
)
SetAttributeID
(
v
int64
)
*
UserAttributeValueCreate
{
_c
.
mutation
.
SetAttributeID
(
v
)
return
_c
}
// SetValue sets the "value" field.
func
(
_c
*
UserAttributeValueCreate
)
SetValue
(
v
string
)
*
UserAttributeValueCreate
{
_c
.
mutation
.
SetValue
(
v
)
return
_c
}
// SetNillableValue sets the "value" field if the given value is not nil.
func
(
_c
*
UserAttributeValueCreate
)
SetNillableValue
(
v
*
string
)
*
UserAttributeValueCreate
{
if
v
!=
nil
{
_c
.
SetValue
(
*
v
)
}
return
_c
}
// SetUser sets the "user" edge to the User entity.
func
(
_c
*
UserAttributeValueCreate
)
SetUser
(
v
*
User
)
*
UserAttributeValueCreate
{
return
_c
.
SetUserID
(
v
.
ID
)
}
// SetDefinitionID sets the "definition" edge to the UserAttributeDefinition entity by ID.
func
(
_c
*
UserAttributeValueCreate
)
SetDefinitionID
(
id
int64
)
*
UserAttributeValueCreate
{
_c
.
mutation
.
SetDefinitionID
(
id
)
return
_c
}
// SetDefinition sets the "definition" edge to the UserAttributeDefinition entity.
func
(
_c
*
UserAttributeValueCreate
)
SetDefinition
(
v
*
UserAttributeDefinition
)
*
UserAttributeValueCreate
{
return
_c
.
SetDefinitionID
(
v
.
ID
)
}
// Mutation returns the UserAttributeValueMutation object of the builder.
func
(
_c
*
UserAttributeValueCreate
)
Mutation
()
*
UserAttributeValueMutation
{
return
_c
.
mutation
}
// Save creates the UserAttributeValue in the database.
func
(
_c
*
UserAttributeValueCreate
)
Save
(
ctx
context
.
Context
)
(
*
UserAttributeValue
,
error
)
{
_c
.
defaults
()
return
withHooks
(
ctx
,
_c
.
sqlSave
,
_c
.
mutation
,
_c
.
hooks
)
}
// SaveX calls Save and panics if Save returns an error.
func
(
_c
*
UserAttributeValueCreate
)
SaveX
(
ctx
context
.
Context
)
*
UserAttributeValue
{
v
,
err
:=
_c
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
v
}
// Exec executes the query.
func
(
_c
*
UserAttributeValueCreate
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_c
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_c
*
UserAttributeValueCreate
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_c
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// defaults sets the default values of the builder before save.
func
(
_c
*
UserAttributeValueCreate
)
defaults
()
{
if
_
,
ok
:=
_c
.
mutation
.
CreatedAt
();
!
ok
{
v
:=
userattributevalue
.
DefaultCreatedAt
()
_c
.
mutation
.
SetCreatedAt
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
UpdatedAt
();
!
ok
{
v
:=
userattributevalue
.
DefaultUpdatedAt
()
_c
.
mutation
.
SetUpdatedAt
(
v
)
}
if
_
,
ok
:=
_c
.
mutation
.
Value
();
!
ok
{
v
:=
userattributevalue
.
DefaultValue
_c
.
mutation
.
SetValue
(
v
)
}
}
// check runs all checks and user-defined validators on the builder.
func
(
_c
*
UserAttributeValueCreate
)
check
()
error
{
if
_
,
ok
:=
_c
.
mutation
.
CreatedAt
();
!
ok
{
return
&
ValidationError
{
Name
:
"created_at"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeValue.created_at"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
UpdatedAt
();
!
ok
{
return
&
ValidationError
{
Name
:
"updated_at"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeValue.updated_at"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
UserID
();
!
ok
{
return
&
ValidationError
{
Name
:
"user_id"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeValue.user_id"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
AttributeID
();
!
ok
{
return
&
ValidationError
{
Name
:
"attribute_id"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeValue.attribute_id"`
)}
}
if
_
,
ok
:=
_c
.
mutation
.
Value
();
!
ok
{
return
&
ValidationError
{
Name
:
"value"
,
err
:
errors
.
New
(
`ent: missing required field "UserAttributeValue.value"`
)}
}
if
len
(
_c
.
mutation
.
UserIDs
())
==
0
{
return
&
ValidationError
{
Name
:
"user"
,
err
:
errors
.
New
(
`ent: missing required edge "UserAttributeValue.user"`
)}
}
if
len
(
_c
.
mutation
.
DefinitionIDs
())
==
0
{
return
&
ValidationError
{
Name
:
"definition"
,
err
:
errors
.
New
(
`ent: missing required edge "UserAttributeValue.definition"`
)}
}
return
nil
}
func
(
_c
*
UserAttributeValueCreate
)
sqlSave
(
ctx
context
.
Context
)
(
*
UserAttributeValue
,
error
)
{
if
err
:=
_c
.
check
();
err
!=
nil
{
return
nil
,
err
}
_node
,
_spec
:=
_c
.
createSpec
()
if
err
:=
sqlgraph
.
CreateNode
(
ctx
,
_c
.
driver
,
_spec
);
err
!=
nil
{
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
return
nil
,
err
}
id
:=
_spec
.
ID
.
Value
.
(
int64
)
_node
.
ID
=
int64
(
id
)
_c
.
mutation
.
id
=
&
_node
.
ID
_c
.
mutation
.
done
=
true
return
_node
,
nil
}
func
(
_c
*
UserAttributeValueCreate
)
createSpec
()
(
*
UserAttributeValue
,
*
sqlgraph
.
CreateSpec
)
{
var
(
_node
=
&
UserAttributeValue
{
config
:
_c
.
config
}
_spec
=
sqlgraph
.
NewCreateSpec
(
userattributevalue
.
Table
,
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
))
)
_spec
.
OnConflict
=
_c
.
conflict
if
value
,
ok
:=
_c
.
mutation
.
CreatedAt
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldCreatedAt
,
field
.
TypeTime
,
value
)
_node
.
CreatedAt
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
UpdatedAt
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldUpdatedAt
,
field
.
TypeTime
,
value
)
_node
.
UpdatedAt
=
value
}
if
value
,
ok
:=
_c
.
mutation
.
Value
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldValue
,
field
.
TypeString
,
value
)
_node
.
Value
=
value
}
if
nodes
:=
_c
.
mutation
.
UserIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
UserTable
,
Columns
:
[]
string
{
userattributevalue
.
UserColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
user
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_node
.
UserID
=
nodes
[
0
]
_spec
.
Edges
=
append
(
_spec
.
Edges
,
edge
)
}
if
nodes
:=
_c
.
mutation
.
DefinitionIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
DefinitionTable
,
Columns
:
[]
string
{
userattributevalue
.
DefinitionColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_node
.
AttributeID
=
nodes
[
0
]
_spec
.
Edges
=
append
(
_spec
.
Edges
,
edge
)
}
return
_node
,
_spec
}
// OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
// of the `INSERT` statement. For example:
//
// client.UserAttributeValue.Create().
// SetCreatedAt(v).
// OnConflict(
// // Update the row with the new values
// // the was proposed for insertion.
// sql.ResolveWithNewValues(),
// ).
// // Override some of the fields with custom
// // update values.
// Update(func(u *ent.UserAttributeValueUpsert) {
// SetCreatedAt(v+v).
// }).
// Exec(ctx)
func
(
_c
*
UserAttributeValueCreate
)
OnConflict
(
opts
...
sql
.
ConflictOption
)
*
UserAttributeValueUpsertOne
{
_c
.
conflict
=
opts
return
&
UserAttributeValueUpsertOne
{
create
:
_c
,
}
}
// OnConflictColumns calls `OnConflict` and configures the columns
// as conflict target. Using this option is equivalent to using:
//
// client.UserAttributeValue.Create().
// OnConflict(sql.ConflictColumns(columns...)).
// Exec(ctx)
func
(
_c
*
UserAttributeValueCreate
)
OnConflictColumns
(
columns
...
string
)
*
UserAttributeValueUpsertOne
{
_c
.
conflict
=
append
(
_c
.
conflict
,
sql
.
ConflictColumns
(
columns
...
))
return
&
UserAttributeValueUpsertOne
{
create
:
_c
,
}
}
type
(
// UserAttributeValueUpsertOne is the builder for "upsert"-ing
// one UserAttributeValue node.
UserAttributeValueUpsertOne
struct
{
create
*
UserAttributeValueCreate
}
// UserAttributeValueUpsert is the "OnConflict" setter.
UserAttributeValueUpsert
struct
{
*
sql
.
UpdateSet
}
)
// SetUpdatedAt sets the "updated_at" field.
func
(
u
*
UserAttributeValueUpsert
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeValueUpsert
{
u
.
Set
(
userattributevalue
.
FieldUpdatedAt
,
v
)
return
u
}
// UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsert
)
UpdateUpdatedAt
()
*
UserAttributeValueUpsert
{
u
.
SetExcluded
(
userattributevalue
.
FieldUpdatedAt
)
return
u
}
// SetUserID sets the "user_id" field.
func
(
u
*
UserAttributeValueUpsert
)
SetUserID
(
v
int64
)
*
UserAttributeValueUpsert
{
u
.
Set
(
userattributevalue
.
FieldUserID
,
v
)
return
u
}
// UpdateUserID sets the "user_id" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsert
)
UpdateUserID
()
*
UserAttributeValueUpsert
{
u
.
SetExcluded
(
userattributevalue
.
FieldUserID
)
return
u
}
// SetAttributeID sets the "attribute_id" field.
func
(
u
*
UserAttributeValueUpsert
)
SetAttributeID
(
v
int64
)
*
UserAttributeValueUpsert
{
u
.
Set
(
userattributevalue
.
FieldAttributeID
,
v
)
return
u
}
// UpdateAttributeID sets the "attribute_id" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsert
)
UpdateAttributeID
()
*
UserAttributeValueUpsert
{
u
.
SetExcluded
(
userattributevalue
.
FieldAttributeID
)
return
u
}
// SetValue sets the "value" field.
func
(
u
*
UserAttributeValueUpsert
)
SetValue
(
v
string
)
*
UserAttributeValueUpsert
{
u
.
Set
(
userattributevalue
.
FieldValue
,
v
)
return
u
}
// UpdateValue sets the "value" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsert
)
UpdateValue
()
*
UserAttributeValueUpsert
{
u
.
SetExcluded
(
userattributevalue
.
FieldValue
)
return
u
}
// UpdateNewValues updates the mutable fields using the new values that were set on create.
// Using this option is equivalent to using:
//
// client.UserAttributeValue.Create().
// OnConflict(
// sql.ResolveWithNewValues(),
// ).
// Exec(ctx)
func
(
u
*
UserAttributeValueUpsertOne
)
UpdateNewValues
()
*
UserAttributeValueUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithNewValues
())
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
s
*
sql
.
UpdateSet
)
{
if
_
,
exists
:=
u
.
create
.
mutation
.
CreatedAt
();
exists
{
s
.
SetIgnore
(
userattributevalue
.
FieldCreatedAt
)
}
}))
return
u
}
// Ignore sets each column to itself in case of conflict.
// Using this option is equivalent to using:
//
// client.UserAttributeValue.Create().
// OnConflict(sql.ResolveWithIgnore()).
// Exec(ctx)
func
(
u
*
UserAttributeValueUpsertOne
)
Ignore
()
*
UserAttributeValueUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithIgnore
())
return
u
}
// DoNothing configures the conflict_action to `DO NOTHING`.
// Supported only by SQLite and PostgreSQL.
func
(
u
*
UserAttributeValueUpsertOne
)
DoNothing
()
*
UserAttributeValueUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
DoNothing
())
return
u
}
// Update allows overriding fields `UPDATE` values. See the UserAttributeValueCreate.OnConflict
// documentation for more info.
func
(
u
*
UserAttributeValueUpsertOne
)
Update
(
set
func
(
*
UserAttributeValueUpsert
))
*
UserAttributeValueUpsertOne
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
update
*
sql
.
UpdateSet
)
{
set
(
&
UserAttributeValueUpsert
{
UpdateSet
:
update
})
}))
return
u
}
// SetUpdatedAt sets the "updated_at" field.
func
(
u
*
UserAttributeValueUpsertOne
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetUpdatedAt
(
v
)
})
}
// UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertOne
)
UpdateUpdatedAt
()
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateUpdatedAt
()
})
}
// SetUserID sets the "user_id" field.
func
(
u
*
UserAttributeValueUpsertOne
)
SetUserID
(
v
int64
)
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetUserID
(
v
)
})
}
// UpdateUserID sets the "user_id" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertOne
)
UpdateUserID
()
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateUserID
()
})
}
// SetAttributeID sets the "attribute_id" field.
func
(
u
*
UserAttributeValueUpsertOne
)
SetAttributeID
(
v
int64
)
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetAttributeID
(
v
)
})
}
// UpdateAttributeID sets the "attribute_id" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertOne
)
UpdateAttributeID
()
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateAttributeID
()
})
}
// SetValue sets the "value" field.
func
(
u
*
UserAttributeValueUpsertOne
)
SetValue
(
v
string
)
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetValue
(
v
)
})
}
// UpdateValue sets the "value" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertOne
)
UpdateValue
()
*
UserAttributeValueUpsertOne
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateValue
()
})
}
// Exec executes the query.
func
(
u
*
UserAttributeValueUpsertOne
)
Exec
(
ctx
context
.
Context
)
error
{
if
len
(
u
.
create
.
conflict
)
==
0
{
return
errors
.
New
(
"ent: missing options for UserAttributeValueCreate.OnConflict"
)
}
return
u
.
create
.
Exec
(
ctx
)
}
// ExecX is like Exec, but panics if an error occurs.
func
(
u
*
UserAttributeValueUpsertOne
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
u
.
create
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// Exec executes the UPSERT query and returns the inserted/updated ID.
func
(
u
*
UserAttributeValueUpsertOne
)
ID
(
ctx
context
.
Context
)
(
id
int64
,
err
error
)
{
node
,
err
:=
u
.
create
.
Save
(
ctx
)
if
err
!=
nil
{
return
id
,
err
}
return
node
.
ID
,
nil
}
// IDX is like ID, but panics if an error occurs.
func
(
u
*
UserAttributeValueUpsertOne
)
IDX
(
ctx
context
.
Context
)
int64
{
id
,
err
:=
u
.
ID
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
id
}
// UserAttributeValueCreateBulk is the builder for creating many UserAttributeValue entities in bulk.
type
UserAttributeValueCreateBulk
struct
{
config
err
error
builders
[]
*
UserAttributeValueCreate
conflict
[]
sql
.
ConflictOption
}
// Save creates the UserAttributeValue entities in the database.
func
(
_c
*
UserAttributeValueCreateBulk
)
Save
(
ctx
context
.
Context
)
([]
*
UserAttributeValue
,
error
)
{
if
_c
.
err
!=
nil
{
return
nil
,
_c
.
err
}
specs
:=
make
([]
*
sqlgraph
.
CreateSpec
,
len
(
_c
.
builders
))
nodes
:=
make
([]
*
UserAttributeValue
,
len
(
_c
.
builders
))
mutators
:=
make
([]
Mutator
,
len
(
_c
.
builders
))
for
i
:=
range
_c
.
builders
{
func
(
i
int
,
root
context
.
Context
)
{
builder
:=
_c
.
builders
[
i
]
builder
.
defaults
()
var
mut
Mutator
=
MutateFunc
(
func
(
ctx
context
.
Context
,
m
Mutation
)
(
Value
,
error
)
{
mutation
,
ok
:=
m
.
(
*
UserAttributeValueMutation
)
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"unexpected mutation type %T"
,
m
)
}
if
err
:=
builder
.
check
();
err
!=
nil
{
return
nil
,
err
}
builder
.
mutation
=
mutation
var
err
error
nodes
[
i
],
specs
[
i
]
=
builder
.
createSpec
()
if
i
<
len
(
mutators
)
-
1
{
_
,
err
=
mutators
[
i
+
1
]
.
Mutate
(
root
,
_c
.
builders
[
i
+
1
]
.
mutation
)
}
else
{
spec
:=
&
sqlgraph
.
BatchCreateSpec
{
Nodes
:
specs
}
spec
.
OnConflict
=
_c
.
conflict
// Invoke the actual operation on the latest mutation in the chain.
if
err
=
sqlgraph
.
BatchCreate
(
ctx
,
_c
.
driver
,
spec
);
err
!=
nil
{
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
}
}
if
err
!=
nil
{
return
nil
,
err
}
mutation
.
id
=
&
nodes
[
i
]
.
ID
if
specs
[
i
]
.
ID
.
Value
!=
nil
{
id
:=
specs
[
i
]
.
ID
.
Value
.
(
int64
)
nodes
[
i
]
.
ID
=
int64
(
id
)
}
mutation
.
done
=
true
return
nodes
[
i
],
nil
})
for
i
:=
len
(
builder
.
hooks
)
-
1
;
i
>=
0
;
i
--
{
mut
=
builder
.
hooks
[
i
](
mut
)
}
mutators
[
i
]
=
mut
}(
i
,
ctx
)
}
if
len
(
mutators
)
>
0
{
if
_
,
err
:=
mutators
[
0
]
.
Mutate
(
ctx
,
_c
.
builders
[
0
]
.
mutation
);
err
!=
nil
{
return
nil
,
err
}
}
return
nodes
,
nil
}
// SaveX is like Save, but panics if an error occurs.
func
(
_c
*
UserAttributeValueCreateBulk
)
SaveX
(
ctx
context
.
Context
)
[]
*
UserAttributeValue
{
v
,
err
:=
_c
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
v
}
// Exec executes the query.
func
(
_c
*
UserAttributeValueCreateBulk
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_c
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_c
*
UserAttributeValueCreateBulk
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_c
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
// of the `INSERT` statement. For example:
//
// client.UserAttributeValue.CreateBulk(builders...).
// OnConflict(
// // Update the row with the new values
// // the was proposed for insertion.
// sql.ResolveWithNewValues(),
// ).
// // Override some of the fields with custom
// // update values.
// Update(func(u *ent.UserAttributeValueUpsert) {
// SetCreatedAt(v+v).
// }).
// Exec(ctx)
func
(
_c
*
UserAttributeValueCreateBulk
)
OnConflict
(
opts
...
sql
.
ConflictOption
)
*
UserAttributeValueUpsertBulk
{
_c
.
conflict
=
opts
return
&
UserAttributeValueUpsertBulk
{
create
:
_c
,
}
}
// OnConflictColumns calls `OnConflict` and configures the columns
// as conflict target. Using this option is equivalent to using:
//
// client.UserAttributeValue.Create().
// OnConflict(sql.ConflictColumns(columns...)).
// Exec(ctx)
func
(
_c
*
UserAttributeValueCreateBulk
)
OnConflictColumns
(
columns
...
string
)
*
UserAttributeValueUpsertBulk
{
_c
.
conflict
=
append
(
_c
.
conflict
,
sql
.
ConflictColumns
(
columns
...
))
return
&
UserAttributeValueUpsertBulk
{
create
:
_c
,
}
}
// UserAttributeValueUpsertBulk is the builder for "upsert"-ing
// a bulk of UserAttributeValue nodes.
type
UserAttributeValueUpsertBulk
struct
{
create
*
UserAttributeValueCreateBulk
}
// UpdateNewValues updates the mutable fields using the new values that
// were set on create. Using this option is equivalent to using:
//
// client.UserAttributeValue.Create().
// OnConflict(
// sql.ResolveWithNewValues(),
// ).
// Exec(ctx)
func
(
u
*
UserAttributeValueUpsertBulk
)
UpdateNewValues
()
*
UserAttributeValueUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithNewValues
())
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
s
*
sql
.
UpdateSet
)
{
for
_
,
b
:=
range
u
.
create
.
builders
{
if
_
,
exists
:=
b
.
mutation
.
CreatedAt
();
exists
{
s
.
SetIgnore
(
userattributevalue
.
FieldCreatedAt
)
}
}
}))
return
u
}
// Ignore sets each column to itself in case of conflict.
// Using this option is equivalent to using:
//
// client.UserAttributeValue.Create().
// OnConflict(sql.ResolveWithIgnore()).
// Exec(ctx)
func
(
u
*
UserAttributeValueUpsertBulk
)
Ignore
()
*
UserAttributeValueUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWithIgnore
())
return
u
}
// DoNothing configures the conflict_action to `DO NOTHING`.
// Supported only by SQLite and PostgreSQL.
func
(
u
*
UserAttributeValueUpsertBulk
)
DoNothing
()
*
UserAttributeValueUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
DoNothing
())
return
u
}
// Update allows overriding fields `UPDATE` values. See the UserAttributeValueCreateBulk.OnConflict
// documentation for more info.
func
(
u
*
UserAttributeValueUpsertBulk
)
Update
(
set
func
(
*
UserAttributeValueUpsert
))
*
UserAttributeValueUpsertBulk
{
u
.
create
.
conflict
=
append
(
u
.
create
.
conflict
,
sql
.
ResolveWith
(
func
(
update
*
sql
.
UpdateSet
)
{
set
(
&
UserAttributeValueUpsert
{
UpdateSet
:
update
})
}))
return
u
}
// SetUpdatedAt sets the "updated_at" field.
func
(
u
*
UserAttributeValueUpsertBulk
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetUpdatedAt
(
v
)
})
}
// UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertBulk
)
UpdateUpdatedAt
()
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateUpdatedAt
()
})
}
// SetUserID sets the "user_id" field.
func
(
u
*
UserAttributeValueUpsertBulk
)
SetUserID
(
v
int64
)
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetUserID
(
v
)
})
}
// UpdateUserID sets the "user_id" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertBulk
)
UpdateUserID
()
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateUserID
()
})
}
// SetAttributeID sets the "attribute_id" field.
func
(
u
*
UserAttributeValueUpsertBulk
)
SetAttributeID
(
v
int64
)
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetAttributeID
(
v
)
})
}
// UpdateAttributeID sets the "attribute_id" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertBulk
)
UpdateAttributeID
()
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateAttributeID
()
})
}
// SetValue sets the "value" field.
func
(
u
*
UserAttributeValueUpsertBulk
)
SetValue
(
v
string
)
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
SetValue
(
v
)
})
}
// UpdateValue sets the "value" field to the value that was provided on create.
func
(
u
*
UserAttributeValueUpsertBulk
)
UpdateValue
()
*
UserAttributeValueUpsertBulk
{
return
u
.
Update
(
func
(
s
*
UserAttributeValueUpsert
)
{
s
.
UpdateValue
()
})
}
// Exec executes the query.
func
(
u
*
UserAttributeValueUpsertBulk
)
Exec
(
ctx
context
.
Context
)
error
{
if
u
.
create
.
err
!=
nil
{
return
u
.
create
.
err
}
for
i
,
b
:=
range
u
.
create
.
builders
{
if
len
(
b
.
conflict
)
!=
0
{
return
fmt
.
Errorf
(
"ent: OnConflict was set for builder %d. Set it on the UserAttributeValueCreateBulk instead"
,
i
)
}
}
if
len
(
u
.
create
.
conflict
)
==
0
{
return
errors
.
New
(
"ent: missing options for UserAttributeValueCreateBulk.OnConflict"
)
}
return
u
.
create
.
Exec
(
ctx
)
}
// ExecX is like Exec, but panics if an error occurs.
func
(
u
*
UserAttributeValueUpsertBulk
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
u
.
create
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
backend/ent/userattributevalue_delete.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/predicate"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeValueDelete is the builder for deleting a UserAttributeValue entity.
type
UserAttributeValueDelete
struct
{
config
hooks
[]
Hook
mutation
*
UserAttributeValueMutation
}
// Where appends a list predicates to the UserAttributeValueDelete builder.
func
(
_d
*
UserAttributeValueDelete
)
Where
(
ps
...
predicate
.
UserAttributeValue
)
*
UserAttributeValueDelete
{
_d
.
mutation
.
Where
(
ps
...
)
return
_d
}
// Exec executes the deletion query and returns how many vertices were deleted.
func
(
_d
*
UserAttributeValueDelete
)
Exec
(
ctx
context
.
Context
)
(
int
,
error
)
{
return
withHooks
(
ctx
,
_d
.
sqlExec
,
_d
.
mutation
,
_d
.
hooks
)
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_d
*
UserAttributeValueDelete
)
ExecX
(
ctx
context
.
Context
)
int
{
n
,
err
:=
_d
.
Exec
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
n
}
func
(
_d
*
UserAttributeValueDelete
)
sqlExec
(
ctx
context
.
Context
)
(
int
,
error
)
{
_spec
:=
sqlgraph
.
NewDeleteSpec
(
userattributevalue
.
Table
,
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
))
if
ps
:=
_d
.
mutation
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
affected
,
err
:=
sqlgraph
.
DeleteNodes
(
ctx
,
_d
.
driver
,
_spec
)
if
err
!=
nil
&&
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
_d
.
mutation
.
done
=
true
return
affected
,
err
}
// UserAttributeValueDeleteOne is the builder for deleting a single UserAttributeValue entity.
type
UserAttributeValueDeleteOne
struct
{
_d
*
UserAttributeValueDelete
}
// Where appends a list predicates to the UserAttributeValueDelete builder.
func
(
_d
*
UserAttributeValueDeleteOne
)
Where
(
ps
...
predicate
.
UserAttributeValue
)
*
UserAttributeValueDeleteOne
{
_d
.
_d
.
mutation
.
Where
(
ps
...
)
return
_d
}
// Exec executes the deletion query.
func
(
_d
*
UserAttributeValueDeleteOne
)
Exec
(
ctx
context
.
Context
)
error
{
n
,
err
:=
_d
.
_d
.
Exec
(
ctx
)
switch
{
case
err
!=
nil
:
return
err
case
n
==
0
:
return
&
NotFoundError
{
userattributevalue
.
Label
}
default
:
return
nil
}
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_d
*
UserAttributeValueDeleteOne
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_d
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
backend/ent/userattributevalue_query.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"fmt"
"math"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/predicate"
"github.com/Wei-Shaw/sub2api/ent/user"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeValueQuery is the builder for querying UserAttributeValue entities.
type
UserAttributeValueQuery
struct
{
config
ctx
*
QueryContext
order
[]
userattributevalue
.
OrderOption
inters
[]
Interceptor
predicates
[]
predicate
.
UserAttributeValue
withUser
*
UserQuery
withDefinition
*
UserAttributeDefinitionQuery
// intermediate query (i.e. traversal path).
sql
*
sql
.
Selector
path
func
(
context
.
Context
)
(
*
sql
.
Selector
,
error
)
}
// Where adds a new predicate for the UserAttributeValueQuery builder.
func
(
_q
*
UserAttributeValueQuery
)
Where
(
ps
...
predicate
.
UserAttributeValue
)
*
UserAttributeValueQuery
{
_q
.
predicates
=
append
(
_q
.
predicates
,
ps
...
)
return
_q
}
// Limit the number of records to be returned by this query.
func
(
_q
*
UserAttributeValueQuery
)
Limit
(
limit
int
)
*
UserAttributeValueQuery
{
_q
.
ctx
.
Limit
=
&
limit
return
_q
}
// Offset to start from.
func
(
_q
*
UserAttributeValueQuery
)
Offset
(
offset
int
)
*
UserAttributeValueQuery
{
_q
.
ctx
.
Offset
=
&
offset
return
_q
}
// Unique configures the query builder to filter duplicate records on query.
// By default, unique is set to true, and can be disabled using this method.
func
(
_q
*
UserAttributeValueQuery
)
Unique
(
unique
bool
)
*
UserAttributeValueQuery
{
_q
.
ctx
.
Unique
=
&
unique
return
_q
}
// Order specifies how the records should be ordered.
func
(
_q
*
UserAttributeValueQuery
)
Order
(
o
...
userattributevalue
.
OrderOption
)
*
UserAttributeValueQuery
{
_q
.
order
=
append
(
_q
.
order
,
o
...
)
return
_q
}
// QueryUser chains the current query on the "user" edge.
func
(
_q
*
UserAttributeValueQuery
)
QueryUser
()
*
UserQuery
{
query
:=
(
&
UserClient
{
config
:
_q
.
config
})
.
Query
()
query
.
path
=
func
(
ctx
context
.
Context
)
(
fromU
*
sql
.
Selector
,
err
error
)
{
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
nil
,
err
}
selector
:=
_q
.
sqlQuery
(
ctx
)
if
err
:=
selector
.
Err
();
err
!=
nil
{
return
nil
,
err
}
step
:=
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
userattributevalue
.
Table
,
userattributevalue
.
FieldID
,
selector
),
sqlgraph
.
To
(
user
.
Table
,
user
.
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
M2O
,
true
,
userattributevalue
.
UserTable
,
userattributevalue
.
UserColumn
),
)
fromU
=
sqlgraph
.
SetNeighbors
(
_q
.
driver
.
Dialect
(),
step
)
return
fromU
,
nil
}
return
query
}
// QueryDefinition chains the current query on the "definition" edge.
func
(
_q
*
UserAttributeValueQuery
)
QueryDefinition
()
*
UserAttributeDefinitionQuery
{
query
:=
(
&
UserAttributeDefinitionClient
{
config
:
_q
.
config
})
.
Query
()
query
.
path
=
func
(
ctx
context
.
Context
)
(
fromU
*
sql
.
Selector
,
err
error
)
{
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
nil
,
err
}
selector
:=
_q
.
sqlQuery
(
ctx
)
if
err
:=
selector
.
Err
();
err
!=
nil
{
return
nil
,
err
}
step
:=
sqlgraph
.
NewStep
(
sqlgraph
.
From
(
userattributevalue
.
Table
,
userattributevalue
.
FieldID
,
selector
),
sqlgraph
.
To
(
userattributedefinition
.
Table
,
userattributedefinition
.
FieldID
),
sqlgraph
.
Edge
(
sqlgraph
.
M2O
,
true
,
userattributevalue
.
DefinitionTable
,
userattributevalue
.
DefinitionColumn
),
)
fromU
=
sqlgraph
.
SetNeighbors
(
_q
.
driver
.
Dialect
(),
step
)
return
fromU
,
nil
}
return
query
}
// First returns the first UserAttributeValue entity from the query.
// Returns a *NotFoundError when no UserAttributeValue was found.
func
(
_q
*
UserAttributeValueQuery
)
First
(
ctx
context
.
Context
)
(
*
UserAttributeValue
,
error
)
{
nodes
,
err
:=
_q
.
Limit
(
1
)
.
All
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryFirst
))
if
err
!=
nil
{
return
nil
,
err
}
if
len
(
nodes
)
==
0
{
return
nil
,
&
NotFoundError
{
userattributevalue
.
Label
}
}
return
nodes
[
0
],
nil
}
// FirstX is like First, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
FirstX
(
ctx
context
.
Context
)
*
UserAttributeValue
{
node
,
err
:=
_q
.
First
(
ctx
)
if
err
!=
nil
&&
!
IsNotFound
(
err
)
{
panic
(
err
)
}
return
node
}
// FirstID returns the first UserAttributeValue ID from the query.
// Returns a *NotFoundError when no UserAttributeValue ID was found.
func
(
_q
*
UserAttributeValueQuery
)
FirstID
(
ctx
context
.
Context
)
(
id
int64
,
err
error
)
{
var
ids
[]
int64
if
ids
,
err
=
_q
.
Limit
(
1
)
.
IDs
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryFirstID
));
err
!=
nil
{
return
}
if
len
(
ids
)
==
0
{
err
=
&
NotFoundError
{
userattributevalue
.
Label
}
return
}
return
ids
[
0
],
nil
}
// FirstIDX is like FirstID, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
FirstIDX
(
ctx
context
.
Context
)
int64
{
id
,
err
:=
_q
.
FirstID
(
ctx
)
if
err
!=
nil
&&
!
IsNotFound
(
err
)
{
panic
(
err
)
}
return
id
}
// Only returns a single UserAttributeValue entity found by the query, ensuring it only returns one.
// Returns a *NotSingularError when more than one UserAttributeValue entity is found.
// Returns a *NotFoundError when no UserAttributeValue entities are found.
func
(
_q
*
UserAttributeValueQuery
)
Only
(
ctx
context
.
Context
)
(
*
UserAttributeValue
,
error
)
{
nodes
,
err
:=
_q
.
Limit
(
2
)
.
All
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryOnly
))
if
err
!=
nil
{
return
nil
,
err
}
switch
len
(
nodes
)
{
case
1
:
return
nodes
[
0
],
nil
case
0
:
return
nil
,
&
NotFoundError
{
userattributevalue
.
Label
}
default
:
return
nil
,
&
NotSingularError
{
userattributevalue
.
Label
}
}
}
// OnlyX is like Only, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
OnlyX
(
ctx
context
.
Context
)
*
UserAttributeValue
{
node
,
err
:=
_q
.
Only
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
node
}
// OnlyID is like Only, but returns the only UserAttributeValue ID in the query.
// Returns a *NotSingularError when more than one UserAttributeValue ID is found.
// Returns a *NotFoundError when no entities are found.
func
(
_q
*
UserAttributeValueQuery
)
OnlyID
(
ctx
context
.
Context
)
(
id
int64
,
err
error
)
{
var
ids
[]
int64
if
ids
,
err
=
_q
.
Limit
(
2
)
.
IDs
(
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryOnlyID
));
err
!=
nil
{
return
}
switch
len
(
ids
)
{
case
1
:
id
=
ids
[
0
]
case
0
:
err
=
&
NotFoundError
{
userattributevalue
.
Label
}
default
:
err
=
&
NotSingularError
{
userattributevalue
.
Label
}
}
return
}
// OnlyIDX is like OnlyID, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
OnlyIDX
(
ctx
context
.
Context
)
int64
{
id
,
err
:=
_q
.
OnlyID
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
id
}
// All executes the query and returns a list of UserAttributeValues.
func
(
_q
*
UserAttributeValueQuery
)
All
(
ctx
context
.
Context
)
([]
*
UserAttributeValue
,
error
)
{
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryAll
)
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
nil
,
err
}
qr
:=
querierAll
[[]
*
UserAttributeValue
,
*
UserAttributeValueQuery
]()
return
withInterceptors
[[]
*
UserAttributeValue
](
ctx
,
_q
,
qr
,
_q
.
inters
)
}
// AllX is like All, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
AllX
(
ctx
context
.
Context
)
[]
*
UserAttributeValue
{
nodes
,
err
:=
_q
.
All
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
nodes
}
// IDs executes the query and returns a list of UserAttributeValue IDs.
func
(
_q
*
UserAttributeValueQuery
)
IDs
(
ctx
context
.
Context
)
(
ids
[]
int64
,
err
error
)
{
if
_q
.
ctx
.
Unique
==
nil
&&
_q
.
path
!=
nil
{
_q
.
Unique
(
true
)
}
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryIDs
)
if
err
=
_q
.
Select
(
userattributevalue
.
FieldID
)
.
Scan
(
ctx
,
&
ids
);
err
!=
nil
{
return
nil
,
err
}
return
ids
,
nil
}
// IDsX is like IDs, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
IDsX
(
ctx
context
.
Context
)
[]
int64
{
ids
,
err
:=
_q
.
IDs
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
ids
}
// Count returns the count of the given query.
func
(
_q
*
UserAttributeValueQuery
)
Count
(
ctx
context
.
Context
)
(
int
,
error
)
{
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryCount
)
if
err
:=
_q
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
0
,
err
}
return
withInterceptors
[
int
](
ctx
,
_q
,
querierCount
[
*
UserAttributeValueQuery
](),
_q
.
inters
)
}
// CountX is like Count, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
CountX
(
ctx
context
.
Context
)
int
{
count
,
err
:=
_q
.
Count
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
count
}
// Exist returns true if the query has elements in the graph.
func
(
_q
*
UserAttributeValueQuery
)
Exist
(
ctx
context
.
Context
)
(
bool
,
error
)
{
ctx
=
setContextOp
(
ctx
,
_q
.
ctx
,
ent
.
OpQueryExist
)
switch
_
,
err
:=
_q
.
FirstID
(
ctx
);
{
case
IsNotFound
(
err
)
:
return
false
,
nil
case
err
!=
nil
:
return
false
,
fmt
.
Errorf
(
"ent: check existence: %w"
,
err
)
default
:
return
true
,
nil
}
}
// ExistX is like Exist, but panics if an error occurs.
func
(
_q
*
UserAttributeValueQuery
)
ExistX
(
ctx
context
.
Context
)
bool
{
exist
,
err
:=
_q
.
Exist
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
exist
}
// Clone returns a duplicate of the UserAttributeValueQuery builder, including all associated steps. It can be
// used to prepare common query builders and use them differently after the clone is made.
func
(
_q
*
UserAttributeValueQuery
)
Clone
()
*
UserAttributeValueQuery
{
if
_q
==
nil
{
return
nil
}
return
&
UserAttributeValueQuery
{
config
:
_q
.
config
,
ctx
:
_q
.
ctx
.
Clone
(),
order
:
append
([]
userattributevalue
.
OrderOption
{},
_q
.
order
...
),
inters
:
append
([]
Interceptor
{},
_q
.
inters
...
),
predicates
:
append
([]
predicate
.
UserAttributeValue
{},
_q
.
predicates
...
),
withUser
:
_q
.
withUser
.
Clone
(),
withDefinition
:
_q
.
withDefinition
.
Clone
(),
// clone intermediate query.
sql
:
_q
.
sql
.
Clone
(),
path
:
_q
.
path
,
}
}
// WithUser tells the query-builder to eager-load the nodes that are connected to
// the "user" edge. The optional arguments are used to configure the query builder of the edge.
func
(
_q
*
UserAttributeValueQuery
)
WithUser
(
opts
...
func
(
*
UserQuery
))
*
UserAttributeValueQuery
{
query
:=
(
&
UserClient
{
config
:
_q
.
config
})
.
Query
()
for
_
,
opt
:=
range
opts
{
opt
(
query
)
}
_q
.
withUser
=
query
return
_q
}
// WithDefinition tells the query-builder to eager-load the nodes that are connected to
// the "definition" edge. The optional arguments are used to configure the query builder of the edge.
func
(
_q
*
UserAttributeValueQuery
)
WithDefinition
(
opts
...
func
(
*
UserAttributeDefinitionQuery
))
*
UserAttributeValueQuery
{
query
:=
(
&
UserAttributeDefinitionClient
{
config
:
_q
.
config
})
.
Query
()
for
_
,
opt
:=
range
opts
{
opt
(
query
)
}
_q
.
withDefinition
=
query
return
_q
}
// GroupBy is used to group vertices by one or more fields/columns.
// It is often used with aggregate functions, like: count, max, mean, min, sum.
//
// Example:
//
// var v []struct {
// CreatedAt time.Time `json:"created_at,omitempty"`
// Count int `json:"count,omitempty"`
// }
//
// client.UserAttributeValue.Query().
// GroupBy(userattributevalue.FieldCreatedAt).
// Aggregate(ent.Count()).
// Scan(ctx, &v)
func
(
_q
*
UserAttributeValueQuery
)
GroupBy
(
field
string
,
fields
...
string
)
*
UserAttributeValueGroupBy
{
_q
.
ctx
.
Fields
=
append
([]
string
{
field
},
fields
...
)
grbuild
:=
&
UserAttributeValueGroupBy
{
build
:
_q
}
grbuild
.
flds
=
&
_q
.
ctx
.
Fields
grbuild
.
label
=
userattributevalue
.
Label
grbuild
.
scan
=
grbuild
.
Scan
return
grbuild
}
// Select allows the selection one or more fields/columns for the given query,
// instead of selecting all fields in the entity.
//
// Example:
//
// var v []struct {
// CreatedAt time.Time `json:"created_at,omitempty"`
// }
//
// client.UserAttributeValue.Query().
// Select(userattributevalue.FieldCreatedAt).
// Scan(ctx, &v)
func
(
_q
*
UserAttributeValueQuery
)
Select
(
fields
...
string
)
*
UserAttributeValueSelect
{
_q
.
ctx
.
Fields
=
append
(
_q
.
ctx
.
Fields
,
fields
...
)
sbuild
:=
&
UserAttributeValueSelect
{
UserAttributeValueQuery
:
_q
}
sbuild
.
label
=
userattributevalue
.
Label
sbuild
.
flds
,
sbuild
.
scan
=
&
_q
.
ctx
.
Fields
,
sbuild
.
Scan
return
sbuild
}
// Aggregate returns a UserAttributeValueSelect configured with the given aggregations.
func
(
_q
*
UserAttributeValueQuery
)
Aggregate
(
fns
...
AggregateFunc
)
*
UserAttributeValueSelect
{
return
_q
.
Select
()
.
Aggregate
(
fns
...
)
}
func
(
_q
*
UserAttributeValueQuery
)
prepareQuery
(
ctx
context
.
Context
)
error
{
for
_
,
inter
:=
range
_q
.
inters
{
if
inter
==
nil
{
return
fmt
.
Errorf
(
"ent: uninitialized interceptor (forgotten import ent/runtime?)"
)
}
if
trv
,
ok
:=
inter
.
(
Traverser
);
ok
{
if
err
:=
trv
.
Traverse
(
ctx
,
_q
);
err
!=
nil
{
return
err
}
}
}
for
_
,
f
:=
range
_q
.
ctx
.
Fields
{
if
!
userattributevalue
.
ValidColumn
(
f
)
{
return
&
ValidationError
{
Name
:
f
,
err
:
fmt
.
Errorf
(
"ent: invalid field %q for query"
,
f
)}
}
}
if
_q
.
path
!=
nil
{
prev
,
err
:=
_q
.
path
(
ctx
)
if
err
!=
nil
{
return
err
}
_q
.
sql
=
prev
}
return
nil
}
func
(
_q
*
UserAttributeValueQuery
)
sqlAll
(
ctx
context
.
Context
,
hooks
...
queryHook
)
([]
*
UserAttributeValue
,
error
)
{
var
(
nodes
=
[]
*
UserAttributeValue
{}
_spec
=
_q
.
querySpec
()
loadedTypes
=
[
2
]
bool
{
_q
.
withUser
!=
nil
,
_q
.
withDefinition
!=
nil
,
}
)
_spec
.
ScanValues
=
func
(
columns
[]
string
)
([]
any
,
error
)
{
return
(
*
UserAttributeValue
)
.
scanValues
(
nil
,
columns
)
}
_spec
.
Assign
=
func
(
columns
[]
string
,
values
[]
any
)
error
{
node
:=
&
UserAttributeValue
{
config
:
_q
.
config
}
nodes
=
append
(
nodes
,
node
)
node
.
Edges
.
loadedTypes
=
loadedTypes
return
node
.
assignValues
(
columns
,
values
)
}
for
i
:=
range
hooks
{
hooks
[
i
](
ctx
,
_spec
)
}
if
err
:=
sqlgraph
.
QueryNodes
(
ctx
,
_q
.
driver
,
_spec
);
err
!=
nil
{
return
nil
,
err
}
if
len
(
nodes
)
==
0
{
return
nodes
,
nil
}
if
query
:=
_q
.
withUser
;
query
!=
nil
{
if
err
:=
_q
.
loadUser
(
ctx
,
query
,
nodes
,
nil
,
func
(
n
*
UserAttributeValue
,
e
*
User
)
{
n
.
Edges
.
User
=
e
});
err
!=
nil
{
return
nil
,
err
}
}
if
query
:=
_q
.
withDefinition
;
query
!=
nil
{
if
err
:=
_q
.
loadDefinition
(
ctx
,
query
,
nodes
,
nil
,
func
(
n
*
UserAttributeValue
,
e
*
UserAttributeDefinition
)
{
n
.
Edges
.
Definition
=
e
});
err
!=
nil
{
return
nil
,
err
}
}
return
nodes
,
nil
}
func
(
_q
*
UserAttributeValueQuery
)
loadUser
(
ctx
context
.
Context
,
query
*
UserQuery
,
nodes
[]
*
UserAttributeValue
,
init
func
(
*
UserAttributeValue
),
assign
func
(
*
UserAttributeValue
,
*
User
))
error
{
ids
:=
make
([]
int64
,
0
,
len
(
nodes
))
nodeids
:=
make
(
map
[
int64
][]
*
UserAttributeValue
)
for
i
:=
range
nodes
{
fk
:=
nodes
[
i
]
.
UserID
if
_
,
ok
:=
nodeids
[
fk
];
!
ok
{
ids
=
append
(
ids
,
fk
)
}
nodeids
[
fk
]
=
append
(
nodeids
[
fk
],
nodes
[
i
])
}
if
len
(
ids
)
==
0
{
return
nil
}
query
.
Where
(
user
.
IDIn
(
ids
...
))
neighbors
,
err
:=
query
.
All
(
ctx
)
if
err
!=
nil
{
return
err
}
for
_
,
n
:=
range
neighbors
{
nodes
,
ok
:=
nodeids
[
n
.
ID
]
if
!
ok
{
return
fmt
.
Errorf
(
`unexpected foreign-key "user_id" returned %v`
,
n
.
ID
)
}
for
i
:=
range
nodes
{
assign
(
nodes
[
i
],
n
)
}
}
return
nil
}
func
(
_q
*
UserAttributeValueQuery
)
loadDefinition
(
ctx
context
.
Context
,
query
*
UserAttributeDefinitionQuery
,
nodes
[]
*
UserAttributeValue
,
init
func
(
*
UserAttributeValue
),
assign
func
(
*
UserAttributeValue
,
*
UserAttributeDefinition
))
error
{
ids
:=
make
([]
int64
,
0
,
len
(
nodes
))
nodeids
:=
make
(
map
[
int64
][]
*
UserAttributeValue
)
for
i
:=
range
nodes
{
fk
:=
nodes
[
i
]
.
AttributeID
if
_
,
ok
:=
nodeids
[
fk
];
!
ok
{
ids
=
append
(
ids
,
fk
)
}
nodeids
[
fk
]
=
append
(
nodeids
[
fk
],
nodes
[
i
])
}
if
len
(
ids
)
==
0
{
return
nil
}
query
.
Where
(
userattributedefinition
.
IDIn
(
ids
...
))
neighbors
,
err
:=
query
.
All
(
ctx
)
if
err
!=
nil
{
return
err
}
for
_
,
n
:=
range
neighbors
{
nodes
,
ok
:=
nodeids
[
n
.
ID
]
if
!
ok
{
return
fmt
.
Errorf
(
`unexpected foreign-key "attribute_id" returned %v`
,
n
.
ID
)
}
for
i
:=
range
nodes
{
assign
(
nodes
[
i
],
n
)
}
}
return
nil
}
func
(
_q
*
UserAttributeValueQuery
)
sqlCount
(
ctx
context
.
Context
)
(
int
,
error
)
{
_spec
:=
_q
.
querySpec
()
_spec
.
Node
.
Columns
=
_q
.
ctx
.
Fields
if
len
(
_q
.
ctx
.
Fields
)
>
0
{
_spec
.
Unique
=
_q
.
ctx
.
Unique
!=
nil
&&
*
_q
.
ctx
.
Unique
}
return
sqlgraph
.
CountNodes
(
ctx
,
_q
.
driver
,
_spec
)
}
func
(
_q
*
UserAttributeValueQuery
)
querySpec
()
*
sqlgraph
.
QuerySpec
{
_spec
:=
sqlgraph
.
NewQuerySpec
(
userattributevalue
.
Table
,
userattributevalue
.
Columns
,
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
))
_spec
.
From
=
_q
.
sql
if
unique
:=
_q
.
ctx
.
Unique
;
unique
!=
nil
{
_spec
.
Unique
=
*
unique
}
else
if
_q
.
path
!=
nil
{
_spec
.
Unique
=
true
}
if
fields
:=
_q
.
ctx
.
Fields
;
len
(
fields
)
>
0
{
_spec
.
Node
.
Columns
=
make
([]
string
,
0
,
len
(
fields
))
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
userattributevalue
.
FieldID
)
for
i
:=
range
fields
{
if
fields
[
i
]
!=
userattributevalue
.
FieldID
{
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
fields
[
i
])
}
}
if
_q
.
withUser
!=
nil
{
_spec
.
Node
.
AddColumnOnce
(
userattributevalue
.
FieldUserID
)
}
if
_q
.
withDefinition
!=
nil
{
_spec
.
Node
.
AddColumnOnce
(
userattributevalue
.
FieldAttributeID
)
}
}
if
ps
:=
_q
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
if
limit
:=
_q
.
ctx
.
Limit
;
limit
!=
nil
{
_spec
.
Limit
=
*
limit
}
if
offset
:=
_q
.
ctx
.
Offset
;
offset
!=
nil
{
_spec
.
Offset
=
*
offset
}
if
ps
:=
_q
.
order
;
len
(
ps
)
>
0
{
_spec
.
Order
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
return
_spec
}
func
(
_q
*
UserAttributeValueQuery
)
sqlQuery
(
ctx
context
.
Context
)
*
sql
.
Selector
{
builder
:=
sql
.
Dialect
(
_q
.
driver
.
Dialect
())
t1
:=
builder
.
Table
(
userattributevalue
.
Table
)
columns
:=
_q
.
ctx
.
Fields
if
len
(
columns
)
==
0
{
columns
=
userattributevalue
.
Columns
}
selector
:=
builder
.
Select
(
t1
.
Columns
(
columns
...
)
...
)
.
From
(
t1
)
if
_q
.
sql
!=
nil
{
selector
=
_q
.
sql
selector
.
Select
(
selector
.
Columns
(
columns
...
)
...
)
}
if
_q
.
ctx
.
Unique
!=
nil
&&
*
_q
.
ctx
.
Unique
{
selector
.
Distinct
()
}
for
_
,
p
:=
range
_q
.
predicates
{
p
(
selector
)
}
for
_
,
p
:=
range
_q
.
order
{
p
(
selector
)
}
if
offset
:=
_q
.
ctx
.
Offset
;
offset
!=
nil
{
// limit is mandatory for offset clause. We start
// with default value, and override it below if needed.
selector
.
Offset
(
*
offset
)
.
Limit
(
math
.
MaxInt32
)
}
if
limit
:=
_q
.
ctx
.
Limit
;
limit
!=
nil
{
selector
.
Limit
(
*
limit
)
}
return
selector
}
// UserAttributeValueGroupBy is the group-by builder for UserAttributeValue entities.
type
UserAttributeValueGroupBy
struct
{
selector
build
*
UserAttributeValueQuery
}
// Aggregate adds the given aggregation functions to the group-by query.
func
(
_g
*
UserAttributeValueGroupBy
)
Aggregate
(
fns
...
AggregateFunc
)
*
UserAttributeValueGroupBy
{
_g
.
fns
=
append
(
_g
.
fns
,
fns
...
)
return
_g
}
// Scan applies the selector query and scans the result into the given value.
func
(
_g
*
UserAttributeValueGroupBy
)
Scan
(
ctx
context
.
Context
,
v
any
)
error
{
ctx
=
setContextOp
(
ctx
,
_g
.
build
.
ctx
,
ent
.
OpQueryGroupBy
)
if
err
:=
_g
.
build
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
err
}
return
scanWithInterceptors
[
*
UserAttributeValueQuery
,
*
UserAttributeValueGroupBy
](
ctx
,
_g
.
build
,
_g
,
_g
.
build
.
inters
,
v
)
}
func
(
_g
*
UserAttributeValueGroupBy
)
sqlScan
(
ctx
context
.
Context
,
root
*
UserAttributeValueQuery
,
v
any
)
error
{
selector
:=
root
.
sqlQuery
(
ctx
)
.
Select
()
aggregation
:=
make
([]
string
,
0
,
len
(
_g
.
fns
))
for
_
,
fn
:=
range
_g
.
fns
{
aggregation
=
append
(
aggregation
,
fn
(
selector
))
}
if
len
(
selector
.
SelectedColumns
())
==
0
{
columns
:=
make
([]
string
,
0
,
len
(
*
_g
.
flds
)
+
len
(
_g
.
fns
))
for
_
,
f
:=
range
*
_g
.
flds
{
columns
=
append
(
columns
,
selector
.
C
(
f
))
}
columns
=
append
(
columns
,
aggregation
...
)
selector
.
Select
(
columns
...
)
}
selector
.
GroupBy
(
selector
.
Columns
(
*
_g
.
flds
...
)
...
)
if
err
:=
selector
.
Err
();
err
!=
nil
{
return
err
}
rows
:=
&
sql
.
Rows
{}
query
,
args
:=
selector
.
Query
()
if
err
:=
_g
.
build
.
driver
.
Query
(
ctx
,
query
,
args
,
rows
);
err
!=
nil
{
return
err
}
defer
rows
.
Close
()
return
sql
.
ScanSlice
(
rows
,
v
)
}
// UserAttributeValueSelect is the builder for selecting fields of UserAttributeValue entities.
type
UserAttributeValueSelect
struct
{
*
UserAttributeValueQuery
selector
}
// Aggregate adds the given aggregation functions to the selector query.
func
(
_s
*
UserAttributeValueSelect
)
Aggregate
(
fns
...
AggregateFunc
)
*
UserAttributeValueSelect
{
_s
.
fns
=
append
(
_s
.
fns
,
fns
...
)
return
_s
}
// Scan applies the selector query and scans the result into the given value.
func
(
_s
*
UserAttributeValueSelect
)
Scan
(
ctx
context
.
Context
,
v
any
)
error
{
ctx
=
setContextOp
(
ctx
,
_s
.
ctx
,
ent
.
OpQuerySelect
)
if
err
:=
_s
.
prepareQuery
(
ctx
);
err
!=
nil
{
return
err
}
return
scanWithInterceptors
[
*
UserAttributeValueQuery
,
*
UserAttributeValueSelect
](
ctx
,
_s
.
UserAttributeValueQuery
,
_s
,
_s
.
inters
,
v
)
}
func
(
_s
*
UserAttributeValueSelect
)
sqlScan
(
ctx
context
.
Context
,
root
*
UserAttributeValueQuery
,
v
any
)
error
{
selector
:=
root
.
sqlQuery
(
ctx
)
aggregation
:=
make
([]
string
,
0
,
len
(
_s
.
fns
))
for
_
,
fn
:=
range
_s
.
fns
{
aggregation
=
append
(
aggregation
,
fn
(
selector
))
}
switch
n
:=
len
(
*
_s
.
selector
.
flds
);
{
case
n
==
0
&&
len
(
aggregation
)
>
0
:
selector
.
Select
(
aggregation
...
)
case
n
!=
0
&&
len
(
aggregation
)
>
0
:
selector
.
AppendSelect
(
aggregation
...
)
}
rows
:=
&
sql
.
Rows
{}
query
,
args
:=
selector
.
Query
()
if
err
:=
_s
.
driver
.
Query
(
ctx
,
query
,
args
,
rows
);
err
!=
nil
{
return
err
}
defer
rows
.
Close
()
return
sql
.
ScanSlice
(
rows
,
v
)
}
backend/ent/userattributevalue_update.go
0 → 100644
View file @
6cc7f997
// Code generated by ent, DO NOT EDIT.
package
ent
import
(
"context"
"errors"
"fmt"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/Wei-Shaw/sub2api/ent/predicate"
"github.com/Wei-Shaw/sub2api/ent/user"
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
)
// UserAttributeValueUpdate is the builder for updating UserAttributeValue entities.
type
UserAttributeValueUpdate
struct
{
config
hooks
[]
Hook
mutation
*
UserAttributeValueMutation
}
// Where appends a list predicates to the UserAttributeValueUpdate builder.
func
(
_u
*
UserAttributeValueUpdate
)
Where
(
ps
...
predicate
.
UserAttributeValue
)
*
UserAttributeValueUpdate
{
_u
.
mutation
.
Where
(
ps
...
)
return
_u
}
// SetUpdatedAt sets the "updated_at" field.
func
(
_u
*
UserAttributeValueUpdate
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeValueUpdate
{
_u
.
mutation
.
SetUpdatedAt
(
v
)
return
_u
}
// SetUserID sets the "user_id" field.
func
(
_u
*
UserAttributeValueUpdate
)
SetUserID
(
v
int64
)
*
UserAttributeValueUpdate
{
_u
.
mutation
.
SetUserID
(
v
)
return
_u
}
// SetNillableUserID sets the "user_id" field if the given value is not nil.
func
(
_u
*
UserAttributeValueUpdate
)
SetNillableUserID
(
v
*
int64
)
*
UserAttributeValueUpdate
{
if
v
!=
nil
{
_u
.
SetUserID
(
*
v
)
}
return
_u
}
// SetAttributeID sets the "attribute_id" field.
func
(
_u
*
UserAttributeValueUpdate
)
SetAttributeID
(
v
int64
)
*
UserAttributeValueUpdate
{
_u
.
mutation
.
SetAttributeID
(
v
)
return
_u
}
// SetNillableAttributeID sets the "attribute_id" field if the given value is not nil.
func
(
_u
*
UserAttributeValueUpdate
)
SetNillableAttributeID
(
v
*
int64
)
*
UserAttributeValueUpdate
{
if
v
!=
nil
{
_u
.
SetAttributeID
(
*
v
)
}
return
_u
}
// SetValue sets the "value" field.
func
(
_u
*
UserAttributeValueUpdate
)
SetValue
(
v
string
)
*
UserAttributeValueUpdate
{
_u
.
mutation
.
SetValue
(
v
)
return
_u
}
// SetNillableValue sets the "value" field if the given value is not nil.
func
(
_u
*
UserAttributeValueUpdate
)
SetNillableValue
(
v
*
string
)
*
UserAttributeValueUpdate
{
if
v
!=
nil
{
_u
.
SetValue
(
*
v
)
}
return
_u
}
// SetUser sets the "user" edge to the User entity.
func
(
_u
*
UserAttributeValueUpdate
)
SetUser
(
v
*
User
)
*
UserAttributeValueUpdate
{
return
_u
.
SetUserID
(
v
.
ID
)
}
// SetDefinitionID sets the "definition" edge to the UserAttributeDefinition entity by ID.
func
(
_u
*
UserAttributeValueUpdate
)
SetDefinitionID
(
id
int64
)
*
UserAttributeValueUpdate
{
_u
.
mutation
.
SetDefinitionID
(
id
)
return
_u
}
// SetDefinition sets the "definition" edge to the UserAttributeDefinition entity.
func
(
_u
*
UserAttributeValueUpdate
)
SetDefinition
(
v
*
UserAttributeDefinition
)
*
UserAttributeValueUpdate
{
return
_u
.
SetDefinitionID
(
v
.
ID
)
}
// Mutation returns the UserAttributeValueMutation object of the builder.
func
(
_u
*
UserAttributeValueUpdate
)
Mutation
()
*
UserAttributeValueMutation
{
return
_u
.
mutation
}
// ClearUser clears the "user" edge to the User entity.
func
(
_u
*
UserAttributeValueUpdate
)
ClearUser
()
*
UserAttributeValueUpdate
{
_u
.
mutation
.
ClearUser
()
return
_u
}
// ClearDefinition clears the "definition" edge to the UserAttributeDefinition entity.
func
(
_u
*
UserAttributeValueUpdate
)
ClearDefinition
()
*
UserAttributeValueUpdate
{
_u
.
mutation
.
ClearDefinition
()
return
_u
}
// Save executes the query and returns the number of nodes affected by the update operation.
func
(
_u
*
UserAttributeValueUpdate
)
Save
(
ctx
context
.
Context
)
(
int
,
error
)
{
_u
.
defaults
()
return
withHooks
(
ctx
,
_u
.
sqlSave
,
_u
.
mutation
,
_u
.
hooks
)
}
// SaveX is like Save, but panics if an error occurs.
func
(
_u
*
UserAttributeValueUpdate
)
SaveX
(
ctx
context
.
Context
)
int
{
affected
,
err
:=
_u
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
affected
}
// Exec executes the query.
func
(
_u
*
UserAttributeValueUpdate
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_u
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_u
*
UserAttributeValueUpdate
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_u
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// defaults sets the default values of the builder before save.
func
(
_u
*
UserAttributeValueUpdate
)
defaults
()
{
if
_
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
!
ok
{
v
:=
userattributevalue
.
UpdateDefaultUpdatedAt
()
_u
.
mutation
.
SetUpdatedAt
(
v
)
}
}
// check runs all checks and user-defined validators on the builder.
func
(
_u
*
UserAttributeValueUpdate
)
check
()
error
{
if
_u
.
mutation
.
UserCleared
()
&&
len
(
_u
.
mutation
.
UserIDs
())
>
0
{
return
errors
.
New
(
`ent: clearing a required unique edge "UserAttributeValue.user"`
)
}
if
_u
.
mutation
.
DefinitionCleared
()
&&
len
(
_u
.
mutation
.
DefinitionIDs
())
>
0
{
return
errors
.
New
(
`ent: clearing a required unique edge "UserAttributeValue.definition"`
)
}
return
nil
}
func
(
_u
*
UserAttributeValueUpdate
)
sqlSave
(
ctx
context
.
Context
)
(
_node
int
,
err
error
)
{
if
err
:=
_u
.
check
();
err
!=
nil
{
return
_node
,
err
}
_spec
:=
sqlgraph
.
NewUpdateSpec
(
userattributevalue
.
Table
,
userattributevalue
.
Columns
,
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
))
if
ps
:=
_u
.
mutation
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
if
value
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldUpdatedAt
,
field
.
TypeTime
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Value
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldValue
,
field
.
TypeString
,
value
)
}
if
_u
.
mutation
.
UserCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
UserTable
,
Columns
:
[]
string
{
userattributevalue
.
UserColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
user
.
FieldID
,
field
.
TypeInt64
),
},
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
UserIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
UserTable
,
Columns
:
[]
string
{
userattributevalue
.
UserColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
user
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Add
=
append
(
_spec
.
Edges
.
Add
,
edge
)
}
if
_u
.
mutation
.
DefinitionCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
DefinitionTable
,
Columns
:
[]
string
{
userattributevalue
.
DefinitionColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
),
},
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
DefinitionIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
DefinitionTable
,
Columns
:
[]
string
{
userattributevalue
.
DefinitionColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Add
=
append
(
_spec
.
Edges
.
Add
,
edge
)
}
if
_node
,
err
=
sqlgraph
.
UpdateNodes
(
ctx
,
_u
.
driver
,
_spec
);
err
!=
nil
{
if
_
,
ok
:=
err
.
(
*
sqlgraph
.
NotFoundError
);
ok
{
err
=
&
NotFoundError
{
userattributevalue
.
Label
}
}
else
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
return
0
,
err
}
_u
.
mutation
.
done
=
true
return
_node
,
nil
}
// UserAttributeValueUpdateOne is the builder for updating a single UserAttributeValue entity.
type
UserAttributeValueUpdateOne
struct
{
config
fields
[]
string
hooks
[]
Hook
mutation
*
UserAttributeValueMutation
}
// SetUpdatedAt sets the "updated_at" field.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetUpdatedAt
(
v
time
.
Time
)
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
SetUpdatedAt
(
v
)
return
_u
}
// SetUserID sets the "user_id" field.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetUserID
(
v
int64
)
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
SetUserID
(
v
)
return
_u
}
// SetNillableUserID sets the "user_id" field if the given value is not nil.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetNillableUserID
(
v
*
int64
)
*
UserAttributeValueUpdateOne
{
if
v
!=
nil
{
_u
.
SetUserID
(
*
v
)
}
return
_u
}
// SetAttributeID sets the "attribute_id" field.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetAttributeID
(
v
int64
)
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
SetAttributeID
(
v
)
return
_u
}
// SetNillableAttributeID sets the "attribute_id" field if the given value is not nil.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetNillableAttributeID
(
v
*
int64
)
*
UserAttributeValueUpdateOne
{
if
v
!=
nil
{
_u
.
SetAttributeID
(
*
v
)
}
return
_u
}
// SetValue sets the "value" field.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetValue
(
v
string
)
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
SetValue
(
v
)
return
_u
}
// SetNillableValue sets the "value" field if the given value is not nil.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetNillableValue
(
v
*
string
)
*
UserAttributeValueUpdateOne
{
if
v
!=
nil
{
_u
.
SetValue
(
*
v
)
}
return
_u
}
// SetUser sets the "user" edge to the User entity.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetUser
(
v
*
User
)
*
UserAttributeValueUpdateOne
{
return
_u
.
SetUserID
(
v
.
ID
)
}
// SetDefinitionID sets the "definition" edge to the UserAttributeDefinition entity by ID.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetDefinitionID
(
id
int64
)
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
SetDefinitionID
(
id
)
return
_u
}
// SetDefinition sets the "definition" edge to the UserAttributeDefinition entity.
func
(
_u
*
UserAttributeValueUpdateOne
)
SetDefinition
(
v
*
UserAttributeDefinition
)
*
UserAttributeValueUpdateOne
{
return
_u
.
SetDefinitionID
(
v
.
ID
)
}
// Mutation returns the UserAttributeValueMutation object of the builder.
func
(
_u
*
UserAttributeValueUpdateOne
)
Mutation
()
*
UserAttributeValueMutation
{
return
_u
.
mutation
}
// ClearUser clears the "user" edge to the User entity.
func
(
_u
*
UserAttributeValueUpdateOne
)
ClearUser
()
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
ClearUser
()
return
_u
}
// ClearDefinition clears the "definition" edge to the UserAttributeDefinition entity.
func
(
_u
*
UserAttributeValueUpdateOne
)
ClearDefinition
()
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
ClearDefinition
()
return
_u
}
// Where appends a list predicates to the UserAttributeValueUpdate builder.
func
(
_u
*
UserAttributeValueUpdateOne
)
Where
(
ps
...
predicate
.
UserAttributeValue
)
*
UserAttributeValueUpdateOne
{
_u
.
mutation
.
Where
(
ps
...
)
return
_u
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func
(
_u
*
UserAttributeValueUpdateOne
)
Select
(
field
string
,
fields
...
string
)
*
UserAttributeValueUpdateOne
{
_u
.
fields
=
append
([]
string
{
field
},
fields
...
)
return
_u
}
// Save executes the query and returns the updated UserAttributeValue entity.
func
(
_u
*
UserAttributeValueUpdateOne
)
Save
(
ctx
context
.
Context
)
(
*
UserAttributeValue
,
error
)
{
_u
.
defaults
()
return
withHooks
(
ctx
,
_u
.
sqlSave
,
_u
.
mutation
,
_u
.
hooks
)
}
// SaveX is like Save, but panics if an error occurs.
func
(
_u
*
UserAttributeValueUpdateOne
)
SaveX
(
ctx
context
.
Context
)
*
UserAttributeValue
{
node
,
err
:=
_u
.
Save
(
ctx
)
if
err
!=
nil
{
panic
(
err
)
}
return
node
}
// Exec executes the query on the entity.
func
(
_u
*
UserAttributeValueUpdateOne
)
Exec
(
ctx
context
.
Context
)
error
{
_
,
err
:=
_u
.
Save
(
ctx
)
return
err
}
// ExecX is like Exec, but panics if an error occurs.
func
(
_u
*
UserAttributeValueUpdateOne
)
ExecX
(
ctx
context
.
Context
)
{
if
err
:=
_u
.
Exec
(
ctx
);
err
!=
nil
{
panic
(
err
)
}
}
// defaults sets the default values of the builder before save.
func
(
_u
*
UserAttributeValueUpdateOne
)
defaults
()
{
if
_
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
!
ok
{
v
:=
userattributevalue
.
UpdateDefaultUpdatedAt
()
_u
.
mutation
.
SetUpdatedAt
(
v
)
}
}
// check runs all checks and user-defined validators on the builder.
func
(
_u
*
UserAttributeValueUpdateOne
)
check
()
error
{
if
_u
.
mutation
.
UserCleared
()
&&
len
(
_u
.
mutation
.
UserIDs
())
>
0
{
return
errors
.
New
(
`ent: clearing a required unique edge "UserAttributeValue.user"`
)
}
if
_u
.
mutation
.
DefinitionCleared
()
&&
len
(
_u
.
mutation
.
DefinitionIDs
())
>
0
{
return
errors
.
New
(
`ent: clearing a required unique edge "UserAttributeValue.definition"`
)
}
return
nil
}
func
(
_u
*
UserAttributeValueUpdateOne
)
sqlSave
(
ctx
context
.
Context
)
(
_node
*
UserAttributeValue
,
err
error
)
{
if
err
:=
_u
.
check
();
err
!=
nil
{
return
_node
,
err
}
_spec
:=
sqlgraph
.
NewUpdateSpec
(
userattributevalue
.
Table
,
userattributevalue
.
Columns
,
sqlgraph
.
NewFieldSpec
(
userattributevalue
.
FieldID
,
field
.
TypeInt64
))
id
,
ok
:=
_u
.
mutation
.
ID
()
if
!
ok
{
return
nil
,
&
ValidationError
{
Name
:
"id"
,
err
:
errors
.
New
(
`ent: missing "UserAttributeValue.id" for update`
)}
}
_spec
.
Node
.
ID
.
Value
=
id
if
fields
:=
_u
.
fields
;
len
(
fields
)
>
0
{
_spec
.
Node
.
Columns
=
make
([]
string
,
0
,
len
(
fields
))
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
userattributevalue
.
FieldID
)
for
_
,
f
:=
range
fields
{
if
!
userattributevalue
.
ValidColumn
(
f
)
{
return
nil
,
&
ValidationError
{
Name
:
f
,
err
:
fmt
.
Errorf
(
"ent: invalid field %q for query"
,
f
)}
}
if
f
!=
userattributevalue
.
FieldID
{
_spec
.
Node
.
Columns
=
append
(
_spec
.
Node
.
Columns
,
f
)
}
}
}
if
ps
:=
_u
.
mutation
.
predicates
;
len
(
ps
)
>
0
{
_spec
.
Predicate
=
func
(
selector
*
sql
.
Selector
)
{
for
i
:=
range
ps
{
ps
[
i
](
selector
)
}
}
}
if
value
,
ok
:=
_u
.
mutation
.
UpdatedAt
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldUpdatedAt
,
field
.
TypeTime
,
value
)
}
if
value
,
ok
:=
_u
.
mutation
.
Value
();
ok
{
_spec
.
SetField
(
userattributevalue
.
FieldValue
,
field
.
TypeString
,
value
)
}
if
_u
.
mutation
.
UserCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
UserTable
,
Columns
:
[]
string
{
userattributevalue
.
UserColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
user
.
FieldID
,
field
.
TypeInt64
),
},
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
UserIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
UserTable
,
Columns
:
[]
string
{
userattributevalue
.
UserColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
user
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Add
=
append
(
_spec
.
Edges
.
Add
,
edge
)
}
if
_u
.
mutation
.
DefinitionCleared
()
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
DefinitionTable
,
Columns
:
[]
string
{
userattributevalue
.
DefinitionColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
),
},
}
_spec
.
Edges
.
Clear
=
append
(
_spec
.
Edges
.
Clear
,
edge
)
}
if
nodes
:=
_u
.
mutation
.
DefinitionIDs
();
len
(
nodes
)
>
0
{
edge
:=
&
sqlgraph
.
EdgeSpec
{
Rel
:
sqlgraph
.
M2O
,
Inverse
:
true
,
Table
:
userattributevalue
.
DefinitionTable
,
Columns
:
[]
string
{
userattributevalue
.
DefinitionColumn
},
Bidi
:
false
,
Target
:
&
sqlgraph
.
EdgeTarget
{
IDSpec
:
sqlgraph
.
NewFieldSpec
(
userattributedefinition
.
FieldID
,
field
.
TypeInt64
),
},
}
for
_
,
k
:=
range
nodes
{
edge
.
Target
.
Nodes
=
append
(
edge
.
Target
.
Nodes
,
k
)
}
_spec
.
Edges
.
Add
=
append
(
_spec
.
Edges
.
Add
,
edge
)
}
_node
=
&
UserAttributeValue
{
config
:
_u
.
config
}
_spec
.
Assign
=
_node
.
assignValues
_spec
.
ScanValues
=
_node
.
scanValues
if
err
=
sqlgraph
.
UpdateNode
(
ctx
,
_u
.
driver
,
_spec
);
err
!=
nil
{
if
_
,
ok
:=
err
.
(
*
sqlgraph
.
NotFoundError
);
ok
{
err
=
&
NotFoundError
{
userattributevalue
.
Label
}
}
else
if
sqlgraph
.
IsConstraintError
(
err
)
{
err
=
&
ConstraintError
{
msg
:
err
.
Error
(),
wrap
:
err
}
}
return
nil
,
err
}
_u
.
mutation
.
done
=
true
return
_node
,
nil
}
backend/internal/config/config.go
View file @
6cc7f997
...
...
@@ -3,6 +3,7 @@ package config
import
(
"fmt"
"strings"
"time"
"github.com/spf13/viper"
)
...
...
@@ -43,6 +44,7 @@ type Config struct {
type
GeminiConfig
struct
{
OAuth
GeminiOAuthConfig
`mapstructure:"oauth"`
Quota
GeminiQuotaConfig
`mapstructure:"quota"`
}
type
GeminiOAuthConfig
struct
{
...
...
@@ -51,6 +53,17 @@ type GeminiOAuthConfig struct {
Scopes
string
`mapstructure:"scopes"`
}
type
GeminiQuotaConfig
struct
{
Tiers
map
[
string
]
GeminiTierQuotaConfig
`mapstructure:"tiers"`
Policy
string
`mapstructure:"policy"`
}
type
GeminiTierQuotaConfig
struct
{
ProRPD
*
int64
`mapstructure:"pro_rpd" json:"pro_rpd"`
FlashRPD
*
int64
`mapstructure:"flash_rpd" json:"flash_rpd"`
CooldownMinutes
*
int
`mapstructure:"cooldown_minutes" json:"cooldown_minutes"`
}
// TokenRefreshConfig OAuth token自动刷新配置
type
TokenRefreshConfig
struct
{
// 是否启用自动刷新
...
...
@@ -119,6 +132,37 @@ type GatewayConfig struct {
// ConcurrencySlotTTLMinutes: 并发槽位过期时间(分钟)
// 应大于最长 LLM 请求时间,防止请求完成前槽位过期
ConcurrencySlotTTLMinutes
int
`mapstructure:"concurrency_slot_ttl_minutes"`
// 是否记录上游错误响应体摘要(避免输出请求内容)
LogUpstreamErrorBody
bool
`mapstructure:"log_upstream_error_body"`
// 上游错误响应体记录最大字节数(超过会截断)
LogUpstreamErrorBodyMaxBytes
int
`mapstructure:"log_upstream_error_body_max_bytes"`
// API-key 账号在客户端未提供 anthropic-beta 时,是否按需自动补齐(默认关闭以保持兼容)
InjectBetaForApiKey
bool
`mapstructure:"inject_beta_for_apikey"`
// 是否允许对部分 400 错误触发 failover(默认关闭以避免改变语义)
FailoverOn400
bool
`mapstructure:"failover_on_400"`
// Scheduling: 账号调度相关配置
Scheduling
GatewaySchedulingConfig
`mapstructure:"scheduling"`
}
// GatewaySchedulingConfig accounts scheduling configuration.
type
GatewaySchedulingConfig
struct
{
// 粘性会话排队配置
StickySessionMaxWaiting
int
`mapstructure:"sticky_session_max_waiting"`
StickySessionWaitTimeout
time
.
Duration
`mapstructure:"sticky_session_wait_timeout"`
// 兜底排队配置
FallbackWaitTimeout
time
.
Duration
`mapstructure:"fallback_wait_timeout"`
FallbackMaxWaiting
int
`mapstructure:"fallback_max_waiting"`
// 负载计算
LoadBatchEnabled
bool
`mapstructure:"load_batch_enabled"`
// 过期槽位清理周期(0 表示禁用)
SlotCleanupInterval
time
.
Duration
`mapstructure:"slot_cleanup_interval"`
}
func
(
s
*
ServerConfig
)
Address
()
string
{
...
...
@@ -313,6 +357,10 @@ func setDefaults() {
// Gateway
viper
.
SetDefault
(
"gateway.response_header_timeout"
,
300
)
// 300秒(5分钟)等待上游响应头,LLM高负载时可能排队较久
viper
.
SetDefault
(
"gateway.log_upstream_error_body"
,
false
)
viper
.
SetDefault
(
"gateway.log_upstream_error_body_max_bytes"
,
2048
)
viper
.
SetDefault
(
"gateway.inject_beta_for_apikey"
,
false
)
viper
.
SetDefault
(
"gateway.failover_on_400"
,
false
)
viper
.
SetDefault
(
"gateway.max_body_size"
,
int64
(
100
*
1024
*
1024
))
viper
.
SetDefault
(
"gateway.connection_pool_isolation"
,
ConnectionPoolIsolationAccountProxy
)
// HTTP 上游连接池配置(针对 5000+ 并发用户优化)
...
...
@@ -323,6 +371,12 @@ func setDefaults() {
viper
.
SetDefault
(
"gateway.max_upstream_clients"
,
5000
)
viper
.
SetDefault
(
"gateway.client_idle_ttl_seconds"
,
900
)
viper
.
SetDefault
(
"gateway.concurrency_slot_ttl_minutes"
,
15
)
// 并发槽位过期时间(支持超长请求)
viper
.
SetDefault
(
"gateway.scheduling.sticky_session_max_waiting"
,
3
)
viper
.
SetDefault
(
"gateway.scheduling.sticky_session_wait_timeout"
,
45
*
time
.
Second
)
viper
.
SetDefault
(
"gateway.scheduling.fallback_wait_timeout"
,
30
*
time
.
Second
)
viper
.
SetDefault
(
"gateway.scheduling.fallback_max_waiting"
,
100
)
viper
.
SetDefault
(
"gateway.scheduling.load_batch_enabled"
,
true
)
viper
.
SetDefault
(
"gateway.scheduling.slot_cleanup_interval"
,
30
*
time
.
Second
)
// TokenRefresh
viper
.
SetDefault
(
"token_refresh.enabled"
,
true
)
...
...
@@ -337,6 +391,7 @@ func setDefaults() {
viper
.
SetDefault
(
"gemini.oauth.client_id"
,
""
)
viper
.
SetDefault
(
"gemini.oauth.client_secret"
,
""
)
viper
.
SetDefault
(
"gemini.oauth.scopes"
,
""
)
viper
.
SetDefault
(
"gemini.quota.policy"
,
""
)
}
func
(
c
*
Config
)
Validate
()
error
{
...
...
@@ -411,6 +466,21 @@ func (c *Config) Validate() error {
if
c
.
Gateway
.
ConcurrencySlotTTLMinutes
<=
0
{
return
fmt
.
Errorf
(
"gateway.concurrency_slot_ttl_minutes must be positive"
)
}
if
c
.
Gateway
.
Scheduling
.
StickySessionMaxWaiting
<=
0
{
return
fmt
.
Errorf
(
"gateway.scheduling.sticky_session_max_waiting must be positive"
)
}
if
c
.
Gateway
.
Scheduling
.
StickySessionWaitTimeout
<=
0
{
return
fmt
.
Errorf
(
"gateway.scheduling.sticky_session_wait_timeout must be positive"
)
}
if
c
.
Gateway
.
Scheduling
.
FallbackWaitTimeout
<=
0
{
return
fmt
.
Errorf
(
"gateway.scheduling.fallback_wait_timeout must be positive"
)
}
if
c
.
Gateway
.
Scheduling
.
FallbackMaxWaiting
<=
0
{
return
fmt
.
Errorf
(
"gateway.scheduling.fallback_max_waiting must be positive"
)
}
if
c
.
Gateway
.
Scheduling
.
SlotCleanupInterval
<
0
{
return
fmt
.
Errorf
(
"gateway.scheduling.slot_cleanup_interval must be non-negative"
)
}
return
nil
}
...
...
backend/internal/config/config_test.go
View file @
6cc7f997
package
config
import
"testing"
import
(
"testing"
"time"
"github.com/spf13/viper"
)
func
TestNormalizeRunMode
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
...
...
@@ -21,3 +26,45 @@ func TestNormalizeRunMode(t *testing.T) {
}
}
}
func
TestLoadDefaultSchedulingConfig
(
t
*
testing
.
T
)
{
viper
.
Reset
()
cfg
,
err
:=
Load
()
if
err
!=
nil
{
t
.
Fatalf
(
"Load() error: %v"
,
err
)
}
if
cfg
.
Gateway
.
Scheduling
.
StickySessionMaxWaiting
!=
3
{
t
.
Fatalf
(
"StickySessionMaxWaiting = %d, want 3"
,
cfg
.
Gateway
.
Scheduling
.
StickySessionMaxWaiting
)
}
if
cfg
.
Gateway
.
Scheduling
.
StickySessionWaitTimeout
!=
45
*
time
.
Second
{
t
.
Fatalf
(
"StickySessionWaitTimeout = %v, want 45s"
,
cfg
.
Gateway
.
Scheduling
.
StickySessionWaitTimeout
)
}
if
cfg
.
Gateway
.
Scheduling
.
FallbackWaitTimeout
!=
30
*
time
.
Second
{
t
.
Fatalf
(
"FallbackWaitTimeout = %v, want 30s"
,
cfg
.
Gateway
.
Scheduling
.
FallbackWaitTimeout
)
}
if
cfg
.
Gateway
.
Scheduling
.
FallbackMaxWaiting
!=
100
{
t
.
Fatalf
(
"FallbackMaxWaiting = %d, want 100"
,
cfg
.
Gateway
.
Scheduling
.
FallbackMaxWaiting
)
}
if
!
cfg
.
Gateway
.
Scheduling
.
LoadBatchEnabled
{
t
.
Fatalf
(
"LoadBatchEnabled = false, want true"
)
}
if
cfg
.
Gateway
.
Scheduling
.
SlotCleanupInterval
!=
30
*
time
.
Second
{
t
.
Fatalf
(
"SlotCleanupInterval = %v, want 30s"
,
cfg
.
Gateway
.
Scheduling
.
SlotCleanupInterval
)
}
}
func
TestLoadSchedulingConfigFromEnv
(
t
*
testing
.
T
)
{
viper
.
Reset
()
t
.
Setenv
(
"GATEWAY_SCHEDULING_STICKY_SESSION_MAX_WAITING"
,
"5"
)
cfg
,
err
:=
Load
()
if
err
!=
nil
{
t
.
Fatalf
(
"Load() error: %v"
,
err
)
}
if
cfg
.
Gateway
.
Scheduling
.
StickySessionMaxWaiting
!=
5
{
t
.
Fatalf
(
"StickySessionMaxWaiting = %d, want 5"
,
cfg
.
Gateway
.
Scheduling
.
StickySessionMaxWaiting
)
}
}
backend/internal/handler/admin/account_handler.go
View file @
6cc7f997
...
...
@@ -3,6 +3,7 @@ package admin
import
(
"strconv"
"strings"
"sync"
"github.com/Wei-Shaw/sub2api/internal/handler/dto"
"github.com/Wei-Shaw/sub2api/internal/pkg/claude"
...
...
@@ -13,6 +14,7 @@ import (
"github.com/Wei-Shaw/sub2api/internal/service"
"github.com/gin-gonic/gin"
"golang.org/x/sync/errgroup"
)
// OAuthHandler handles OAuth-related operations for accounts
...
...
@@ -989,3 +991,164 @@ func (h *AccountHandler) GetAvailableModels(c *gin.Context) {
response
.
Success
(
c
,
models
)
}
// RefreshTier handles refreshing Google One tier for a single account
// POST /api/v1/admin/accounts/:id/refresh-tier
func
(
h
*
AccountHandler
)
RefreshTier
(
c
*
gin
.
Context
)
{
accountID
,
err
:=
strconv
.
ParseInt
(
c
.
Param
(
"id"
),
10
,
64
)
if
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid account ID"
)
return
}
ctx
:=
c
.
Request
.
Context
()
account
,
err
:=
h
.
adminService
.
GetAccount
(
ctx
,
accountID
)
if
err
!=
nil
{
response
.
NotFound
(
c
,
"Account not found"
)
return
}
if
account
.
Platform
!=
service
.
PlatformGemini
||
account
.
Type
!=
service
.
AccountTypeOAuth
{
response
.
BadRequest
(
c
,
"Only Gemini OAuth accounts support tier refresh"
)
return
}
oauthType
,
_
:=
account
.
Credentials
[
"oauth_type"
]
.
(
string
)
if
oauthType
!=
"google_one"
{
response
.
BadRequest
(
c
,
"Only google_one OAuth accounts support tier refresh"
)
return
}
tierID
,
extra
,
creds
,
err
:=
h
.
geminiOAuthService
.
RefreshAccountGoogleOneTier
(
ctx
,
account
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
_
,
updateErr
:=
h
.
adminService
.
UpdateAccount
(
ctx
,
accountID
,
&
service
.
UpdateAccountInput
{
Credentials
:
creds
,
Extra
:
extra
,
})
if
updateErr
!=
nil
{
response
.
ErrorFrom
(
c
,
updateErr
)
return
}
response
.
Success
(
c
,
gin
.
H
{
"tier_id"
:
tierID
,
"storage_info"
:
extra
,
"drive_storage_limit"
:
extra
[
"drive_storage_limit"
],
"drive_storage_usage"
:
extra
[
"drive_storage_usage"
],
"updated_at"
:
extra
[
"drive_tier_updated_at"
],
})
}
// BatchRefreshTierRequest represents batch tier refresh request
type
BatchRefreshTierRequest
struct
{
AccountIDs
[]
int64
`json:"account_ids"`
}
// BatchRefreshTier handles batch refreshing Google One tier
// POST /api/v1/admin/accounts/batch-refresh-tier
func
(
h
*
AccountHandler
)
BatchRefreshTier
(
c
*
gin
.
Context
)
{
var
req
BatchRefreshTierRequest
if
err
:=
c
.
ShouldBindJSON
(
&
req
);
err
!=
nil
{
req
=
BatchRefreshTierRequest
{}
}
ctx
:=
c
.
Request
.
Context
()
accounts
:=
make
([]
*
service
.
Account
,
0
)
if
len
(
req
.
AccountIDs
)
==
0
{
allAccounts
,
_
,
err
:=
h
.
adminService
.
ListAccounts
(
ctx
,
1
,
10000
,
"gemini"
,
"oauth"
,
""
,
""
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
for
i
:=
range
allAccounts
{
acc
:=
&
allAccounts
[
i
]
oauthType
,
_
:=
acc
.
Credentials
[
"oauth_type"
]
.
(
string
)
if
oauthType
==
"google_one"
{
accounts
=
append
(
accounts
,
acc
)
}
}
}
else
{
fetched
,
err
:=
h
.
adminService
.
GetAccountsByIDs
(
ctx
,
req
.
AccountIDs
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
for
_
,
acc
:=
range
fetched
{
if
acc
==
nil
{
continue
}
if
acc
.
Platform
!=
service
.
PlatformGemini
||
acc
.
Type
!=
service
.
AccountTypeOAuth
{
continue
}
oauthType
,
_
:=
acc
.
Credentials
[
"oauth_type"
]
.
(
string
)
if
oauthType
!=
"google_one"
{
continue
}
accounts
=
append
(
accounts
,
acc
)
}
}
const
maxConcurrency
=
10
g
,
gctx
:=
errgroup
.
WithContext
(
ctx
)
g
.
SetLimit
(
maxConcurrency
)
var
mu
sync
.
Mutex
var
successCount
,
failedCount
int
var
errors
[]
gin
.
H
for
_
,
account
:=
range
accounts
{
acc
:=
account
// 闭包捕获
g
.
Go
(
func
()
error
{
_
,
extra
,
creds
,
err
:=
h
.
geminiOAuthService
.
RefreshAccountGoogleOneTier
(
gctx
,
acc
)
if
err
!=
nil
{
mu
.
Lock
()
failedCount
++
errors
=
append
(
errors
,
gin
.
H
{
"account_id"
:
acc
.
ID
,
"error"
:
err
.
Error
(),
})
mu
.
Unlock
()
return
nil
}
_
,
updateErr
:=
h
.
adminService
.
UpdateAccount
(
gctx
,
acc
.
ID
,
&
service
.
UpdateAccountInput
{
Credentials
:
creds
,
Extra
:
extra
,
})
mu
.
Lock
()
if
updateErr
!=
nil
{
failedCount
++
errors
=
append
(
errors
,
gin
.
H
{
"account_id"
:
acc
.
ID
,
"error"
:
updateErr
.
Error
(),
})
}
else
{
successCount
++
}
mu
.
Unlock
()
return
nil
})
}
if
err
:=
g
.
Wait
();
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
results
:=
gin
.
H
{
"total"
:
len
(
accounts
),
"success"
:
successCount
,
"failed"
:
failedCount
,
"errors"
:
errors
,
}
response
.
Success
(
c
,
results
)
}
backend/internal/handler/admin/gemini_oauth_handler.go
View file @
6cc7f997
...
...
@@ -46,8 +46,8 @@ func (h *GeminiOAuthHandler) GenerateAuthURL(c *gin.Context) {
if
oauthType
==
""
{
oauthType
=
"code_assist"
}
if
oauthType
!=
"code_assist"
&&
oauthType
!=
"ai_studio"
{
response
.
BadRequest
(
c
,
"Invalid oauth_type: must be 'code_assist' or 'ai_studio'"
)
if
oauthType
!=
"code_assist"
&&
oauthType
!=
"google_one"
&&
oauthType
!=
"ai_studio"
{
response
.
BadRequest
(
c
,
"Invalid oauth_type: must be 'code_assist'
, 'google_one',
or 'ai_studio'"
)
return
}
...
...
@@ -92,8 +92,8 @@ func (h *GeminiOAuthHandler) ExchangeCode(c *gin.Context) {
if
oauthType
==
""
{
oauthType
=
"code_assist"
}
if
oauthType
!=
"code_assist"
&&
oauthType
!=
"ai_studio"
{
response
.
BadRequest
(
c
,
"Invalid oauth_type: must be 'code_assist' or 'ai_studio'"
)
if
oauthType
!=
"code_assist"
&&
oauthType
!=
"google_one"
&&
oauthType
!=
"ai_studio"
{
response
.
BadRequest
(
c
,
"Invalid oauth_type: must be 'code_assist'
, 'google_one',
or 'ai_studio'"
)
return
}
...
...
backend/internal/handler/admin/usage_handler.go
View file @
6cc7f997
...
...
@@ -246,7 +246,7 @@ func (h *UsageHandler) SearchUsers(c *gin.Context) {
}
// Limit to 30 results
users
,
_
,
err
:=
h
.
adminService
.
ListUsers
(
c
.
Request
.
Context
(),
1
,
30
,
""
,
""
,
keyword
)
users
,
_
,
err
:=
h
.
adminService
.
ListUsers
(
c
.
Request
.
Context
(),
1
,
30
,
service
.
UserListFilters
{
Search
:
keyword
}
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
...
...
backend/internal/handler/admin/user_attribute_handler.go
0 → 100644
View file @
6cc7f997
package
admin
import
(
"strconv"
"github.com/Wei-Shaw/sub2api/internal/pkg/response"
"github.com/Wei-Shaw/sub2api/internal/service"
"github.com/gin-gonic/gin"
)
// UserAttributeHandler handles user attribute management
type
UserAttributeHandler
struct
{
attrService
*
service
.
UserAttributeService
}
// NewUserAttributeHandler creates a new handler
func
NewUserAttributeHandler
(
attrService
*
service
.
UserAttributeService
)
*
UserAttributeHandler
{
return
&
UserAttributeHandler
{
attrService
:
attrService
}
}
// --- Request/Response DTOs ---
// CreateAttributeDefinitionRequest represents create attribute definition request
type
CreateAttributeDefinitionRequest
struct
{
Key
string
`json:"key" binding:"required,min=1,max=100"`
Name
string
`json:"name" binding:"required,min=1,max=255"`
Description
string
`json:"description"`
Type
string
`json:"type" binding:"required"`
Options
[]
service
.
UserAttributeOption
`json:"options"`
Required
bool
`json:"required"`
Validation
service
.
UserAttributeValidation
`json:"validation"`
Placeholder
string
`json:"placeholder"`
Enabled
bool
`json:"enabled"`
}
// UpdateAttributeDefinitionRequest represents update attribute definition request
type
UpdateAttributeDefinitionRequest
struct
{
Name
*
string
`json:"name"`
Description
*
string
`json:"description"`
Type
*
string
`json:"type"`
Options
*
[]
service
.
UserAttributeOption
`json:"options"`
Required
*
bool
`json:"required"`
Validation
*
service
.
UserAttributeValidation
`json:"validation"`
Placeholder
*
string
`json:"placeholder"`
Enabled
*
bool
`json:"enabled"`
}
// ReorderRequest represents reorder attribute definitions request
type
ReorderRequest
struct
{
IDs
[]
int64
`json:"ids" binding:"required"`
}
// UpdateUserAttributesRequest represents update user attributes request
type
UpdateUserAttributesRequest
struct
{
Values
map
[
int64
]
string
`json:"values" binding:"required"`
}
// BatchGetUserAttributesRequest represents batch get user attributes request
type
BatchGetUserAttributesRequest
struct
{
UserIDs
[]
int64
`json:"user_ids" binding:"required"`
}
// BatchUserAttributesResponse represents batch user attributes response
type
BatchUserAttributesResponse
struct
{
// Map of userID -> map of attributeID -> value
Attributes
map
[
int64
]
map
[
int64
]
string
`json:"attributes"`
}
// AttributeDefinitionResponse represents attribute definition response
type
AttributeDefinitionResponse
struct
{
ID
int64
`json:"id"`
Key
string
`json:"key"`
Name
string
`json:"name"`
Description
string
`json:"description"`
Type
string
`json:"type"`
Options
[]
service
.
UserAttributeOption
`json:"options"`
Required
bool
`json:"required"`
Validation
service
.
UserAttributeValidation
`json:"validation"`
Placeholder
string
`json:"placeholder"`
DisplayOrder
int
`json:"display_order"`
Enabled
bool
`json:"enabled"`
CreatedAt
string
`json:"created_at"`
UpdatedAt
string
`json:"updated_at"`
}
// AttributeValueResponse represents attribute value response
type
AttributeValueResponse
struct
{
ID
int64
`json:"id"`
UserID
int64
`json:"user_id"`
AttributeID
int64
`json:"attribute_id"`
Value
string
`json:"value"`
CreatedAt
string
`json:"created_at"`
UpdatedAt
string
`json:"updated_at"`
}
// --- Helpers ---
func
defToResponse
(
def
*
service
.
UserAttributeDefinition
)
*
AttributeDefinitionResponse
{
return
&
AttributeDefinitionResponse
{
ID
:
def
.
ID
,
Key
:
def
.
Key
,
Name
:
def
.
Name
,
Description
:
def
.
Description
,
Type
:
string
(
def
.
Type
),
Options
:
def
.
Options
,
Required
:
def
.
Required
,
Validation
:
def
.
Validation
,
Placeholder
:
def
.
Placeholder
,
DisplayOrder
:
def
.
DisplayOrder
,
Enabled
:
def
.
Enabled
,
CreatedAt
:
def
.
CreatedAt
.
Format
(
"2006-01-02T15:04:05Z07:00"
),
UpdatedAt
:
def
.
UpdatedAt
.
Format
(
"2006-01-02T15:04:05Z07:00"
),
}
}
func
valueToResponse
(
val
*
service
.
UserAttributeValue
)
*
AttributeValueResponse
{
return
&
AttributeValueResponse
{
ID
:
val
.
ID
,
UserID
:
val
.
UserID
,
AttributeID
:
val
.
AttributeID
,
Value
:
val
.
Value
,
CreatedAt
:
val
.
CreatedAt
.
Format
(
"2006-01-02T15:04:05Z07:00"
),
UpdatedAt
:
val
.
UpdatedAt
.
Format
(
"2006-01-02T15:04:05Z07:00"
),
}
}
// --- Handlers ---
// ListDefinitions lists all attribute definitions
// GET /admin/user-attributes
func
(
h
*
UserAttributeHandler
)
ListDefinitions
(
c
*
gin
.
Context
)
{
enabledOnly
:=
c
.
Query
(
"enabled"
)
==
"true"
defs
,
err
:=
h
.
attrService
.
ListDefinitions
(
c
.
Request
.
Context
(),
enabledOnly
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
out
:=
make
([]
*
AttributeDefinitionResponse
,
0
,
len
(
defs
))
for
i
:=
range
defs
{
out
=
append
(
out
,
defToResponse
(
&
defs
[
i
]))
}
response
.
Success
(
c
,
out
)
}
// CreateDefinition creates a new attribute definition
// POST /admin/user-attributes
func
(
h
*
UserAttributeHandler
)
CreateDefinition
(
c
*
gin
.
Context
)
{
var
req
CreateAttributeDefinitionRequest
if
err
:=
c
.
ShouldBindJSON
(
&
req
);
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid request: "
+
err
.
Error
())
return
}
def
,
err
:=
h
.
attrService
.
CreateDefinition
(
c
.
Request
.
Context
(),
service
.
CreateAttributeDefinitionInput
{
Key
:
req
.
Key
,
Name
:
req
.
Name
,
Description
:
req
.
Description
,
Type
:
service
.
UserAttributeType
(
req
.
Type
),
Options
:
req
.
Options
,
Required
:
req
.
Required
,
Validation
:
req
.
Validation
,
Placeholder
:
req
.
Placeholder
,
Enabled
:
req
.
Enabled
,
})
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
response
.
Success
(
c
,
defToResponse
(
def
))
}
// UpdateDefinition updates an attribute definition
// PUT /admin/user-attributes/:id
func
(
h
*
UserAttributeHandler
)
UpdateDefinition
(
c
*
gin
.
Context
)
{
id
,
err
:=
strconv
.
ParseInt
(
c
.
Param
(
"id"
),
10
,
64
)
if
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid attribute ID"
)
return
}
var
req
UpdateAttributeDefinitionRequest
if
err
:=
c
.
ShouldBindJSON
(
&
req
);
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid request: "
+
err
.
Error
())
return
}
input
:=
service
.
UpdateAttributeDefinitionInput
{
Name
:
req
.
Name
,
Description
:
req
.
Description
,
Options
:
req
.
Options
,
Required
:
req
.
Required
,
Validation
:
req
.
Validation
,
Placeholder
:
req
.
Placeholder
,
Enabled
:
req
.
Enabled
,
}
if
req
.
Type
!=
nil
{
t
:=
service
.
UserAttributeType
(
*
req
.
Type
)
input
.
Type
=
&
t
}
def
,
err
:=
h
.
attrService
.
UpdateDefinition
(
c
.
Request
.
Context
(),
id
,
input
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
response
.
Success
(
c
,
defToResponse
(
def
))
}
// DeleteDefinition deletes an attribute definition
// DELETE /admin/user-attributes/:id
func
(
h
*
UserAttributeHandler
)
DeleteDefinition
(
c
*
gin
.
Context
)
{
id
,
err
:=
strconv
.
ParseInt
(
c
.
Param
(
"id"
),
10
,
64
)
if
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid attribute ID"
)
return
}
if
err
:=
h
.
attrService
.
DeleteDefinition
(
c
.
Request
.
Context
(),
id
);
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
response
.
Success
(
c
,
gin
.
H
{
"message"
:
"Attribute definition deleted successfully"
})
}
// ReorderDefinitions reorders attribute definitions
// PUT /admin/user-attributes/reorder
func
(
h
*
UserAttributeHandler
)
ReorderDefinitions
(
c
*
gin
.
Context
)
{
var
req
ReorderRequest
if
err
:=
c
.
ShouldBindJSON
(
&
req
);
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid request: "
+
err
.
Error
())
return
}
// Convert IDs array to orders map (position in array = display_order)
orders
:=
make
(
map
[
int64
]
int
,
len
(
req
.
IDs
))
for
i
,
id
:=
range
req
.
IDs
{
orders
[
id
]
=
i
}
if
err
:=
h
.
attrService
.
ReorderDefinitions
(
c
.
Request
.
Context
(),
orders
);
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
response
.
Success
(
c
,
gin
.
H
{
"message"
:
"Reorder successful"
})
}
// GetUserAttributes gets a user's attribute values
// GET /admin/users/:id/attributes
func
(
h
*
UserAttributeHandler
)
GetUserAttributes
(
c
*
gin
.
Context
)
{
userID
,
err
:=
strconv
.
ParseInt
(
c
.
Param
(
"id"
),
10
,
64
)
if
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid user ID"
)
return
}
values
,
err
:=
h
.
attrService
.
GetUserAttributes
(
c
.
Request
.
Context
(),
userID
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
out
:=
make
([]
*
AttributeValueResponse
,
0
,
len
(
values
))
for
i
:=
range
values
{
out
=
append
(
out
,
valueToResponse
(
&
values
[
i
]))
}
response
.
Success
(
c
,
out
)
}
// UpdateUserAttributes updates a user's attribute values
// PUT /admin/users/:id/attributes
func
(
h
*
UserAttributeHandler
)
UpdateUserAttributes
(
c
*
gin
.
Context
)
{
userID
,
err
:=
strconv
.
ParseInt
(
c
.
Param
(
"id"
),
10
,
64
)
if
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid user ID"
)
return
}
var
req
UpdateUserAttributesRequest
if
err
:=
c
.
ShouldBindJSON
(
&
req
);
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid request: "
+
err
.
Error
())
return
}
inputs
:=
make
([]
service
.
UpdateUserAttributeInput
,
0
,
len
(
req
.
Values
))
for
attrID
,
value
:=
range
req
.
Values
{
inputs
=
append
(
inputs
,
service
.
UpdateUserAttributeInput
{
AttributeID
:
attrID
,
Value
:
value
,
})
}
if
err
:=
h
.
attrService
.
UpdateUserAttributes
(
c
.
Request
.
Context
(),
userID
,
inputs
);
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
// Return updated values
values
,
err
:=
h
.
attrService
.
GetUserAttributes
(
c
.
Request
.
Context
(),
userID
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
out
:=
make
([]
*
AttributeValueResponse
,
0
,
len
(
values
))
for
i
:=
range
values
{
out
=
append
(
out
,
valueToResponse
(
&
values
[
i
]))
}
response
.
Success
(
c
,
out
)
}
// GetBatchUserAttributes gets attribute values for multiple users
// POST /admin/user-attributes/batch
func
(
h
*
UserAttributeHandler
)
GetBatchUserAttributes
(
c
*
gin
.
Context
)
{
var
req
BatchGetUserAttributesRequest
if
err
:=
c
.
ShouldBindJSON
(
&
req
);
err
!=
nil
{
response
.
BadRequest
(
c
,
"Invalid request: "
+
err
.
Error
())
return
}
if
len
(
req
.
UserIDs
)
==
0
{
response
.
Success
(
c
,
BatchUserAttributesResponse
{
Attributes
:
map
[
int64
]
map
[
int64
]
string
{}})
return
}
attrs
,
err
:=
h
.
attrService
.
GetBatchUserAttributes
(
c
.
Request
.
Context
(),
req
.
UserIDs
)
if
err
!=
nil
{
response
.
ErrorFrom
(
c
,
err
)
return
}
response
.
Success
(
c
,
BatchUserAttributesResponse
{
Attributes
:
attrs
})
}
Prev
1
2
3
4
5
6
7
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment