update migrate
This commit is contained in:
parent
9573dc895f
commit
1d5cb2ad9f
12
.gitignore
vendored
12
.gitignore
vendored
@ -1 +1,13 @@
|
||||
t
|
||||
.env
|
||||
*.json
|
||||
*.sqlite
|
||||
tmp/card_limit.zsh
|
||||
tmp/card_day.zsh
|
||||
tmp/card_delete.zsh
|
||||
memo.md
|
||||
api
|
||||
**.DS_Store
|
||||
node_modules
|
||||
*.lock
|
||||
target
|
||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "scpt"]
|
||||
path = scpt
|
||||
url = git@git.syui.ai:ai/api_scpt
|
14
Dockerfile
Normal file
14
Dockerfile
Normal file
@ -0,0 +1,14 @@
|
||||
FROM syui/aios
|
||||
|
||||
RUN pacman -Syu --noconfirm go
|
||||
WORKDIR /app
|
||||
RUN git clone https://git.syui.ai/ai/api tmp
|
||||
|
||||
WORKDIR /app/tmp
|
||||
RUN go build
|
||||
RUN mv api /app/api
|
||||
|
||||
#ADD ./app /app
|
||||
|
||||
WORKDIR /app
|
||||
ENTRYPOINT ["/app/api"]
|
0
app/data/keep
Normal file
0
app/data/keep
Normal file
24
build.zsh
Executable file
24
build.zsh
Executable file
@ -0,0 +1,24 @@
|
||||
#!/bin/zsh
|
||||
|
||||
d=${0:a:h}
|
||||
cd $d
|
||||
su=5000
|
||||
|
||||
go1.21.8 generate ./...
|
||||
#go generate ./...
|
||||
cp -rf $d/ent/openapi.json $d/tmp/
|
||||
|
||||
case $OSTYPE in
|
||||
darwin*)
|
||||
sed -i '' "s/255/$su/g" $d/ent/ogent/oas_parameters_gen.go
|
||||
sed -i '' "s/255/$su/g" $d/ent/openapi.json
|
||||
;;
|
||||
linux*)
|
||||
sed -i "s/255/$su/g" $d/ent/ogent/oas_parameters_gen.go
|
||||
sed -i "s/255/$su/g" $d/ent/openapi.json
|
||||
;;
|
||||
esac
|
||||
|
||||
cp -rf $d/tmp/ogent ent/
|
||||
#PASS=`cat token.json|jq -r .password` TOKEN=`cat token.json|jq -r .token` go build
|
||||
#PASS=`cat token.json|jq -r .password` TOKEN=`cat token.json|jq -r .token` go run -mod=mod main.go
|
11
compose.yml
Normal file
11
compose.yml
Normal file
@ -0,0 +1,11 @@
|
||||
services:
|
||||
api:
|
||||
ports:
|
||||
- 8080:8080
|
||||
build:
|
||||
context: .
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- ./app/data:/app/data
|
133
docs/wiki.md
Normal file
133
docs/wiki.md
Normal file
@ -0,0 +1,133 @@
|
||||
### build
|
||||
|
||||
```sh
|
||||
$ vim ent/entc.go
|
||||
$ vim ent/schema/users.go
|
||||
$ go generate ./...
|
||||
$ go build
|
||||
$ ./card
|
||||
|
||||
$ go generate ./...
|
||||
$ PASS=`cat ./token.json|jq -r .password` TOKEN=`cat ./token.json|jq -r .token` go run -mod=mod main.go
|
||||
$ curl -X POST -H "Content-Type: application/json" -d "{\"username\":\"syui\",\"password\":\"$pass\"}" localhost:8080/users
|
||||
$ curl -X POST -H "Content-Type: application/json" -d "{\"owner\":1,\"password\":\"$pass\"}" localhost:8080/cards
|
||||
$ curl -X POST -H "Content-Type: application/json" -d "{\"owner\":1,\"card\":1,\"cp\":11,\"status\":\"normal\",\"password\":\"$pass\"}" localhost:8080/cards
|
||||
$ curl localhost:8080/users
|
||||
$ curl localhost:8080/cards
|
||||
$ curl localhost:8080/users/1
|
||||
$ curl localhost:8080/users/1/card
|
||||
```
|
||||
|
||||
### use
|
||||
|
||||
```sh
|
||||
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"syui",\"password\":\"$pass\"}' https://api.syui.ai/users
|
||||
|
||||
# onconflict
|
||||
$ !!
|
||||
|
||||
$ curl -sL https://api.syui.ai/users/1
|
||||
```
|
||||
|
||||
```sh
|
||||
# item select
|
||||
$ curl -sL "https://api.syui.ai/users?itemsPerPage=255"
|
||||
$ curl -sL "https://api.syui.ai/cards?itemsPerPage=255"
|
||||
$ curl -sL "https://api.syui.ai/users/1/card?itemsPerPage=255"
|
||||
```
|
||||
|
||||
### ref
|
||||
|
||||
```sh
|
||||
$ vim ./ent/ogent/ogent.go
|
||||
// 新規登録の停止
|
||||
// CreateUsers handles POST /users-slice requests.
|
||||
func (h *OgentHandler) CreateUsers(ctx context.Context, req CreateUsersReq) (CreateUsersRes, error) {
|
||||
b := h.client.Users.Create()
|
||||
//b.SetUser(req.User)
|
||||
b.SetUser("syui")
|
||||
}
|
||||
|
||||
// 削除の無効
|
||||
// DeleteUsers handles DELETE /users-slice/{id} requests.
|
||||
func (h *OgentHandler) DeleteUsers(ctx context.Context, params DeleteUsersParams) (DeleteUsersRes, error) {
|
||||
if params.ID != 1 {
|
||||
err := h.client.Users.DeleteOneID(params.ID).Exec(ctx)
|
||||
}
|
||||
return new(DeleteUsersNoContent), nil
|
||||
}
|
||||
|
||||
// 要素の書き換えの禁止
|
||||
// UpdateUsers handles PATCH /users-slice/{id} requests.
|
||||
func (h *OgentHandler) UpdateUsers(ctx context.Context, req UpdateUsersReq, params UpdateUsersParams) (UpdateUsersRes, error) {
|
||||
b := h.client.Users.UpdateOneID(params.ID)
|
||||
// Add all fields.
|
||||
//if v, ok := req.Hp.Get(); ok {
|
||||
// b.SetHp(v)
|
||||
//}
|
||||
```
|
||||
|
||||
### link
|
||||
|
||||
- https://entgo.io/ja/blog/2022/02/15/generate-rest-crud-with-ent-and-ogen/
|
||||
|
||||
- https://github.com/ariga/ogent/blob/main/example/todo/ent/entc.go
|
||||
|
||||
- https://github.com/ent/ent/blob/master/dialect/sql/schema/postgres_test.go
|
||||
|
||||
- https://github.com/go-kratos/beer-shop/tree/main/app/catalog/service/internal/data/ent
|
||||
|
||||
|
||||
### update
|
||||
|
||||
```sh
|
||||
$ curl --dump-header - 'https://api.syui.ai/users' -H 'Origin: https://card.syui.ai'|less
|
||||
```
|
||||
|
||||
> ent/ogent/oas_response_encoders_gen.go
|
||||
|
||||
```go
|
||||
func encodeCreateGroupResponse(response CreateGroupRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
switch response := response.(type) {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
```
|
||||
|
||||
### northflank
|
||||
|
||||
#### backup sqlite
|
||||
|
||||
- `cron`, `repo(private)`, `pass(token)`
|
||||
|
||||
```sh
|
||||
#!/bin/zsh
|
||||
|
||||
pass=password
|
||||
/usr/bin/northflank exec service --project $project --service $service --cmd "/app/data/api/backup.sh $pass"
|
||||
|
||||
function f(){
|
||||
rm /app/data/api/backup.sh
|
||||
echo '#!/bin/bash
|
||||
pass=$1
|
||||
git config --global user.email syui@syui.ai
|
||||
git config --global user.name syui
|
||||
cp -rf /app/data/new.sqlite /app/data/api/latest.sqlite
|
||||
cp -rf /app/data/new.sqlite /app/data/api/`date '+%w'`.sqlite
|
||||
cd /app/data/api
|
||||
git remote add origin https://$pass@github.com/ai/api
|
||||
git add .
|
||||
git commit -m backup
|
||||
git push origin main
|
||||
git remote rm origin
|
||||
' >> /app/data/api/backup.sh
|
||||
chmod +x /app/data/api/backup.sh
|
||||
}
|
||||
```
|
||||
|
||||
#### setting
|
||||
|
||||
- ports : http, 8080, dns=api.syui.ai
|
||||
- env : PASS=xxx, TOKEN=xxx
|
||||
- cmd-override : /bin/api
|
||||
- volumes : /app/data
|
||||
|
77
ent/card.go
77
ent/card.go
@ -3,12 +3,13 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/user"
|
||||
"fmt"
|
||||
"strings"
|
||||
"t/ent/card"
|
||||
"t/ent/user"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
)
|
||||
|
||||
@ -17,20 +18,31 @@ type Card struct {
|
||||
config `json:"-"`
|
||||
// ID of the ent.
|
||||
ID int `json:"id,omitempty"`
|
||||
// Password holds the value of the "password" field.
|
||||
Password string `json:"-"`
|
||||
// Card holds the value of the "card" field.
|
||||
Card int `json:"card,omitempty"`
|
||||
// Skill holds the value of the "skill" field.
|
||||
Skill string `json:"skill,omitempty"`
|
||||
// Status holds the value of the "status" field.
|
||||
Status string `json:"status,omitempty"`
|
||||
// Token holds the value of the "token" field.
|
||||
Token string `json:"-"`
|
||||
// Cp holds the value of the "cp" field.
|
||||
Cp int `json:"cp,omitempty"`
|
||||
// URL holds the value of the "url" field.
|
||||
URL string `json:"url,omitempty"`
|
||||
// Count holds the value of the "count" field.
|
||||
Count int `json:"count,omitempty"`
|
||||
// Author holds the value of the "author" field.
|
||||
Author string `json:"author,omitempty"`
|
||||
// CreatedAt holds the value of the "created_at" field.
|
||||
CreatedAt time.Time `json:"created_at,omitempty"`
|
||||
// Edges holds the relations/edges for other nodes in the graph.
|
||||
// The values are being populated by the CardQuery when eager-loading is set.
|
||||
Edges CardEdges `json:"edges"`
|
||||
user_card *int
|
||||
Edges CardEdges `json:"edges"`
|
||||
user_card *int
|
||||
selectValues sql.SelectValues
|
||||
}
|
||||
|
||||
// CardEdges holds the relations/edges for other nodes in the graph.
|
||||
@ -60,16 +72,16 @@ func (*Card) scanValues(columns []string) ([]any, error) {
|
||||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case card.FieldID, card.FieldCard, card.FieldCp:
|
||||
case card.FieldID, card.FieldCard, card.FieldCp, card.FieldCount:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case card.FieldStatus, card.FieldURL:
|
||||
case card.FieldPassword, card.FieldSkill, card.FieldStatus, card.FieldToken, card.FieldURL, card.FieldAuthor:
|
||||
values[i] = new(sql.NullString)
|
||||
case card.FieldCreatedAt:
|
||||
values[i] = new(sql.NullTime)
|
||||
case card.ForeignKeys[0]: // user_card
|
||||
values[i] = new(sql.NullInt64)
|
||||
default:
|
||||
return nil, fmt.Errorf("unexpected column %q for type Card", columns[i])
|
||||
values[i] = new(sql.UnknownType)
|
||||
}
|
||||
}
|
||||
return values, nil
|
||||
@ -89,18 +101,36 @@ func (c *Card) assignValues(columns []string, values []any) error {
|
||||
return fmt.Errorf("unexpected type %T for field id", value)
|
||||
}
|
||||
c.ID = int(value.Int64)
|
||||
case card.FieldPassword:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field password", values[i])
|
||||
} else if value.Valid {
|
||||
c.Password = value.String
|
||||
}
|
||||
case card.FieldCard:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field card", values[i])
|
||||
} else if value.Valid {
|
||||
c.Card = int(value.Int64)
|
||||
}
|
||||
case card.FieldSkill:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field skill", values[i])
|
||||
} else if value.Valid {
|
||||
c.Skill = value.String
|
||||
}
|
||||
case card.FieldStatus:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field status", values[i])
|
||||
} else if value.Valid {
|
||||
c.Status = value.String
|
||||
}
|
||||
case card.FieldToken:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field token", values[i])
|
||||
} else if value.Valid {
|
||||
c.Token = value.String
|
||||
}
|
||||
case card.FieldCp:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field cp", values[i])
|
||||
@ -113,6 +143,18 @@ func (c *Card) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
c.URL = value.String
|
||||
}
|
||||
case card.FieldCount:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field count", values[i])
|
||||
} else if value.Valid {
|
||||
c.Count = int(value.Int64)
|
||||
}
|
||||
case card.FieldAuthor:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field author", values[i])
|
||||
} else if value.Valid {
|
||||
c.Author = value.String
|
||||
}
|
||||
case card.FieldCreatedAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field created_at", values[i])
|
||||
@ -126,11 +168,19 @@ func (c *Card) assignValues(columns []string, values []any) error {
|
||||
c.user_card = new(int)
|
||||
*c.user_card = int(value.Int64)
|
||||
}
|
||||
default:
|
||||
c.selectValues.Set(columns[i], values[i])
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Value returns the ent.Value that was dynamically selected and assigned to the Card.
|
||||
// This includes values selected through modifiers, order, etc.
|
||||
func (c *Card) Value(name string) (ent.Value, error) {
|
||||
return c.selectValues.Get(name)
|
||||
}
|
||||
|
||||
// QueryOwner queries the "owner" edge of the Card entity.
|
||||
func (c *Card) QueryOwner() *UserQuery {
|
||||
return NewCardClient(c.config).QueryOwner(c)
|
||||
@ -159,18 +209,31 @@ func (c *Card) String() string {
|
||||
var builder strings.Builder
|
||||
builder.WriteString("Card(")
|
||||
builder.WriteString(fmt.Sprintf("id=%v, ", c.ID))
|
||||
builder.WriteString("password=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("card=")
|
||||
builder.WriteString(fmt.Sprintf("%v", c.Card))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("skill=")
|
||||
builder.WriteString(c.Skill)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("status=")
|
||||
builder.WriteString(c.Status)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("token=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("cp=")
|
||||
builder.WriteString(fmt.Sprintf("%v", c.Cp))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("url=")
|
||||
builder.WriteString(c.URL)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("count=")
|
||||
builder.WriteString(fmt.Sprintf("%v", c.Count))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("author=")
|
||||
builder.WriteString(c.Author)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(c.CreatedAt.Format(time.ANSIC))
|
||||
builder.WriteByte(')')
|
||||
|
@ -4,6 +4,9 @@ package card
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -11,14 +14,24 @@ const (
|
||||
Label = "card"
|
||||
// FieldID holds the string denoting the id field in the database.
|
||||
FieldID = "id"
|
||||
// FieldPassword holds the string denoting the password field in the database.
|
||||
FieldPassword = "password"
|
||||
// FieldCard holds the string denoting the card field in the database.
|
||||
FieldCard = "card"
|
||||
// FieldSkill holds the string denoting the skill field in the database.
|
||||
FieldSkill = "skill"
|
||||
// FieldStatus holds the string denoting the status field in the database.
|
||||
FieldStatus = "status"
|
||||
// FieldToken holds the string denoting the token field in the database.
|
||||
FieldToken = "token"
|
||||
// FieldCp holds the string denoting the cp field in the database.
|
||||
FieldCp = "cp"
|
||||
// FieldURL holds the string denoting the url field in the database.
|
||||
FieldURL = "url"
|
||||
// FieldCount holds the string denoting the count field in the database.
|
||||
FieldCount = "count"
|
||||
// FieldAuthor holds the string denoting the author field in the database.
|
||||
FieldAuthor = "author"
|
||||
// FieldCreatedAt holds the string denoting the created_at field in the database.
|
||||
FieldCreatedAt = "created_at"
|
||||
// EdgeOwner holds the string denoting the owner edge name in mutations.
|
||||
@ -37,10 +50,15 @@ const (
|
||||
// Columns holds all SQL columns for card fields.
|
||||
var Columns = []string{
|
||||
FieldID,
|
||||
FieldPassword,
|
||||
FieldCard,
|
||||
FieldSkill,
|
||||
FieldStatus,
|
||||
FieldToken,
|
||||
FieldCp,
|
||||
FieldURL,
|
||||
FieldCount,
|
||||
FieldAuthor,
|
||||
FieldCreatedAt,
|
||||
}
|
||||
|
||||
@ -66,8 +84,12 @@ func ValidColumn(column string) bool {
|
||||
}
|
||||
|
||||
var (
|
||||
// PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
PasswordValidator func(string) error
|
||||
// DefaultCard holds the default value on creation for the "card" field.
|
||||
DefaultCard func() int
|
||||
// DefaultSkill holds the default value on creation for the "skill" field.
|
||||
DefaultSkill func() string
|
||||
// DefaultStatus holds the default value on creation for the "status" field.
|
||||
DefaultStatus func() string
|
||||
// DefaultCp holds the default value on creation for the "cp" field.
|
||||
@ -77,3 +99,75 @@ var (
|
||||
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
|
||||
DefaultCreatedAt func() time.Time
|
||||
)
|
||||
|
||||
// OrderOption defines the ordering options for the Card 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()
|
||||
}
|
||||
|
||||
// ByPassword orders the results by the password field.
|
||||
func ByPassword(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldPassword, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCard orders the results by the card field.
|
||||
func ByCard(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCard, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// BySkill orders the results by the skill field.
|
||||
func BySkill(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldSkill, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByStatus orders the results by the status field.
|
||||
func ByStatus(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldStatus, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByToken orders the results by the token field.
|
||||
func ByToken(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldToken, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCp orders the results by the cp field.
|
||||
func ByCp(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCp, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByURL orders the results by the url field.
|
||||
func ByURL(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldURL, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCount orders the results by the count field.
|
||||
func ByCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCount, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByAuthor orders the results by the author field.
|
||||
func ByAuthor(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldAuthor, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCreatedAt orders the results by the created_at field.
|
||||
func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCreatedAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByOwnerField orders the results by owner field.
|
||||
func ByOwnerField(field string, opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newOwnerStep(), sql.OrderByField(field, opts...))
|
||||
}
|
||||
}
|
||||
func newOwnerStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(OwnerInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, OwnerTable, OwnerColumn),
|
||||
)
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
package card
|
||||
|
||||
import (
|
||||
"t/ent/predicate"
|
||||
"api/ent/predicate"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
@ -55,16 +55,31 @@ func IDLTE(id int) predicate.Card {
|
||||
return predicate.Card(sql.FieldLTE(FieldID, id))
|
||||
}
|
||||
|
||||
// Password applies equality check predicate on the "password" field. It's identical to PasswordEQ.
|
||||
func Password(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldPassword, v))
|
||||
}
|
||||
|
||||
// Card applies equality check predicate on the "card" field. It's identical to CardEQ.
|
||||
func Card(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCard, v))
|
||||
}
|
||||
|
||||
// Skill applies equality check predicate on the "skill" field. It's identical to SkillEQ.
|
||||
func Skill(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldSkill, v))
|
||||
}
|
||||
|
||||
// Status applies equality check predicate on the "status" field. It's identical to StatusEQ.
|
||||
func Status(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldStatus, v))
|
||||
}
|
||||
|
||||
// Token applies equality check predicate on the "token" field. It's identical to TokenEQ.
|
||||
func Token(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldToken, v))
|
||||
}
|
||||
|
||||
// Cp applies equality check predicate on the "cp" field. It's identical to CpEQ.
|
||||
func Cp(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCp, v))
|
||||
@ -75,11 +90,86 @@ func URL(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldURL, v))
|
||||
}
|
||||
|
||||
// Count applies equality check predicate on the "count" field. It's identical to CountEQ.
|
||||
func Count(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCount, v))
|
||||
}
|
||||
|
||||
// Author applies equality check predicate on the "author" field. It's identical to AuthorEQ.
|
||||
func Author(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
|
||||
func CreatedAt(v time.Time) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCreatedAt, v))
|
||||
}
|
||||
|
||||
// PasswordEQ applies the EQ predicate on the "password" field.
|
||||
func PasswordEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordNEQ applies the NEQ predicate on the "password" field.
|
||||
func PasswordNEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNEQ(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordIn applies the In predicate on the "password" field.
|
||||
func PasswordIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldIn(FieldPassword, vs...))
|
||||
}
|
||||
|
||||
// PasswordNotIn applies the NotIn predicate on the "password" field.
|
||||
func PasswordNotIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNotIn(FieldPassword, vs...))
|
||||
}
|
||||
|
||||
// PasswordGT applies the GT predicate on the "password" field.
|
||||
func PasswordGT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGT(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordGTE applies the GTE predicate on the "password" field.
|
||||
func PasswordGTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGTE(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordLT applies the LT predicate on the "password" field.
|
||||
func PasswordLT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLT(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordLTE applies the LTE predicate on the "password" field.
|
||||
func PasswordLTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLTE(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordContains applies the Contains predicate on the "password" field.
|
||||
func PasswordContains(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContains(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordHasPrefix applies the HasPrefix predicate on the "password" field.
|
||||
func PasswordHasPrefix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasPrefix(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordHasSuffix applies the HasSuffix predicate on the "password" field.
|
||||
func PasswordHasSuffix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasSuffix(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordEqualFold applies the EqualFold predicate on the "password" field.
|
||||
func PasswordEqualFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEqualFold(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordContainsFold applies the ContainsFold predicate on the "password" field.
|
||||
func PasswordContainsFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContainsFold(FieldPassword, v))
|
||||
}
|
||||
|
||||
// CardEQ applies the EQ predicate on the "card" field.
|
||||
func CardEQ(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCard, v))
|
||||
@ -130,6 +220,81 @@ func CardNotNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldNotNull(FieldCard))
|
||||
}
|
||||
|
||||
// SkillEQ applies the EQ predicate on the "skill" field.
|
||||
func SkillEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillNEQ applies the NEQ predicate on the "skill" field.
|
||||
func SkillNEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNEQ(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillIn applies the In predicate on the "skill" field.
|
||||
func SkillIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldIn(FieldSkill, vs...))
|
||||
}
|
||||
|
||||
// SkillNotIn applies the NotIn predicate on the "skill" field.
|
||||
func SkillNotIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNotIn(FieldSkill, vs...))
|
||||
}
|
||||
|
||||
// SkillGT applies the GT predicate on the "skill" field.
|
||||
func SkillGT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGT(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillGTE applies the GTE predicate on the "skill" field.
|
||||
func SkillGTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGTE(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillLT applies the LT predicate on the "skill" field.
|
||||
func SkillLT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLT(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillLTE applies the LTE predicate on the "skill" field.
|
||||
func SkillLTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLTE(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillContains applies the Contains predicate on the "skill" field.
|
||||
func SkillContains(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContains(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillHasPrefix applies the HasPrefix predicate on the "skill" field.
|
||||
func SkillHasPrefix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasPrefix(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillHasSuffix applies the HasSuffix predicate on the "skill" field.
|
||||
func SkillHasSuffix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasSuffix(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillIsNil applies the IsNil predicate on the "skill" field.
|
||||
func SkillIsNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldIsNull(FieldSkill))
|
||||
}
|
||||
|
||||
// SkillNotNil applies the NotNil predicate on the "skill" field.
|
||||
func SkillNotNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldNotNull(FieldSkill))
|
||||
}
|
||||
|
||||
// SkillEqualFold applies the EqualFold predicate on the "skill" field.
|
||||
func SkillEqualFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEqualFold(FieldSkill, v))
|
||||
}
|
||||
|
||||
// SkillContainsFold applies the ContainsFold predicate on the "skill" field.
|
||||
func SkillContainsFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContainsFold(FieldSkill, v))
|
||||
}
|
||||
|
||||
// StatusEQ applies the EQ predicate on the "status" field.
|
||||
func StatusEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldStatus, v))
|
||||
@ -205,6 +370,81 @@ func StatusContainsFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContainsFold(FieldStatus, v))
|
||||
}
|
||||
|
||||
// TokenEQ applies the EQ predicate on the "token" field.
|
||||
func TokenEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenNEQ applies the NEQ predicate on the "token" field.
|
||||
func TokenNEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNEQ(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenIn applies the In predicate on the "token" field.
|
||||
func TokenIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldIn(FieldToken, vs...))
|
||||
}
|
||||
|
||||
// TokenNotIn applies the NotIn predicate on the "token" field.
|
||||
func TokenNotIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNotIn(FieldToken, vs...))
|
||||
}
|
||||
|
||||
// TokenGT applies the GT predicate on the "token" field.
|
||||
func TokenGT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGT(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenGTE applies the GTE predicate on the "token" field.
|
||||
func TokenGTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGTE(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenLT applies the LT predicate on the "token" field.
|
||||
func TokenLT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLT(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenLTE applies the LTE predicate on the "token" field.
|
||||
func TokenLTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLTE(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenContains applies the Contains predicate on the "token" field.
|
||||
func TokenContains(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContains(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenHasPrefix applies the HasPrefix predicate on the "token" field.
|
||||
func TokenHasPrefix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasPrefix(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenHasSuffix applies the HasSuffix predicate on the "token" field.
|
||||
func TokenHasSuffix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasSuffix(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenIsNil applies the IsNil predicate on the "token" field.
|
||||
func TokenIsNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldIsNull(FieldToken))
|
||||
}
|
||||
|
||||
// TokenNotNil applies the NotNil predicate on the "token" field.
|
||||
func TokenNotNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldNotNull(FieldToken))
|
||||
}
|
||||
|
||||
// TokenEqualFold applies the EqualFold predicate on the "token" field.
|
||||
func TokenEqualFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEqualFold(FieldToken, v))
|
||||
}
|
||||
|
||||
// TokenContainsFold applies the ContainsFold predicate on the "token" field.
|
||||
func TokenContainsFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContainsFold(FieldToken, v))
|
||||
}
|
||||
|
||||
// CpEQ applies the EQ predicate on the "cp" field.
|
||||
func CpEQ(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCp, v))
|
||||
@ -330,6 +570,131 @@ func URLContainsFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContainsFold(FieldURL, v))
|
||||
}
|
||||
|
||||
// CountEQ applies the EQ predicate on the "count" field.
|
||||
func CountEQ(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCount, v))
|
||||
}
|
||||
|
||||
// CountNEQ applies the NEQ predicate on the "count" field.
|
||||
func CountNEQ(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldNEQ(FieldCount, v))
|
||||
}
|
||||
|
||||
// CountIn applies the In predicate on the "count" field.
|
||||
func CountIn(vs ...int) predicate.Card {
|
||||
return predicate.Card(sql.FieldIn(FieldCount, vs...))
|
||||
}
|
||||
|
||||
// CountNotIn applies the NotIn predicate on the "count" field.
|
||||
func CountNotIn(vs ...int) predicate.Card {
|
||||
return predicate.Card(sql.FieldNotIn(FieldCount, vs...))
|
||||
}
|
||||
|
||||
// CountGT applies the GT predicate on the "count" field.
|
||||
func CountGT(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldGT(FieldCount, v))
|
||||
}
|
||||
|
||||
// CountGTE applies the GTE predicate on the "count" field.
|
||||
func CountGTE(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldGTE(FieldCount, v))
|
||||
}
|
||||
|
||||
// CountLT applies the LT predicate on the "count" field.
|
||||
func CountLT(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldLT(FieldCount, v))
|
||||
}
|
||||
|
||||
// CountLTE applies the LTE predicate on the "count" field.
|
||||
func CountLTE(v int) predicate.Card {
|
||||
return predicate.Card(sql.FieldLTE(FieldCount, v))
|
||||
}
|
||||
|
||||
// CountIsNil applies the IsNil predicate on the "count" field.
|
||||
func CountIsNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldIsNull(FieldCount))
|
||||
}
|
||||
|
||||
// CountNotNil applies the NotNil predicate on the "count" field.
|
||||
func CountNotNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldNotNull(FieldCount))
|
||||
}
|
||||
|
||||
// AuthorEQ applies the EQ predicate on the "author" field.
|
||||
func AuthorEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorNEQ applies the NEQ predicate on the "author" field.
|
||||
func AuthorNEQ(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNEQ(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorIn applies the In predicate on the "author" field.
|
||||
func AuthorIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldIn(FieldAuthor, vs...))
|
||||
}
|
||||
|
||||
// AuthorNotIn applies the NotIn predicate on the "author" field.
|
||||
func AuthorNotIn(vs ...string) predicate.Card {
|
||||
return predicate.Card(sql.FieldNotIn(FieldAuthor, vs...))
|
||||
}
|
||||
|
||||
// AuthorGT applies the GT predicate on the "author" field.
|
||||
func AuthorGT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGT(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorGTE applies the GTE predicate on the "author" field.
|
||||
func AuthorGTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldGTE(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorLT applies the LT predicate on the "author" field.
|
||||
func AuthorLT(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLT(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorLTE applies the LTE predicate on the "author" field.
|
||||
func AuthorLTE(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldLTE(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorContains applies the Contains predicate on the "author" field.
|
||||
func AuthorContains(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContains(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorHasPrefix applies the HasPrefix predicate on the "author" field.
|
||||
func AuthorHasPrefix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasPrefix(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorHasSuffix applies the HasSuffix predicate on the "author" field.
|
||||
func AuthorHasSuffix(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldHasSuffix(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorIsNil applies the IsNil predicate on the "author" field.
|
||||
func AuthorIsNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldIsNull(FieldAuthor))
|
||||
}
|
||||
|
||||
// AuthorNotNil applies the NotNil predicate on the "author" field.
|
||||
func AuthorNotNil() predicate.Card {
|
||||
return predicate.Card(sql.FieldNotNull(FieldAuthor))
|
||||
}
|
||||
|
||||
// AuthorEqualFold applies the EqualFold predicate on the "author" field.
|
||||
func AuthorEqualFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldEqualFold(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// AuthorContainsFold applies the ContainsFold predicate on the "author" field.
|
||||
func AuthorContainsFold(v string) predicate.Card {
|
||||
return predicate.Card(sql.FieldContainsFold(FieldAuthor, v))
|
||||
}
|
||||
|
||||
// CreatedAtEQ applies the EQ predicate on the "created_at" field.
|
||||
func CreatedAtEQ(v time.Time) predicate.Card {
|
||||
return predicate.Card(sql.FieldEQ(FieldCreatedAt, v))
|
||||
@ -394,11 +759,7 @@ func HasOwner() predicate.Card {
|
||||
// HasOwnerWith applies the HasEdge predicate on the "owner" edge with a given conditions (other predicates).
|
||||
func HasOwnerWith(preds ...predicate.User) predicate.Card {
|
||||
return predicate.Card(func(s *sql.Selector) {
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(OwnerInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, OwnerTable, OwnerColumn),
|
||||
)
|
||||
step := newOwnerStep()
|
||||
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
|
||||
for _, p := range preds {
|
||||
p(s)
|
||||
|
@ -3,11 +3,11 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"t/ent/card"
|
||||
"t/ent/user"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -21,6 +21,12 @@ type CardCreate struct {
|
||||
hooks []Hook
|
||||
}
|
||||
|
||||
// SetPassword sets the "password" field.
|
||||
func (cc *CardCreate) SetPassword(s string) *CardCreate {
|
||||
cc.mutation.SetPassword(s)
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetCard sets the "card" field.
|
||||
func (cc *CardCreate) SetCard(i int) *CardCreate {
|
||||
cc.mutation.SetCard(i)
|
||||
@ -35,6 +41,20 @@ func (cc *CardCreate) SetNillableCard(i *int) *CardCreate {
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetSkill sets the "skill" field.
|
||||
func (cc *CardCreate) SetSkill(s string) *CardCreate {
|
||||
cc.mutation.SetSkill(s)
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetNillableSkill sets the "skill" field if the given value is not nil.
|
||||
func (cc *CardCreate) SetNillableSkill(s *string) *CardCreate {
|
||||
if s != nil {
|
||||
cc.SetSkill(*s)
|
||||
}
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetStatus sets the "status" field.
|
||||
func (cc *CardCreate) SetStatus(s string) *CardCreate {
|
||||
cc.mutation.SetStatus(s)
|
||||
@ -49,6 +69,20 @@ func (cc *CardCreate) SetNillableStatus(s *string) *CardCreate {
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (cc *CardCreate) SetToken(s string) *CardCreate {
|
||||
cc.mutation.SetToken(s)
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (cc *CardCreate) SetNillableToken(s *string) *CardCreate {
|
||||
if s != nil {
|
||||
cc.SetToken(*s)
|
||||
}
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetCp sets the "cp" field.
|
||||
func (cc *CardCreate) SetCp(i int) *CardCreate {
|
||||
cc.mutation.SetCp(i)
|
||||
@ -77,6 +111,34 @@ func (cc *CardCreate) SetNillableURL(s *string) *CardCreate {
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (cc *CardCreate) SetCount(i int) *CardCreate {
|
||||
cc.mutation.SetCount(i)
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (cc *CardCreate) SetNillableCount(i *int) *CardCreate {
|
||||
if i != nil {
|
||||
cc.SetCount(*i)
|
||||
}
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetAuthor sets the "author" field.
|
||||
func (cc *CardCreate) SetAuthor(s string) *CardCreate {
|
||||
cc.mutation.SetAuthor(s)
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetNillableAuthor sets the "author" field if the given value is not nil.
|
||||
func (cc *CardCreate) SetNillableAuthor(s *string) *CardCreate {
|
||||
if s != nil {
|
||||
cc.SetAuthor(*s)
|
||||
}
|
||||
return cc
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (cc *CardCreate) SetCreatedAt(t time.Time) *CardCreate {
|
||||
cc.mutation.SetCreatedAt(t)
|
||||
@ -141,6 +203,10 @@ func (cc *CardCreate) defaults() {
|
||||
v := card.DefaultCard()
|
||||
cc.mutation.SetCard(v)
|
||||
}
|
||||
if _, ok := cc.mutation.Skill(); !ok {
|
||||
v := card.DefaultSkill()
|
||||
cc.mutation.SetSkill(v)
|
||||
}
|
||||
if _, ok := cc.mutation.Status(); !ok {
|
||||
v := card.DefaultStatus()
|
||||
cc.mutation.SetStatus(v)
|
||||
@ -161,6 +227,14 @@ func (cc *CardCreate) defaults() {
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (cc *CardCreate) check() error {
|
||||
if _, ok := cc.mutation.Password(); !ok {
|
||||
return &ValidationError{Name: "password", err: errors.New(`ent: missing required field "Card.password"`)}
|
||||
}
|
||||
if v, ok := cc.mutation.Password(); ok {
|
||||
if err := card.PasswordValidator(v); err != nil {
|
||||
return &ValidationError{Name: "password", err: fmt.Errorf(`ent: validator failed for field "Card.password": %w`, err)}
|
||||
}
|
||||
}
|
||||
if _, ok := cc.mutation.OwnerID(); !ok {
|
||||
return &ValidationError{Name: "owner", err: errors.New(`ent: missing required edge "Card.owner"`)}
|
||||
}
|
||||
@ -190,14 +264,26 @@ func (cc *CardCreate) createSpec() (*Card, *sqlgraph.CreateSpec) {
|
||||
_node = &Card{config: cc.config}
|
||||
_spec = sqlgraph.NewCreateSpec(card.Table, sqlgraph.NewFieldSpec(card.FieldID, field.TypeInt))
|
||||
)
|
||||
if value, ok := cc.mutation.Password(); ok {
|
||||
_spec.SetField(card.FieldPassword, field.TypeString, value)
|
||||
_node.Password = value
|
||||
}
|
||||
if value, ok := cc.mutation.Card(); ok {
|
||||
_spec.SetField(card.FieldCard, field.TypeInt, value)
|
||||
_node.Card = value
|
||||
}
|
||||
if value, ok := cc.mutation.Skill(); ok {
|
||||
_spec.SetField(card.FieldSkill, field.TypeString, value)
|
||||
_node.Skill = value
|
||||
}
|
||||
if value, ok := cc.mutation.Status(); ok {
|
||||
_spec.SetField(card.FieldStatus, field.TypeString, value)
|
||||
_node.Status = value
|
||||
}
|
||||
if value, ok := cc.mutation.Token(); ok {
|
||||
_spec.SetField(card.FieldToken, field.TypeString, value)
|
||||
_node.Token = value
|
||||
}
|
||||
if value, ok := cc.mutation.Cp(); ok {
|
||||
_spec.SetField(card.FieldCp, field.TypeInt, value)
|
||||
_node.Cp = value
|
||||
@ -206,6 +292,14 @@ func (cc *CardCreate) createSpec() (*Card, *sqlgraph.CreateSpec) {
|
||||
_spec.SetField(card.FieldURL, field.TypeString, value)
|
||||
_node.URL = value
|
||||
}
|
||||
if value, ok := cc.mutation.Count(); ok {
|
||||
_spec.SetField(card.FieldCount, field.TypeInt, value)
|
||||
_node.Count = value
|
||||
}
|
||||
if value, ok := cc.mutation.Author(); ok {
|
||||
_spec.SetField(card.FieldAuthor, field.TypeString, value)
|
||||
_node.Author = value
|
||||
}
|
||||
if value, ok := cc.mutation.CreatedAt(); ok {
|
||||
_spec.SetField(card.FieldCreatedAt, field.TypeTime, value)
|
||||
_node.CreatedAt = value
|
||||
@ -218,10 +312,7 @@ func (cc *CardCreate) createSpec() (*Card, *sqlgraph.CreateSpec) {
|
||||
Columns: []string{card.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
@ -257,8 +348,8 @@ func (ccb *CardCreateBulk) Save(ctx context.Context) ([]*Card, error) {
|
||||
return nil, err
|
||||
}
|
||||
builder.mutation = mutation
|
||||
nodes[i], specs[i] = builder.createSpec()
|
||||
var err error
|
||||
nodes[i], specs[i] = builder.createSpec()
|
||||
if i < len(mutators)-1 {
|
||||
_, err = mutators[i+1].Mutate(root, ccb.builders[i+1].mutation)
|
||||
} else {
|
||||
|
@ -3,9 +3,9 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/predicate"
|
||||
"context"
|
||||
"t/ent/card"
|
||||
"t/ent/predicate"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
|
@ -3,12 +3,12 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"fmt"
|
||||
"math"
|
||||
"t/ent/card"
|
||||
"t/ent/predicate"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -19,7 +19,7 @@ import (
|
||||
type CardQuery struct {
|
||||
config
|
||||
ctx *QueryContext
|
||||
order []OrderFunc
|
||||
order []card.OrderOption
|
||||
inters []Interceptor
|
||||
predicates []predicate.Card
|
||||
withOwner *UserQuery
|
||||
@ -55,7 +55,7 @@ func (cq *CardQuery) Unique(unique bool) *CardQuery {
|
||||
}
|
||||
|
||||
// Order specifies how the records should be ordered.
|
||||
func (cq *CardQuery) Order(o ...OrderFunc) *CardQuery {
|
||||
func (cq *CardQuery) Order(o ...card.OrderOption) *CardQuery {
|
||||
cq.order = append(cq.order, o...)
|
||||
return cq
|
||||
}
|
||||
@ -271,7 +271,7 @@ func (cq *CardQuery) Clone() *CardQuery {
|
||||
return &CardQuery{
|
||||
config: cq.config,
|
||||
ctx: cq.ctx.Clone(),
|
||||
order: append([]OrderFunc{}, cq.order...),
|
||||
order: append([]card.OrderOption{}, cq.order...),
|
||||
inters: append([]Interceptor{}, cq.inters...),
|
||||
predicates: append([]predicate.Card{}, cq.predicates...),
|
||||
withOwner: cq.withOwner.Clone(),
|
||||
@ -298,12 +298,12 @@ func (cq *CardQuery) WithOwner(opts ...func(*UserQuery)) *CardQuery {
|
||||
// Example:
|
||||
//
|
||||
// var v []struct {
|
||||
// Card int `json:"card,omitempty"`
|
||||
// Password string `json:"password,omitempty"`
|
||||
// Count int `json:"count,omitempty"`
|
||||
// }
|
||||
//
|
||||
// client.Card.Query().
|
||||
// GroupBy(card.FieldCard).
|
||||
// GroupBy(card.FieldPassword).
|
||||
// Aggregate(ent.Count()).
|
||||
// Scan(ctx, &v)
|
||||
func (cq *CardQuery) GroupBy(field string, fields ...string) *CardGroupBy {
|
||||
@ -321,11 +321,11 @@ func (cq *CardQuery) GroupBy(field string, fields ...string) *CardGroupBy {
|
||||
// Example:
|
||||
//
|
||||
// var v []struct {
|
||||
// Card int `json:"card,omitempty"`
|
||||
// Password string `json:"password,omitempty"`
|
||||
// }
|
||||
//
|
||||
// client.Card.Query().
|
||||
// Select(card.FieldCard).
|
||||
// Select(card.FieldPassword).
|
||||
// Scan(ctx, &v)
|
||||
func (cq *CardQuery) Select(fields ...string) *CardSelect {
|
||||
cq.ctx.Fields = append(cq.ctx.Fields, fields...)
|
||||
|
@ -3,12 +3,12 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"t/ent/card"
|
||||
"t/ent/predicate"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -28,6 +28,187 @@ func (cu *CardUpdate) Where(ps ...predicate.Card) *CardUpdate {
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetCard sets the "card" field.
|
||||
func (cu *CardUpdate) SetCard(i int) *CardUpdate {
|
||||
cu.mutation.ResetCard()
|
||||
cu.mutation.SetCard(i)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableCard sets the "card" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableCard(i *int) *CardUpdate {
|
||||
if i != nil {
|
||||
cu.SetCard(*i)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// AddCard adds i to the "card" field.
|
||||
func (cu *CardUpdate) AddCard(i int) *CardUpdate {
|
||||
cu.mutation.AddCard(i)
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearCard clears the value of the "card" field.
|
||||
func (cu *CardUpdate) ClearCard() *CardUpdate {
|
||||
cu.mutation.ClearCard()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetSkill sets the "skill" field.
|
||||
func (cu *CardUpdate) SetSkill(s string) *CardUpdate {
|
||||
cu.mutation.SetSkill(s)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableSkill sets the "skill" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableSkill(s *string) *CardUpdate {
|
||||
if s != nil {
|
||||
cu.SetSkill(*s)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearSkill clears the value of the "skill" field.
|
||||
func (cu *CardUpdate) ClearSkill() *CardUpdate {
|
||||
cu.mutation.ClearSkill()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetStatus sets the "status" field.
|
||||
func (cu *CardUpdate) SetStatus(s string) *CardUpdate {
|
||||
cu.mutation.SetStatus(s)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableStatus sets the "status" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableStatus(s *string) *CardUpdate {
|
||||
if s != nil {
|
||||
cu.SetStatus(*s)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearStatus clears the value of the "status" field.
|
||||
func (cu *CardUpdate) ClearStatus() *CardUpdate {
|
||||
cu.mutation.ClearStatus()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (cu *CardUpdate) SetToken(s string) *CardUpdate {
|
||||
cu.mutation.SetToken(s)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableToken(s *string) *CardUpdate {
|
||||
if s != nil {
|
||||
cu.SetToken(*s)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearToken clears the value of the "token" field.
|
||||
func (cu *CardUpdate) ClearToken() *CardUpdate {
|
||||
cu.mutation.ClearToken()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetCp sets the "cp" field.
|
||||
func (cu *CardUpdate) SetCp(i int) *CardUpdate {
|
||||
cu.mutation.ResetCp()
|
||||
cu.mutation.SetCp(i)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableCp sets the "cp" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableCp(i *int) *CardUpdate {
|
||||
if i != nil {
|
||||
cu.SetCp(*i)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// AddCp adds i to the "cp" field.
|
||||
func (cu *CardUpdate) AddCp(i int) *CardUpdate {
|
||||
cu.mutation.AddCp(i)
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearCp clears the value of the "cp" field.
|
||||
func (cu *CardUpdate) ClearCp() *CardUpdate {
|
||||
cu.mutation.ClearCp()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetURL sets the "url" field.
|
||||
func (cu *CardUpdate) SetURL(s string) *CardUpdate {
|
||||
cu.mutation.SetURL(s)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableURL sets the "url" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableURL(s *string) *CardUpdate {
|
||||
if s != nil {
|
||||
cu.SetURL(*s)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearURL clears the value of the "url" field.
|
||||
func (cu *CardUpdate) ClearURL() *CardUpdate {
|
||||
cu.mutation.ClearURL()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (cu *CardUpdate) SetCount(i int) *CardUpdate {
|
||||
cu.mutation.ResetCount()
|
||||
cu.mutation.SetCount(i)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableCount(i *int) *CardUpdate {
|
||||
if i != nil {
|
||||
cu.SetCount(*i)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// AddCount adds i to the "count" field.
|
||||
func (cu *CardUpdate) AddCount(i int) *CardUpdate {
|
||||
cu.mutation.AddCount(i)
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearCount clears the value of the "count" field.
|
||||
func (cu *CardUpdate) ClearCount() *CardUpdate {
|
||||
cu.mutation.ClearCount()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetAuthor sets the "author" field.
|
||||
func (cu *CardUpdate) SetAuthor(s string) *CardUpdate {
|
||||
cu.mutation.SetAuthor(s)
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetNillableAuthor sets the "author" field if the given value is not nil.
|
||||
func (cu *CardUpdate) SetNillableAuthor(s *string) *CardUpdate {
|
||||
if s != nil {
|
||||
cu.SetAuthor(*s)
|
||||
}
|
||||
return cu
|
||||
}
|
||||
|
||||
// ClearAuthor clears the value of the "author" field.
|
||||
func (cu *CardUpdate) ClearAuthor() *CardUpdate {
|
||||
cu.mutation.ClearAuthor()
|
||||
return cu
|
||||
}
|
||||
|
||||
// SetOwnerID sets the "owner" edge to the User entity by ID.
|
||||
func (cu *CardUpdate) SetOwnerID(id int) *CardUpdate {
|
||||
cu.mutation.SetOwnerID(id)
|
||||
@ -97,18 +278,63 @@ func (cu *CardUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if value, ok := cu.mutation.Card(); ok {
|
||||
_spec.SetField(card.FieldCard, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := cu.mutation.AddedCard(); ok {
|
||||
_spec.AddField(card.FieldCard, field.TypeInt, value)
|
||||
}
|
||||
if cu.mutation.CardCleared() {
|
||||
_spec.ClearField(card.FieldCard, field.TypeInt)
|
||||
}
|
||||
if value, ok := cu.mutation.Skill(); ok {
|
||||
_spec.SetField(card.FieldSkill, field.TypeString, value)
|
||||
}
|
||||
if cu.mutation.SkillCleared() {
|
||||
_spec.ClearField(card.FieldSkill, field.TypeString)
|
||||
}
|
||||
if value, ok := cu.mutation.Status(); ok {
|
||||
_spec.SetField(card.FieldStatus, field.TypeString, value)
|
||||
}
|
||||
if cu.mutation.StatusCleared() {
|
||||
_spec.ClearField(card.FieldStatus, field.TypeString)
|
||||
}
|
||||
if value, ok := cu.mutation.Token(); ok {
|
||||
_spec.SetField(card.FieldToken, field.TypeString, value)
|
||||
}
|
||||
if cu.mutation.TokenCleared() {
|
||||
_spec.ClearField(card.FieldToken, field.TypeString)
|
||||
}
|
||||
if value, ok := cu.mutation.Cp(); ok {
|
||||
_spec.SetField(card.FieldCp, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := cu.mutation.AddedCp(); ok {
|
||||
_spec.AddField(card.FieldCp, field.TypeInt, value)
|
||||
}
|
||||
if cu.mutation.CpCleared() {
|
||||
_spec.ClearField(card.FieldCp, field.TypeInt)
|
||||
}
|
||||
if value, ok := cu.mutation.URL(); ok {
|
||||
_spec.SetField(card.FieldURL, field.TypeString, value)
|
||||
}
|
||||
if cu.mutation.URLCleared() {
|
||||
_spec.ClearField(card.FieldURL, field.TypeString)
|
||||
}
|
||||
if value, ok := cu.mutation.Count(); ok {
|
||||
_spec.SetField(card.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := cu.mutation.AddedCount(); ok {
|
||||
_spec.AddField(card.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if cu.mutation.CountCleared() {
|
||||
_spec.ClearField(card.FieldCount, field.TypeInt)
|
||||
}
|
||||
if value, ok := cu.mutation.Author(); ok {
|
||||
_spec.SetField(card.FieldAuthor, field.TypeString, value)
|
||||
}
|
||||
if cu.mutation.AuthorCleared() {
|
||||
_spec.ClearField(card.FieldAuthor, field.TypeString)
|
||||
}
|
||||
if cu.mutation.CreatedAtCleared() {
|
||||
_spec.ClearField(card.FieldCreatedAt, field.TypeTime)
|
||||
}
|
||||
@ -120,10 +346,7 @@ func (cu *CardUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
Columns: []string{card.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
|
||||
@ -136,10 +359,7 @@ func (cu *CardUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
Columns: []string{card.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
@ -167,6 +387,187 @@ type CardUpdateOne struct {
|
||||
mutation *CardMutation
|
||||
}
|
||||
|
||||
// SetCard sets the "card" field.
|
||||
func (cuo *CardUpdateOne) SetCard(i int) *CardUpdateOne {
|
||||
cuo.mutation.ResetCard()
|
||||
cuo.mutation.SetCard(i)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableCard sets the "card" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableCard(i *int) *CardUpdateOne {
|
||||
if i != nil {
|
||||
cuo.SetCard(*i)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// AddCard adds i to the "card" field.
|
||||
func (cuo *CardUpdateOne) AddCard(i int) *CardUpdateOne {
|
||||
cuo.mutation.AddCard(i)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearCard clears the value of the "card" field.
|
||||
func (cuo *CardUpdateOne) ClearCard() *CardUpdateOne {
|
||||
cuo.mutation.ClearCard()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetSkill sets the "skill" field.
|
||||
func (cuo *CardUpdateOne) SetSkill(s string) *CardUpdateOne {
|
||||
cuo.mutation.SetSkill(s)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableSkill sets the "skill" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableSkill(s *string) *CardUpdateOne {
|
||||
if s != nil {
|
||||
cuo.SetSkill(*s)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearSkill clears the value of the "skill" field.
|
||||
func (cuo *CardUpdateOne) ClearSkill() *CardUpdateOne {
|
||||
cuo.mutation.ClearSkill()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetStatus sets the "status" field.
|
||||
func (cuo *CardUpdateOne) SetStatus(s string) *CardUpdateOne {
|
||||
cuo.mutation.SetStatus(s)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableStatus sets the "status" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableStatus(s *string) *CardUpdateOne {
|
||||
if s != nil {
|
||||
cuo.SetStatus(*s)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearStatus clears the value of the "status" field.
|
||||
func (cuo *CardUpdateOne) ClearStatus() *CardUpdateOne {
|
||||
cuo.mutation.ClearStatus()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (cuo *CardUpdateOne) SetToken(s string) *CardUpdateOne {
|
||||
cuo.mutation.SetToken(s)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableToken(s *string) *CardUpdateOne {
|
||||
if s != nil {
|
||||
cuo.SetToken(*s)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearToken clears the value of the "token" field.
|
||||
func (cuo *CardUpdateOne) ClearToken() *CardUpdateOne {
|
||||
cuo.mutation.ClearToken()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetCp sets the "cp" field.
|
||||
func (cuo *CardUpdateOne) SetCp(i int) *CardUpdateOne {
|
||||
cuo.mutation.ResetCp()
|
||||
cuo.mutation.SetCp(i)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableCp sets the "cp" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableCp(i *int) *CardUpdateOne {
|
||||
if i != nil {
|
||||
cuo.SetCp(*i)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// AddCp adds i to the "cp" field.
|
||||
func (cuo *CardUpdateOne) AddCp(i int) *CardUpdateOne {
|
||||
cuo.mutation.AddCp(i)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearCp clears the value of the "cp" field.
|
||||
func (cuo *CardUpdateOne) ClearCp() *CardUpdateOne {
|
||||
cuo.mutation.ClearCp()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetURL sets the "url" field.
|
||||
func (cuo *CardUpdateOne) SetURL(s string) *CardUpdateOne {
|
||||
cuo.mutation.SetURL(s)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableURL sets the "url" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableURL(s *string) *CardUpdateOne {
|
||||
if s != nil {
|
||||
cuo.SetURL(*s)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearURL clears the value of the "url" field.
|
||||
func (cuo *CardUpdateOne) ClearURL() *CardUpdateOne {
|
||||
cuo.mutation.ClearURL()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (cuo *CardUpdateOne) SetCount(i int) *CardUpdateOne {
|
||||
cuo.mutation.ResetCount()
|
||||
cuo.mutation.SetCount(i)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableCount(i *int) *CardUpdateOne {
|
||||
if i != nil {
|
||||
cuo.SetCount(*i)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// AddCount adds i to the "count" field.
|
||||
func (cuo *CardUpdateOne) AddCount(i int) *CardUpdateOne {
|
||||
cuo.mutation.AddCount(i)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearCount clears the value of the "count" field.
|
||||
func (cuo *CardUpdateOne) ClearCount() *CardUpdateOne {
|
||||
cuo.mutation.ClearCount()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetAuthor sets the "author" field.
|
||||
func (cuo *CardUpdateOne) SetAuthor(s string) *CardUpdateOne {
|
||||
cuo.mutation.SetAuthor(s)
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetNillableAuthor sets the "author" field if the given value is not nil.
|
||||
func (cuo *CardUpdateOne) SetNillableAuthor(s *string) *CardUpdateOne {
|
||||
if s != nil {
|
||||
cuo.SetAuthor(*s)
|
||||
}
|
||||
return cuo
|
||||
}
|
||||
|
||||
// ClearAuthor clears the value of the "author" field.
|
||||
func (cuo *CardUpdateOne) ClearAuthor() *CardUpdateOne {
|
||||
cuo.mutation.ClearAuthor()
|
||||
return cuo
|
||||
}
|
||||
|
||||
// SetOwnerID sets the "owner" edge to the User entity by ID.
|
||||
func (cuo *CardUpdateOne) SetOwnerID(id int) *CardUpdateOne {
|
||||
cuo.mutation.SetOwnerID(id)
|
||||
@ -266,18 +667,63 @@ func (cuo *CardUpdateOne) sqlSave(ctx context.Context) (_node *Card, err error)
|
||||
}
|
||||
}
|
||||
}
|
||||
if value, ok := cuo.mutation.Card(); ok {
|
||||
_spec.SetField(card.FieldCard, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := cuo.mutation.AddedCard(); ok {
|
||||
_spec.AddField(card.FieldCard, field.TypeInt, value)
|
||||
}
|
||||
if cuo.mutation.CardCleared() {
|
||||
_spec.ClearField(card.FieldCard, field.TypeInt)
|
||||
}
|
||||
if value, ok := cuo.mutation.Skill(); ok {
|
||||
_spec.SetField(card.FieldSkill, field.TypeString, value)
|
||||
}
|
||||
if cuo.mutation.SkillCleared() {
|
||||
_spec.ClearField(card.FieldSkill, field.TypeString)
|
||||
}
|
||||
if value, ok := cuo.mutation.Status(); ok {
|
||||
_spec.SetField(card.FieldStatus, field.TypeString, value)
|
||||
}
|
||||
if cuo.mutation.StatusCleared() {
|
||||
_spec.ClearField(card.FieldStatus, field.TypeString)
|
||||
}
|
||||
if value, ok := cuo.mutation.Token(); ok {
|
||||
_spec.SetField(card.FieldToken, field.TypeString, value)
|
||||
}
|
||||
if cuo.mutation.TokenCleared() {
|
||||
_spec.ClearField(card.FieldToken, field.TypeString)
|
||||
}
|
||||
if value, ok := cuo.mutation.Cp(); ok {
|
||||
_spec.SetField(card.FieldCp, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := cuo.mutation.AddedCp(); ok {
|
||||
_spec.AddField(card.FieldCp, field.TypeInt, value)
|
||||
}
|
||||
if cuo.mutation.CpCleared() {
|
||||
_spec.ClearField(card.FieldCp, field.TypeInt)
|
||||
}
|
||||
if value, ok := cuo.mutation.URL(); ok {
|
||||
_spec.SetField(card.FieldURL, field.TypeString, value)
|
||||
}
|
||||
if cuo.mutation.URLCleared() {
|
||||
_spec.ClearField(card.FieldURL, field.TypeString)
|
||||
}
|
||||
if value, ok := cuo.mutation.Count(); ok {
|
||||
_spec.SetField(card.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := cuo.mutation.AddedCount(); ok {
|
||||
_spec.AddField(card.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if cuo.mutation.CountCleared() {
|
||||
_spec.ClearField(card.FieldCount, field.TypeInt)
|
||||
}
|
||||
if value, ok := cuo.mutation.Author(); ok {
|
||||
_spec.SetField(card.FieldAuthor, field.TypeString, value)
|
||||
}
|
||||
if cuo.mutation.AuthorCleared() {
|
||||
_spec.ClearField(card.FieldAuthor, field.TypeString)
|
||||
}
|
||||
if cuo.mutation.CreatedAtCleared() {
|
||||
_spec.ClearField(card.FieldCreatedAt, field.TypeTime)
|
||||
}
|
||||
@ -289,10 +735,7 @@ func (cuo *CardUpdateOne) sqlSave(ctx context.Context) (_node *Card, err error)
|
||||
Columns: []string{card.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
|
||||
@ -305,10 +748,7 @@ func (cuo *CardUpdateOne) sqlSave(ctx context.Context) (_node *Card, err error)
|
||||
Columns: []string{card.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
|
332
ent/client.go
332
ent/client.go
@ -8,11 +8,13 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"t/ent/migrate"
|
||||
"api/ent/migrate"
|
||||
|
||||
"t/ent/card"
|
||||
"t/ent/group"
|
||||
"t/ent/user"
|
||||
"api/ent/card"
|
||||
"api/ent/group"
|
||||
"api/ent/ma"
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect"
|
||||
@ -29,6 +31,10 @@ type Client struct {
|
||||
Card *CardClient
|
||||
// Group is the client for interacting with the Group builders.
|
||||
Group *GroupClient
|
||||
// Ma is the client for interacting with the Ma builders.
|
||||
Ma *MaClient
|
||||
// Ue is the client for interacting with the Ue builders.
|
||||
Ue *UeClient
|
||||
// User is the client for interacting with the User builders.
|
||||
User *UserClient
|
||||
}
|
||||
@ -46,6 +52,8 @@ func (c *Client) init() {
|
||||
c.Schema = migrate.NewSchema(c.driver)
|
||||
c.Card = NewCardClient(c.config)
|
||||
c.Group = NewGroupClient(c.config)
|
||||
c.Ma = NewMaClient(c.config)
|
||||
c.Ue = NewUeClient(c.config)
|
||||
c.User = NewUserClient(c.config)
|
||||
}
|
||||
|
||||
@ -131,6 +139,8 @@ func (c *Client) Tx(ctx context.Context) (*Tx, error) {
|
||||
config: cfg,
|
||||
Card: NewCardClient(cfg),
|
||||
Group: NewGroupClient(cfg),
|
||||
Ma: NewMaClient(cfg),
|
||||
Ue: NewUeClient(cfg),
|
||||
User: NewUserClient(cfg),
|
||||
}, nil
|
||||
}
|
||||
@ -153,6 +163,8 @@ func (c *Client) BeginTx(ctx context.Context, opts *sql.TxOptions) (*Tx, error)
|
||||
config: cfg,
|
||||
Card: NewCardClient(cfg),
|
||||
Group: NewGroupClient(cfg),
|
||||
Ma: NewMaClient(cfg),
|
||||
Ue: NewUeClient(cfg),
|
||||
User: NewUserClient(cfg),
|
||||
}, nil
|
||||
}
|
||||
@ -184,6 +196,8 @@ func (c *Client) Close() error {
|
||||
func (c *Client) Use(hooks ...Hook) {
|
||||
c.Card.Use(hooks...)
|
||||
c.Group.Use(hooks...)
|
||||
c.Ma.Use(hooks...)
|
||||
c.Ue.Use(hooks...)
|
||||
c.User.Use(hooks...)
|
||||
}
|
||||
|
||||
@ -192,6 +206,8 @@ func (c *Client) Use(hooks ...Hook) {
|
||||
func (c *Client) Intercept(interceptors ...Interceptor) {
|
||||
c.Card.Intercept(interceptors...)
|
||||
c.Group.Intercept(interceptors...)
|
||||
c.Ma.Intercept(interceptors...)
|
||||
c.Ue.Intercept(interceptors...)
|
||||
c.User.Intercept(interceptors...)
|
||||
}
|
||||
|
||||
@ -202,6 +218,10 @@ func (c *Client) Mutate(ctx context.Context, m Mutation) (Value, error) {
|
||||
return c.Card.mutate(ctx, m)
|
||||
case *GroupMutation:
|
||||
return c.Group.mutate(ctx, m)
|
||||
case *MaMutation:
|
||||
return c.Ma.mutate(ctx, m)
|
||||
case *UeMutation:
|
||||
return c.Ue.mutate(ctx, m)
|
||||
case *UserMutation:
|
||||
return c.User.mutate(ctx, m)
|
||||
default:
|
||||
@ -477,6 +497,274 @@ func (c *GroupClient) mutate(ctx context.Context, m *GroupMutation) (Value, erro
|
||||
}
|
||||
}
|
||||
|
||||
// MaClient is a client for the Ma schema.
|
||||
type MaClient struct {
|
||||
config
|
||||
}
|
||||
|
||||
// NewMaClient returns a client for the Ma from the given config.
|
||||
func NewMaClient(c config) *MaClient {
|
||||
return &MaClient{config: c}
|
||||
}
|
||||
|
||||
// Use adds a list of mutation hooks to the hooks stack.
|
||||
// A call to `Use(f, g, h)` equals to `ma.Hooks(f(g(h())))`.
|
||||
func (c *MaClient) Use(hooks ...Hook) {
|
||||
c.hooks.Ma = append(c.hooks.Ma, hooks...)
|
||||
}
|
||||
|
||||
// Intercept adds a list of query interceptors to the interceptors stack.
|
||||
// A call to `Intercept(f, g, h)` equals to `ma.Intercept(f(g(h())))`.
|
||||
func (c *MaClient) Intercept(interceptors ...Interceptor) {
|
||||
c.inters.Ma = append(c.inters.Ma, interceptors...)
|
||||
}
|
||||
|
||||
// Create returns a builder for creating a Ma entity.
|
||||
func (c *MaClient) Create() *MaCreate {
|
||||
mutation := newMaMutation(c.config, OpCreate)
|
||||
return &MaCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// CreateBulk returns a builder for creating a bulk of Ma entities.
|
||||
func (c *MaClient) CreateBulk(builders ...*MaCreate) *MaCreateBulk {
|
||||
return &MaCreateBulk{config: c.config, builders: builders}
|
||||
}
|
||||
|
||||
// Update returns an update builder for Ma.
|
||||
func (c *MaClient) Update() *MaUpdate {
|
||||
mutation := newMaMutation(c.config, OpUpdate)
|
||||
return &MaUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// UpdateOne returns an update builder for the given entity.
|
||||
func (c *MaClient) UpdateOne(m *Ma) *MaUpdateOne {
|
||||
mutation := newMaMutation(c.config, OpUpdateOne, withMa(m))
|
||||
return &MaUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// UpdateOneID returns an update builder for the given id.
|
||||
func (c *MaClient) UpdateOneID(id int) *MaUpdateOne {
|
||||
mutation := newMaMutation(c.config, OpUpdateOne, withMaID(id))
|
||||
return &MaUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// Delete returns a delete builder for Ma.
|
||||
func (c *MaClient) Delete() *MaDelete {
|
||||
mutation := newMaMutation(c.config, OpDelete)
|
||||
return &MaDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// DeleteOne returns a builder for deleting the given entity.
|
||||
func (c *MaClient) DeleteOne(m *Ma) *MaDeleteOne {
|
||||
return c.DeleteOneID(m.ID)
|
||||
}
|
||||
|
||||
// DeleteOneID returns a builder for deleting the given entity by its id.
|
||||
func (c *MaClient) DeleteOneID(id int) *MaDeleteOne {
|
||||
builder := c.Delete().Where(ma.ID(id))
|
||||
builder.mutation.id = &id
|
||||
builder.mutation.op = OpDeleteOne
|
||||
return &MaDeleteOne{builder}
|
||||
}
|
||||
|
||||
// Query returns a query builder for Ma.
|
||||
func (c *MaClient) Query() *MaQuery {
|
||||
return &MaQuery{
|
||||
config: c.config,
|
||||
ctx: &QueryContext{Type: TypeMa},
|
||||
inters: c.Interceptors(),
|
||||
}
|
||||
}
|
||||
|
||||
// Get returns a Ma entity by its id.
|
||||
func (c *MaClient) Get(ctx context.Context, id int) (*Ma, error) {
|
||||
return c.Query().Where(ma.ID(id)).Only(ctx)
|
||||
}
|
||||
|
||||
// GetX is like Get, but panics if an error occurs.
|
||||
func (c *MaClient) GetX(ctx context.Context, id int) *Ma {
|
||||
obj, err := c.Get(ctx, id)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return obj
|
||||
}
|
||||
|
||||
// QueryOwner queries the owner edge of a Ma.
|
||||
func (c *MaClient) QueryOwner(m *Ma) *UserQuery {
|
||||
query := (&UserClient{config: c.config}).Query()
|
||||
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
||||
id := m.ID
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(ma.Table, ma.FieldID, id),
|
||||
sqlgraph.To(user.Table, user.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, ma.OwnerTable, ma.OwnerColumn),
|
||||
)
|
||||
fromV = sqlgraph.Neighbors(m.driver.Dialect(), step)
|
||||
return fromV, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// Hooks returns the client hooks.
|
||||
func (c *MaClient) Hooks() []Hook {
|
||||
return c.hooks.Ma
|
||||
}
|
||||
|
||||
// Interceptors returns the client interceptors.
|
||||
func (c *MaClient) Interceptors() []Interceptor {
|
||||
return c.inters.Ma
|
||||
}
|
||||
|
||||
func (c *MaClient) mutate(ctx context.Context, m *MaMutation) (Value, error) {
|
||||
switch m.Op() {
|
||||
case OpCreate:
|
||||
return (&MaCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
||||
case OpUpdate:
|
||||
return (&MaUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
||||
case OpUpdateOne:
|
||||
return (&MaUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
||||
case OpDelete, OpDeleteOne:
|
||||
return (&MaDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
||||
default:
|
||||
return nil, fmt.Errorf("ent: unknown Ma mutation op: %q", m.Op())
|
||||
}
|
||||
}
|
||||
|
||||
// UeClient is a client for the Ue schema.
|
||||
type UeClient struct {
|
||||
config
|
||||
}
|
||||
|
||||
// NewUeClient returns a client for the Ue from the given config.
|
||||
func NewUeClient(c config) *UeClient {
|
||||
return &UeClient{config: c}
|
||||
}
|
||||
|
||||
// Use adds a list of mutation hooks to the hooks stack.
|
||||
// A call to `Use(f, g, h)` equals to `ue.Hooks(f(g(h())))`.
|
||||
func (c *UeClient) Use(hooks ...Hook) {
|
||||
c.hooks.Ue = append(c.hooks.Ue, hooks...)
|
||||
}
|
||||
|
||||
// Intercept adds a list of query interceptors to the interceptors stack.
|
||||
// A call to `Intercept(f, g, h)` equals to `ue.Intercept(f(g(h())))`.
|
||||
func (c *UeClient) Intercept(interceptors ...Interceptor) {
|
||||
c.inters.Ue = append(c.inters.Ue, interceptors...)
|
||||
}
|
||||
|
||||
// Create returns a builder for creating a Ue entity.
|
||||
func (c *UeClient) Create() *UeCreate {
|
||||
mutation := newUeMutation(c.config, OpCreate)
|
||||
return &UeCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// CreateBulk returns a builder for creating a bulk of Ue entities.
|
||||
func (c *UeClient) CreateBulk(builders ...*UeCreate) *UeCreateBulk {
|
||||
return &UeCreateBulk{config: c.config, builders: builders}
|
||||
}
|
||||
|
||||
// Update returns an update builder for Ue.
|
||||
func (c *UeClient) Update() *UeUpdate {
|
||||
mutation := newUeMutation(c.config, OpUpdate)
|
||||
return &UeUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// UpdateOne returns an update builder for the given entity.
|
||||
func (c *UeClient) UpdateOne(u *Ue) *UeUpdateOne {
|
||||
mutation := newUeMutation(c.config, OpUpdateOne, withUe(u))
|
||||
return &UeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// UpdateOneID returns an update builder for the given id.
|
||||
func (c *UeClient) UpdateOneID(id int) *UeUpdateOne {
|
||||
mutation := newUeMutation(c.config, OpUpdateOne, withUeID(id))
|
||||
return &UeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// Delete returns a delete builder for Ue.
|
||||
func (c *UeClient) Delete() *UeDelete {
|
||||
mutation := newUeMutation(c.config, OpDelete)
|
||||
return &UeDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
||||
}
|
||||
|
||||
// DeleteOne returns a builder for deleting the given entity.
|
||||
func (c *UeClient) DeleteOne(u *Ue) *UeDeleteOne {
|
||||
return c.DeleteOneID(u.ID)
|
||||
}
|
||||
|
||||
// DeleteOneID returns a builder for deleting the given entity by its id.
|
||||
func (c *UeClient) DeleteOneID(id int) *UeDeleteOne {
|
||||
builder := c.Delete().Where(ue.ID(id))
|
||||
builder.mutation.id = &id
|
||||
builder.mutation.op = OpDeleteOne
|
||||
return &UeDeleteOne{builder}
|
||||
}
|
||||
|
||||
// Query returns a query builder for Ue.
|
||||
func (c *UeClient) Query() *UeQuery {
|
||||
return &UeQuery{
|
||||
config: c.config,
|
||||
ctx: &QueryContext{Type: TypeUe},
|
||||
inters: c.Interceptors(),
|
||||
}
|
||||
}
|
||||
|
||||
// Get returns a Ue entity by its id.
|
||||
func (c *UeClient) Get(ctx context.Context, id int) (*Ue, error) {
|
||||
return c.Query().Where(ue.ID(id)).Only(ctx)
|
||||
}
|
||||
|
||||
// GetX is like Get, but panics if an error occurs.
|
||||
func (c *UeClient) GetX(ctx context.Context, id int) *Ue {
|
||||
obj, err := c.Get(ctx, id)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return obj
|
||||
}
|
||||
|
||||
// QueryOwner queries the owner edge of a Ue.
|
||||
func (c *UeClient) QueryOwner(u *Ue) *UserQuery {
|
||||
query := (&UserClient{config: c.config}).Query()
|
||||
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
||||
id := u.ID
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(ue.Table, ue.FieldID, id),
|
||||
sqlgraph.To(user.Table, user.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, ue.OwnerTable, ue.OwnerColumn),
|
||||
)
|
||||
fromV = sqlgraph.Neighbors(u.driver.Dialect(), step)
|
||||
return fromV, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// Hooks returns the client hooks.
|
||||
func (c *UeClient) Hooks() []Hook {
|
||||
return c.hooks.Ue
|
||||
}
|
||||
|
||||
// Interceptors returns the client interceptors.
|
||||
func (c *UeClient) Interceptors() []Interceptor {
|
||||
return c.inters.Ue
|
||||
}
|
||||
|
||||
func (c *UeClient) mutate(ctx context.Context, m *UeMutation) (Value, error) {
|
||||
switch m.Op() {
|
||||
case OpCreate:
|
||||
return (&UeCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
||||
case OpUpdate:
|
||||
return (&UeUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
||||
case OpUpdateOne:
|
||||
return (&UeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
||||
case OpDelete, OpDeleteOne:
|
||||
return (&UeDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
||||
default:
|
||||
return nil, fmt.Errorf("ent: unknown Ue mutation op: %q", m.Op())
|
||||
}
|
||||
}
|
||||
|
||||
// UserClient is a client for the User schema.
|
||||
type UserClient struct {
|
||||
config
|
||||
@ -586,6 +874,38 @@ func (c *UserClient) QueryCard(u *User) *CardQuery {
|
||||
return query
|
||||
}
|
||||
|
||||
// QueryUe queries the ue edge of a User.
|
||||
func (c *UserClient) QueryUe(u *User) *UeQuery {
|
||||
query := (&UeClient{config: c.config}).Query()
|
||||
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
||||
id := u.ID
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(user.Table, user.FieldID, id),
|
||||
sqlgraph.To(ue.Table, ue.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, user.UeTable, user.UeColumn),
|
||||
)
|
||||
fromV = sqlgraph.Neighbors(u.driver.Dialect(), step)
|
||||
return fromV, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// QueryMa queries the ma edge of a User.
|
||||
func (c *UserClient) QueryMa(u *User) *MaQuery {
|
||||
query := (&MaClient{config: c.config}).Query()
|
||||
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
||||
id := u.ID
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(user.Table, user.FieldID, id),
|
||||
sqlgraph.To(ma.Table, ma.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, user.MaTable, user.MaColumn),
|
||||
)
|
||||
fromV = sqlgraph.Neighbors(u.driver.Dialect(), step)
|
||||
return fromV, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// Hooks returns the client hooks.
|
||||
func (c *UserClient) Hooks() []Hook {
|
||||
return c.hooks.User
|
||||
@ -614,9 +934,9 @@ func (c *UserClient) mutate(ctx context.Context, m *UserMutation) (Value, error)
|
||||
// hooks and interceptors per client, for fast access.
|
||||
type (
|
||||
hooks struct {
|
||||
Card, Group, User []ent.Hook
|
||||
Card, Group, Ma, Ue, User []ent.Hook
|
||||
}
|
||||
inters struct {
|
||||
Card, Group, User []ent.Interceptor
|
||||
Card, Group, Ma, Ue, User []ent.Interceptor
|
||||
}
|
||||
)
|
||||
|
70
ent/ent.go
70
ent/ent.go
@ -3,13 +3,16 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/group"
|
||||
"api/ent/ma"
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"t/ent/card"
|
||||
"t/ent/group"
|
||||
"t/ent/user"
|
||||
"sync"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
@ -62,35 +65,33 @@ func NewTxContext(parent context.Context, tx *Tx) context.Context {
|
||||
}
|
||||
|
||||
// OrderFunc applies an ordering on the sql selector.
|
||||
// Deprecated: Use Asc/Desc functions or the package builders instead.
|
||||
type OrderFunc func(*sql.Selector)
|
||||
|
||||
// columnChecker returns a function indicates if the column exists in the given column.
|
||||
func columnChecker(table string) func(string) error {
|
||||
checks := map[string]func(string) bool{
|
||||
card.Table: card.ValidColumn,
|
||||
group.Table: group.ValidColumn,
|
||||
user.Table: user.ValidColumn,
|
||||
}
|
||||
check, ok := checks[table]
|
||||
if !ok {
|
||||
return func(string) error {
|
||||
return fmt.Errorf("unknown table %q", table)
|
||||
}
|
||||
}
|
||||
return func(column string) error {
|
||||
if !check(column) {
|
||||
return fmt.Errorf("unknown column %q for table %q", column, table)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
var (
|
||||
initCheck sync.Once
|
||||
columnCheck sql.ColumnCheck
|
||||
)
|
||||
|
||||
// columnChecker checks if the column exists in the given table.
|
||||
func checkColumn(table, column string) error {
|
||||
initCheck.Do(func() {
|
||||
columnCheck = sql.NewColumnCheck(map[string]func(string) bool{
|
||||
card.Table: card.ValidColumn,
|
||||
group.Table: group.ValidColumn,
|
||||
ma.Table: ma.ValidColumn,
|
||||
ue.Table: ue.ValidColumn,
|
||||
user.Table: user.ValidColumn,
|
||||
})
|
||||
})
|
||||
return columnCheck(table, column)
|
||||
}
|
||||
|
||||
// Asc applies the given fields in ASC order.
|
||||
func Asc(fields ...string) OrderFunc {
|
||||
func Asc(fields ...string) func(*sql.Selector) {
|
||||
return func(s *sql.Selector) {
|
||||
check := columnChecker(s.TableName())
|
||||
for _, f := range fields {
|
||||
if err := check(f); err != nil {
|
||||
if err := checkColumn(s.TableName(), f); err != nil {
|
||||
s.AddError(&ValidationError{Name: f, err: fmt.Errorf("ent: %w", err)})
|
||||
}
|
||||
s.OrderBy(sql.Asc(s.C(f)))
|
||||
@ -99,11 +100,10 @@ func Asc(fields ...string) OrderFunc {
|
||||
}
|
||||
|
||||
// Desc applies the given fields in DESC order.
|
||||
func Desc(fields ...string) OrderFunc {
|
||||
func Desc(fields ...string) func(*sql.Selector) {
|
||||
return func(s *sql.Selector) {
|
||||
check := columnChecker(s.TableName())
|
||||
for _, f := range fields {
|
||||
if err := check(f); err != nil {
|
||||
if err := checkColumn(s.TableName(), f); err != nil {
|
||||
s.AddError(&ValidationError{Name: f, err: fmt.Errorf("ent: %w", err)})
|
||||
}
|
||||
s.OrderBy(sql.Desc(s.C(f)))
|
||||
@ -135,8 +135,7 @@ func Count() AggregateFunc {
|
||||
// Max applies the "max" aggregation function on the given field of each group.
|
||||
func Max(field string) AggregateFunc {
|
||||
return func(s *sql.Selector) string {
|
||||
check := columnChecker(s.TableName())
|
||||
if err := check(field); err != nil {
|
||||
if err := checkColumn(s.TableName(), field); err != nil {
|
||||
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
|
||||
return ""
|
||||
}
|
||||
@ -147,8 +146,7 @@ func Max(field string) AggregateFunc {
|
||||
// Mean applies the "mean" aggregation function on the given field of each group.
|
||||
func Mean(field string) AggregateFunc {
|
||||
return func(s *sql.Selector) string {
|
||||
check := columnChecker(s.TableName())
|
||||
if err := check(field); err != nil {
|
||||
if err := checkColumn(s.TableName(), field); err != nil {
|
||||
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
|
||||
return ""
|
||||
}
|
||||
@ -159,8 +157,7 @@ func Mean(field string) AggregateFunc {
|
||||
// Min applies the "min" aggregation function on the given field of each group.
|
||||
func Min(field string) AggregateFunc {
|
||||
return func(s *sql.Selector) string {
|
||||
check := columnChecker(s.TableName())
|
||||
if err := check(field); err != nil {
|
||||
if err := checkColumn(s.TableName(), field); err != nil {
|
||||
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
|
||||
return ""
|
||||
}
|
||||
@ -171,8 +168,7 @@ func Min(field string) AggregateFunc {
|
||||
// Sum applies the "sum" aggregation function on the given field of each group.
|
||||
func Sum(field string) AggregateFunc {
|
||||
return func(s *sql.Selector) string {
|
||||
check := columnChecker(s.TableName())
|
||||
if err := check(field); err != nil {
|
||||
if err := checkColumn(s.TableName(), field); err != nil {
|
||||
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)})
|
||||
return ""
|
||||
}
|
||||
@ -509,7 +505,7 @@ func withHooks[V Value, M any, PM interface {
|
||||
return exec(ctx)
|
||||
}
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
mutationT, ok := m.(PM)
|
||||
mutationT, ok := any(m).(PM)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||
}
|
||||
|
@ -3,12 +3,12 @@
|
||||
package enttest
|
||||
|
||||
import (
|
||||
"api/ent"
|
||||
"context"
|
||||
"t/ent"
|
||||
// required by schema hooks.
|
||||
_ "t/ent/runtime"
|
||||
_ "api/ent/runtime"
|
||||
|
||||
"t/ent/migrate"
|
||||
"api/ent/migrate"
|
||||
|
||||
"entgo.io/ent/dialect/sql/schema"
|
||||
)
|
||||
|
28
ent/group.go
28
ent/group.go
@ -3,10 +3,11 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/group"
|
||||
"fmt"
|
||||
"strings"
|
||||
"t/ent/group"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
)
|
||||
|
||||
@ -17,9 +18,12 @@ type Group struct {
|
||||
ID int `json:"id,omitempty"`
|
||||
// Name holds the value of the "name" field.
|
||||
Name string `json:"name,omitempty"`
|
||||
// Password holds the value of the "password" field.
|
||||
Password string `json:"-"`
|
||||
// Edges holds the relations/edges for other nodes in the graph.
|
||||
// The values are being populated by the GroupQuery when eager-loading is set.
|
||||
Edges GroupEdges `json:"edges"`
|
||||
Edges GroupEdges `json:"edges"`
|
||||
selectValues sql.SelectValues
|
||||
}
|
||||
|
||||
// GroupEdges holds the relations/edges for other nodes in the graph.
|
||||
@ -47,10 +51,10 @@ func (*Group) scanValues(columns []string) ([]any, error) {
|
||||
switch columns[i] {
|
||||
case group.FieldID:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case group.FieldName:
|
||||
case group.FieldName, group.FieldPassword:
|
||||
values[i] = new(sql.NullString)
|
||||
default:
|
||||
return nil, fmt.Errorf("unexpected column %q for type Group", columns[i])
|
||||
values[i] = new(sql.UnknownType)
|
||||
}
|
||||
}
|
||||
return values, nil
|
||||
@ -76,11 +80,25 @@ func (gr *Group) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
gr.Name = value.String
|
||||
}
|
||||
case group.FieldPassword:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field password", values[i])
|
||||
} else if value.Valid {
|
||||
gr.Password = value.String
|
||||
}
|
||||
default:
|
||||
gr.selectValues.Set(columns[i], values[i])
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Value returns the ent.Value that was dynamically selected and assigned to the Group.
|
||||
// This includes values selected through modifiers, order, etc.
|
||||
func (gr *Group) Value(name string) (ent.Value, error) {
|
||||
return gr.selectValues.Get(name)
|
||||
}
|
||||
|
||||
// QueryUsers queries the "users" edge of the Group entity.
|
||||
func (gr *Group) QueryUsers() *UserQuery {
|
||||
return NewGroupClient(gr.config).QueryUsers(gr)
|
||||
@ -111,6 +129,8 @@ func (gr *Group) String() string {
|
||||
builder.WriteString(fmt.Sprintf("id=%v, ", gr.ID))
|
||||
builder.WriteString("name=")
|
||||
builder.WriteString(gr.Name)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("password=<sensitive>")
|
||||
builder.WriteByte(')')
|
||||
return builder.String()
|
||||
}
|
||||
|
@ -2,6 +2,11 @@
|
||||
|
||||
package group
|
||||
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
)
|
||||
|
||||
const (
|
||||
// Label holds the string label denoting the group type in the database.
|
||||
Label = "group"
|
||||
@ -9,6 +14,8 @@ const (
|
||||
FieldID = "id"
|
||||
// FieldName holds the string denoting the name field in the database.
|
||||
FieldName = "name"
|
||||
// FieldPassword holds the string denoting the password field in the database.
|
||||
FieldPassword = "password"
|
||||
// EdgeUsers holds the string denoting the users edge name in mutations.
|
||||
EdgeUsers = "users"
|
||||
// Table holds the table name of the group in the database.
|
||||
@ -26,6 +33,7 @@ const (
|
||||
var Columns = []string{
|
||||
FieldID,
|
||||
FieldName,
|
||||
FieldPassword,
|
||||
}
|
||||
|
||||
// ValidColumn reports if the column name is valid (part of the table columns).
|
||||
@ -37,3 +45,47 @@ func ValidColumn(column string) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var (
|
||||
// PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
PasswordValidator func(string) error
|
||||
)
|
||||
|
||||
// OrderOption defines the ordering options for the Group queries.
|
||||
type OrderOption func(*sql.Selector)
|
||||
|
||||
// ByID orders the results by the id field.
|
||||
func ByID(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldID, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByName orders the results by the name field.
|
||||
func ByName(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldName, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByPassword orders the results by the password field.
|
||||
func ByPassword(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldPassword, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByUsersCount orders the results by users count.
|
||||
func ByUsersCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborsCount(s, newUsersStep(), opts...)
|
||||
}
|
||||
}
|
||||
|
||||
// ByUsers orders the results by users terms.
|
||||
func ByUsers(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newUsersStep(), append([]sql.OrderTerm{term}, terms...)...)
|
||||
}
|
||||
}
|
||||
func newUsersStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(UsersInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, UsersTable, UsersColumn),
|
||||
)
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
package group
|
||||
|
||||
import (
|
||||
"t/ent/predicate"
|
||||
"api/ent/predicate"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -59,6 +59,11 @@ func Name(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldEQ(FieldName, v))
|
||||
}
|
||||
|
||||
// Password applies equality check predicate on the "password" field. It's identical to PasswordEQ.
|
||||
func Password(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldEQ(FieldPassword, v))
|
||||
}
|
||||
|
||||
// NameEQ applies the EQ predicate on the "name" field.
|
||||
func NameEQ(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldEQ(FieldName, v))
|
||||
@ -124,6 +129,71 @@ func NameContainsFold(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldContainsFold(FieldName, v))
|
||||
}
|
||||
|
||||
// PasswordEQ applies the EQ predicate on the "password" field.
|
||||
func PasswordEQ(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldEQ(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordNEQ applies the NEQ predicate on the "password" field.
|
||||
func PasswordNEQ(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldNEQ(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordIn applies the In predicate on the "password" field.
|
||||
func PasswordIn(vs ...string) predicate.Group {
|
||||
return predicate.Group(sql.FieldIn(FieldPassword, vs...))
|
||||
}
|
||||
|
||||
// PasswordNotIn applies the NotIn predicate on the "password" field.
|
||||
func PasswordNotIn(vs ...string) predicate.Group {
|
||||
return predicate.Group(sql.FieldNotIn(FieldPassword, vs...))
|
||||
}
|
||||
|
||||
// PasswordGT applies the GT predicate on the "password" field.
|
||||
func PasswordGT(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldGT(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordGTE applies the GTE predicate on the "password" field.
|
||||
func PasswordGTE(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldGTE(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordLT applies the LT predicate on the "password" field.
|
||||
func PasswordLT(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldLT(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordLTE applies the LTE predicate on the "password" field.
|
||||
func PasswordLTE(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldLTE(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordContains applies the Contains predicate on the "password" field.
|
||||
func PasswordContains(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldContains(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordHasPrefix applies the HasPrefix predicate on the "password" field.
|
||||
func PasswordHasPrefix(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldHasPrefix(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordHasSuffix applies the HasSuffix predicate on the "password" field.
|
||||
func PasswordHasSuffix(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldHasSuffix(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordEqualFold applies the EqualFold predicate on the "password" field.
|
||||
func PasswordEqualFold(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldEqualFold(FieldPassword, v))
|
||||
}
|
||||
|
||||
// PasswordContainsFold applies the ContainsFold predicate on the "password" field.
|
||||
func PasswordContainsFold(v string) predicate.Group {
|
||||
return predicate.Group(sql.FieldContainsFold(FieldPassword, v))
|
||||
}
|
||||
|
||||
// HasUsers applies the HasEdge predicate on the "users" edge.
|
||||
func HasUsers() predicate.Group {
|
||||
return predicate.Group(func(s *sql.Selector) {
|
||||
@ -138,11 +208,7 @@ func HasUsers() predicate.Group {
|
||||
// HasUsersWith applies the HasEdge predicate on the "users" edge with a given conditions (other predicates).
|
||||
func HasUsersWith(preds ...predicate.User) predicate.Group {
|
||||
return predicate.Group(func(s *sql.Selector) {
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(UsersInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, UsersTable, UsersColumn),
|
||||
)
|
||||
step := newUsersStep()
|
||||
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
|
||||
for _, p := range preds {
|
||||
p(s)
|
||||
|
@ -3,11 +3,11 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/group"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"t/ent/group"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
@ -26,6 +26,12 @@ func (gc *GroupCreate) SetName(s string) *GroupCreate {
|
||||
return gc
|
||||
}
|
||||
|
||||
// SetPassword sets the "password" field.
|
||||
func (gc *GroupCreate) SetPassword(s string) *GroupCreate {
|
||||
gc.mutation.SetPassword(s)
|
||||
return gc
|
||||
}
|
||||
|
||||
// AddUserIDs adds the "users" edge to the User entity by IDs.
|
||||
func (gc *GroupCreate) AddUserIDs(ids ...int) *GroupCreate {
|
||||
gc.mutation.AddUserIDs(ids...)
|
||||
@ -78,6 +84,14 @@ func (gc *GroupCreate) check() error {
|
||||
if _, ok := gc.mutation.Name(); !ok {
|
||||
return &ValidationError{Name: "name", err: errors.New(`ent: missing required field "Group.name"`)}
|
||||
}
|
||||
if _, ok := gc.mutation.Password(); !ok {
|
||||
return &ValidationError{Name: "password", err: errors.New(`ent: missing required field "Group.password"`)}
|
||||
}
|
||||
if v, ok := gc.mutation.Password(); ok {
|
||||
if err := group.PasswordValidator(v); err != nil {
|
||||
return &ValidationError{Name: "password", err: fmt.Errorf(`ent: validator failed for field "Group.password": %w`, err)}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -108,6 +122,10 @@ func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) {
|
||||
_spec.SetField(group.FieldName, field.TypeString, value)
|
||||
_node.Name = value
|
||||
}
|
||||
if value, ok := gc.mutation.Password(); ok {
|
||||
_spec.SetField(group.FieldPassword, field.TypeString, value)
|
||||
_node.Password = value
|
||||
}
|
||||
if nodes := gc.mutation.UsersIDs(); len(nodes) > 0 {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.O2M,
|
||||
@ -116,10 +134,7 @@ func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) {
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
@ -153,8 +168,8 @@ func (gcb *GroupCreateBulk) Save(ctx context.Context) ([]*Group, error) {
|
||||
return nil, err
|
||||
}
|
||||
builder.mutation = mutation
|
||||
nodes[i], specs[i] = builder.createSpec()
|
||||
var err error
|
||||
nodes[i], specs[i] = builder.createSpec()
|
||||
if i < len(mutators)-1 {
|
||||
_, err = mutators[i+1].Mutate(root, gcb.builders[i+1].mutation)
|
||||
} else {
|
||||
|
@ -3,9 +3,9 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/group"
|
||||
"api/ent/predicate"
|
||||
"context"
|
||||
"t/ent/group"
|
||||
"t/ent/predicate"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
|
@ -3,13 +3,13 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/group"
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
"math"
|
||||
"t/ent/group"
|
||||
"t/ent/predicate"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -20,7 +20,7 @@ import (
|
||||
type GroupQuery struct {
|
||||
config
|
||||
ctx *QueryContext
|
||||
order []OrderFunc
|
||||
order []group.OrderOption
|
||||
inters []Interceptor
|
||||
predicates []predicate.Group
|
||||
withUsers *UserQuery
|
||||
@ -55,7 +55,7 @@ func (gq *GroupQuery) Unique(unique bool) *GroupQuery {
|
||||
}
|
||||
|
||||
// Order specifies how the records should be ordered.
|
||||
func (gq *GroupQuery) Order(o ...OrderFunc) *GroupQuery {
|
||||
func (gq *GroupQuery) Order(o ...group.OrderOption) *GroupQuery {
|
||||
gq.order = append(gq.order, o...)
|
||||
return gq
|
||||
}
|
||||
@ -271,7 +271,7 @@ func (gq *GroupQuery) Clone() *GroupQuery {
|
||||
return &GroupQuery{
|
||||
config: gq.config,
|
||||
ctx: gq.ctx.Clone(),
|
||||
order: append([]OrderFunc{}, gq.order...),
|
||||
order: append([]group.OrderOption{}, gq.order...),
|
||||
inters: append([]Interceptor{}, gq.inters...),
|
||||
predicates: append([]predicate.Group{}, gq.predicates...),
|
||||
withUsers: gq.withUsers.Clone(),
|
||||
@ -414,7 +414,7 @@ func (gq *GroupQuery) loadUsers(ctx context.Context, query *UserQuery, nodes []*
|
||||
}
|
||||
query.withFKs = true
|
||||
query.Where(predicate.User(func(s *sql.Selector) {
|
||||
s.Where(sql.InValues(group.UsersColumn, fks...))
|
||||
s.Where(sql.InValues(s.C(group.UsersColumn), fks...))
|
||||
}))
|
||||
neighbors, err := query.All(ctx)
|
||||
if err != nil {
|
||||
@ -427,7 +427,7 @@ func (gq *GroupQuery) loadUsers(ctx context.Context, query *UserQuery, nodes []*
|
||||
}
|
||||
node, ok := nodeids[*fk]
|
||||
if !ok {
|
||||
return fmt.Errorf(`unexpected foreign-key "group_users" returned %v for node %v`, *fk, n.ID)
|
||||
return fmt.Errorf(`unexpected referenced foreign-key "group_users" returned %v for node %v`, *fk, n.ID)
|
||||
}
|
||||
assign(node, n)
|
||||
}
|
||||
|
@ -3,12 +3,12 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/group"
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"t/ent/group"
|
||||
"t/ent/predicate"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -122,10 +122,7 @@ func (gu *GroupUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
|
||||
@ -138,10 +135,7 @@ func (gu *GroupUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
@ -157,10 +151,7 @@ func (gu *GroupUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
@ -312,10 +303,7 @@ func (guo *GroupUpdateOne) sqlSave(ctx context.Context) (_node *Group, err error
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
|
||||
@ -328,10 +316,7 @@ func (guo *GroupUpdateOne) sqlSave(ctx context.Context) (_node *Group, err error
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
@ -347,10 +332,7 @@ func (guo *GroupUpdateOne) sqlSave(ctx context.Context) (_node *Group, err error
|
||||
Columns: []string{group.UsersColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: &sqlgraph.FieldSpec{
|
||||
Type: field.TypeInt,
|
||||
Column: user.FieldID,
|
||||
},
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
|
@ -3,9 +3,9 @@
|
||||
package hook
|
||||
|
||||
import (
|
||||
"api/ent"
|
||||
"context"
|
||||
"fmt"
|
||||
"t/ent"
|
||||
)
|
||||
|
||||
// The CardFunc type is an adapter to allow the use of ordinary
|
||||
@ -32,6 +32,30 @@ func (f GroupFunc) Mutate(ctx context.Context, m ent.Mutation) (ent.Value, error
|
||||
return nil, fmt.Errorf("unexpected mutation type %T. expect *ent.GroupMutation", m)
|
||||
}
|
||||
|
||||
// The MaFunc type is an adapter to allow the use of ordinary
|
||||
// function as Ma mutator.
|
||||
type MaFunc func(context.Context, *ent.MaMutation) (ent.Value, error)
|
||||
|
||||
// Mutate calls f(ctx, m).
|
||||
func (f MaFunc) Mutate(ctx context.Context, m ent.Mutation) (ent.Value, error) {
|
||||
if mv, ok := m.(*ent.MaMutation); ok {
|
||||
return f(ctx, mv)
|
||||
}
|
||||
return nil, fmt.Errorf("unexpected mutation type %T. expect *ent.MaMutation", m)
|
||||
}
|
||||
|
||||
// The UeFunc type is an adapter to allow the use of ordinary
|
||||
// function as Ue mutator.
|
||||
type UeFunc func(context.Context, *ent.UeMutation) (ent.Value, error)
|
||||
|
||||
// Mutate calls f(ctx, m).
|
||||
func (f UeFunc) Mutate(ctx context.Context, m ent.Mutation) (ent.Value, error) {
|
||||
if mv, ok := m.(*ent.UeMutation); ok {
|
||||
return f(ctx, mv)
|
||||
}
|
||||
return nil, fmt.Errorf("unexpected mutation type %T. expect *ent.UeMutation", m)
|
||||
}
|
||||
|
||||
// The UserFunc type is an adapter to allow the use of ordinary
|
||||
// function as User mutator.
|
||||
type UserFunc func(context.Context, *ent.UserMutation) (ent.Value, error)
|
||||
|
290
ent/ma.go
Normal file
290
ent/ma.go
Normal file
@ -0,0 +1,290 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ma"
|
||||
"api/ent/user"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
)
|
||||
|
||||
// Ma is the model entity for the Ma schema.
|
||||
type Ma struct {
|
||||
config `json:"-"`
|
||||
// ID of the ent.
|
||||
ID int `json:"id,omitempty"`
|
||||
// Password holds the value of the "password" field.
|
||||
Password string `json:"-"`
|
||||
// Token holds the value of the "token" field.
|
||||
Token string `json:"-"`
|
||||
// Limit holds the value of the "limit" field.
|
||||
Limit bool `json:"limit,omitempty"`
|
||||
// Count holds the value of the "count" field.
|
||||
Count int `json:"count,omitempty"`
|
||||
// Handle holds the value of the "handle" field.
|
||||
Handle string `json:"handle,omitempty"`
|
||||
// Text holds the value of the "text" field.
|
||||
Text string `json:"text,omitempty"`
|
||||
// Did holds the value of the "did" field.
|
||||
Did string `json:"did,omitempty"`
|
||||
// Avatar holds the value of the "avatar" field.
|
||||
Avatar string `json:"avatar,omitempty"`
|
||||
// Cid holds the value of the "cid" field.
|
||||
Cid string `json:"cid,omitempty"`
|
||||
// URI holds the value of the "uri" field.
|
||||
URI string `json:"uri,omitempty"`
|
||||
// Rkey holds the value of the "rkey" field.
|
||||
Rkey string `json:"rkey,omitempty"`
|
||||
// BskyURL holds the value of the "bsky_url" field.
|
||||
BskyURL string `json:"bsky_url,omitempty"`
|
||||
// UpdatedAt holds the value of the "updated_at" field.
|
||||
UpdatedAt time.Time `json:"updated_at,omitempty"`
|
||||
// CreatedAt holds the value of the "created_at" field.
|
||||
CreatedAt time.Time `json:"created_at,omitempty"`
|
||||
// Edges holds the relations/edges for other nodes in the graph.
|
||||
// The values are being populated by the MaQuery when eager-loading is set.
|
||||
Edges MaEdges `json:"edges"`
|
||||
user_ma *int
|
||||
selectValues sql.SelectValues
|
||||
}
|
||||
|
||||
// MaEdges holds the relations/edges for other nodes in the graph.
|
||||
type MaEdges struct {
|
||||
// Owner holds the value of the owner edge.
|
||||
Owner *User `json:"owner,omitempty"`
|
||||
// loadedTypes holds the information for reporting if a
|
||||
// type was loaded (or requested) in eager-loading or not.
|
||||
loadedTypes [1]bool
|
||||
}
|
||||
|
||||
// OwnerOrErr returns the Owner value or an error if the edge
|
||||
// was not loaded in eager-loading, or loaded but was not found.
|
||||
func (e MaEdges) OwnerOrErr() (*User, error) {
|
||||
if e.loadedTypes[0] {
|
||||
if e.Owner == nil {
|
||||
// Edge was loaded but was not found.
|
||||
return nil, &NotFoundError{label: user.Label}
|
||||
}
|
||||
return e.Owner, nil
|
||||
}
|
||||
return nil, &NotLoadedError{edge: "owner"}
|
||||
}
|
||||
|
||||
// scanValues returns the types for scanning values from sql.Rows.
|
||||
func (*Ma) scanValues(columns []string) ([]any, error) {
|
||||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case ma.FieldLimit:
|
||||
values[i] = new(sql.NullBool)
|
||||
case ma.FieldID, ma.FieldCount:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case ma.FieldPassword, ma.FieldToken, ma.FieldHandle, ma.FieldText, ma.FieldDid, ma.FieldAvatar, ma.FieldCid, ma.FieldURI, ma.FieldRkey, ma.FieldBskyURL:
|
||||
values[i] = new(sql.NullString)
|
||||
case ma.FieldUpdatedAt, ma.FieldCreatedAt:
|
||||
values[i] = new(sql.NullTime)
|
||||
case ma.ForeignKeys[0]: // user_ma
|
||||
values[i] = new(sql.NullInt64)
|
||||
default:
|
||||
values[i] = new(sql.UnknownType)
|
||||
}
|
||||
}
|
||||
return values, nil
|
||||
}
|
||||
|
||||
// assignValues assigns the values that were returned from sql.Rows (after scanning)
|
||||
// to the Ma fields.
|
||||
func (m *Ma) 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 ma.FieldID:
|
||||
value, ok := values[i].(*sql.NullInt64)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type %T for field id", value)
|
||||
}
|
||||
m.ID = int(value.Int64)
|
||||
case ma.FieldPassword:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field password", values[i])
|
||||
} else if value.Valid {
|
||||
m.Password = value.String
|
||||
}
|
||||
case ma.FieldToken:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field token", values[i])
|
||||
} else if value.Valid {
|
||||
m.Token = value.String
|
||||
}
|
||||
case ma.FieldLimit:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field limit", values[i])
|
||||
} else if value.Valid {
|
||||
m.Limit = value.Bool
|
||||
}
|
||||
case ma.FieldCount:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field count", values[i])
|
||||
} else if value.Valid {
|
||||
m.Count = int(value.Int64)
|
||||
}
|
||||
case ma.FieldHandle:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field handle", values[i])
|
||||
} else if value.Valid {
|
||||
m.Handle = value.String
|
||||
}
|
||||
case ma.FieldText:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field text", values[i])
|
||||
} else if value.Valid {
|
||||
m.Text = value.String
|
||||
}
|
||||
case ma.FieldDid:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field did", values[i])
|
||||
} else if value.Valid {
|
||||
m.Did = value.String
|
||||
}
|
||||
case ma.FieldAvatar:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field avatar", values[i])
|
||||
} else if value.Valid {
|
||||
m.Avatar = value.String
|
||||
}
|
||||
case ma.FieldCid:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field cid", values[i])
|
||||
} else if value.Valid {
|
||||
m.Cid = value.String
|
||||
}
|
||||
case ma.FieldURI:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field uri", values[i])
|
||||
} else if value.Valid {
|
||||
m.URI = value.String
|
||||
}
|
||||
case ma.FieldRkey:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field rkey", values[i])
|
||||
} else if value.Valid {
|
||||
m.Rkey = value.String
|
||||
}
|
||||
case ma.FieldBskyURL:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field bsky_url", values[i])
|
||||
} else if value.Valid {
|
||||
m.BskyURL = value.String
|
||||
}
|
||||
case ma.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 ma.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 ma.ForeignKeys[0]:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for edge-field user_ma", value)
|
||||
} else if value.Valid {
|
||||
m.user_ma = new(int)
|
||||
*m.user_ma = int(value.Int64)
|
||||
}
|
||||
default:
|
||||
m.selectValues.Set(columns[i], values[i])
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Value returns the ent.Value that was dynamically selected and assigned to the Ma.
|
||||
// This includes values selected through modifiers, order, etc.
|
||||
func (m *Ma) Value(name string) (ent.Value, error) {
|
||||
return m.selectValues.Get(name)
|
||||
}
|
||||
|
||||
// QueryOwner queries the "owner" edge of the Ma entity.
|
||||
func (m *Ma) QueryOwner() *UserQuery {
|
||||
return NewMaClient(m.config).QueryOwner(m)
|
||||
}
|
||||
|
||||
// Update returns a builder for updating this Ma.
|
||||
// Note that you need to call Ma.Unwrap() before calling this method if this Ma
|
||||
// was returned from a transaction, and the transaction was committed or rolled back.
|
||||
func (m *Ma) Update() *MaUpdateOne {
|
||||
return NewMaClient(m.config).UpdateOne(m)
|
||||
}
|
||||
|
||||
// Unwrap unwraps the Ma 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 *Ma) Unwrap() *Ma {
|
||||
_tx, ok := m.config.driver.(*txDriver)
|
||||
if !ok {
|
||||
panic("ent: Ma is not a transactional entity")
|
||||
}
|
||||
m.config.driver = _tx.drv
|
||||
return m
|
||||
}
|
||||
|
||||
// String implements the fmt.Stringer.
|
||||
func (m *Ma) String() string {
|
||||
var builder strings.Builder
|
||||
builder.WriteString("Ma(")
|
||||
builder.WriteString(fmt.Sprintf("id=%v, ", m.ID))
|
||||
builder.WriteString("password=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("token=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("limit=")
|
||||
builder.WriteString(fmt.Sprintf("%v", m.Limit))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("count=")
|
||||
builder.WriteString(fmt.Sprintf("%v", m.Count))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("handle=")
|
||||
builder.WriteString(m.Handle)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("text=")
|
||||
builder.WriteString(m.Text)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("did=")
|
||||
builder.WriteString(m.Did)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("avatar=")
|
||||
builder.WriteString(m.Avatar)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("cid=")
|
||||
builder.WriteString(m.Cid)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("uri=")
|
||||
builder.WriteString(m.URI)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("rkey=")
|
||||
builder.WriteString(m.Rkey)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("bsky_url=")
|
||||
builder.WriteString(m.BskyURL)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("updated_at=")
|
||||
builder.WriteString(m.UpdatedAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(m.CreatedAt.Format(time.ANSIC))
|
||||
builder.WriteByte(')')
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
// Mas is a parsable slice of Ma.
|
||||
type Mas []*Ma
|
197
ent/ma/ma.go
Normal file
197
ent/ma/ma.go
Normal file
@ -0,0 +1,197 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ma
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
)
|
||||
|
||||
const (
|
||||
// Label holds the string label denoting the ma type in the database.
|
||||
Label = "ma"
|
||||
// FieldID holds the string denoting the id field in the database.
|
||||
FieldID = "id"
|
||||
// FieldPassword holds the string denoting the password field in the database.
|
||||
FieldPassword = "password"
|
||||
// FieldToken holds the string denoting the token field in the database.
|
||||
FieldToken = "token"
|
||||
// FieldLimit holds the string denoting the limit field in the database.
|
||||
FieldLimit = "limit"
|
||||
// FieldCount holds the string denoting the count field in the database.
|
||||
FieldCount = "count"
|
||||
// FieldHandle holds the string denoting the handle field in the database.
|
||||
FieldHandle = "handle"
|
||||
// FieldText holds the string denoting the text field in the database.
|
||||
FieldText = "text"
|
||||
// FieldDid holds the string denoting the did field in the database.
|
||||
FieldDid = "did"
|
||||
// FieldAvatar holds the string denoting the avatar field in the database.
|
||||
FieldAvatar = "avatar"
|
||||
// FieldCid holds the string denoting the cid field in the database.
|
||||
FieldCid = "cid"
|
||||
// FieldURI holds the string denoting the uri field in the database.
|
||||
FieldURI = "uri"
|
||||
// FieldRkey holds the string denoting the rkey field in the database.
|
||||
FieldRkey = "rkey"
|
||||
// FieldBskyURL holds the string denoting the bsky_url field in the database.
|
||||
FieldBskyURL = "bsky_url"
|
||||
// FieldUpdatedAt holds the string denoting the updated_at field in the database.
|
||||
FieldUpdatedAt = "updated_at"
|
||||
// FieldCreatedAt holds the string denoting the created_at field in the database.
|
||||
FieldCreatedAt = "created_at"
|
||||
// EdgeOwner holds the string denoting the owner edge name in mutations.
|
||||
EdgeOwner = "owner"
|
||||
// Table holds the table name of the ma in the database.
|
||||
Table = "mas"
|
||||
// OwnerTable is the table that holds the owner relation/edge.
|
||||
OwnerTable = "mas"
|
||||
// OwnerInverseTable is the table name for the User entity.
|
||||
// It exists in this package in order to avoid circular dependency with the "user" package.
|
||||
OwnerInverseTable = "users"
|
||||
// OwnerColumn is the table column denoting the owner relation/edge.
|
||||
OwnerColumn = "user_ma"
|
||||
)
|
||||
|
||||
// Columns holds all SQL columns for ma fields.
|
||||
var Columns = []string{
|
||||
FieldID,
|
||||
FieldPassword,
|
||||
FieldToken,
|
||||
FieldLimit,
|
||||
FieldCount,
|
||||
FieldHandle,
|
||||
FieldText,
|
||||
FieldDid,
|
||||
FieldAvatar,
|
||||
FieldCid,
|
||||
FieldURI,
|
||||
FieldRkey,
|
||||
FieldBskyURL,
|
||||
FieldUpdatedAt,
|
||||
FieldCreatedAt,
|
||||
}
|
||||
|
||||
// ForeignKeys holds the SQL foreign-keys that are owned by the "mas"
|
||||
// table and are not defined as standalone fields in the schema.
|
||||
var ForeignKeys = []string{
|
||||
"user_ma",
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
}
|
||||
for i := range ForeignKeys {
|
||||
if column == ForeignKeys[i] {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var (
|
||||
// PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
PasswordValidator func(string) error
|
||||
// DefaultLimit holds the default value on creation for the "limit" field.
|
||||
DefaultLimit bool
|
||||
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
|
||||
DefaultCreatedAt func() time.Time
|
||||
)
|
||||
|
||||
// OrderOption defines the ordering options for the Ma 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()
|
||||
}
|
||||
|
||||
// ByPassword orders the results by the password field.
|
||||
func ByPassword(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldPassword, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByToken orders the results by the token field.
|
||||
func ByToken(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldToken, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLimit orders the results by the limit field.
|
||||
func ByLimit(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLimit, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCount orders the results by the count field.
|
||||
func ByCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCount, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByHandle orders the results by the handle field.
|
||||
func ByHandle(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldHandle, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByText orders the results by the text field.
|
||||
func ByText(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldText, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByDid orders the results by the did field.
|
||||
func ByDid(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldDid, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByAvatar orders the results by the avatar field.
|
||||
func ByAvatar(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldAvatar, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCid orders the results by the cid field.
|
||||
func ByCid(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCid, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByURI orders the results by the uri field.
|
||||
func ByURI(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldURI, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByRkey orders the results by the rkey field.
|
||||
func ByRkey(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldRkey, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByBskyURL orders the results by the bsky_url field.
|
||||
func ByBskyURL(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldBskyURL, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByUpdatedAt orders the results by the updated_at field.
|
||||
func ByUpdatedAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldUpdatedAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCreatedAt orders the results by the created_at field.
|
||||
func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCreatedAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByOwnerField orders the results by owner field.
|
||||
func ByOwnerField(field string, opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newOwnerStep(), sql.OrderByField(field, opts...))
|
||||
}
|
||||
}
|
||||
func newOwnerStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(OwnerInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, OwnerTable, OwnerColumn),
|
||||
)
|
||||
}
|
1091
ent/ma/where.go
Normal file
1091
ent/ma/where.go
Normal file
File diff suppressed because it is too large
Load Diff
465
ent/ma_create.go
Normal file
465
ent/ma_create.go
Normal file
@ -0,0 +1,465 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ma"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// MaCreate is the builder for creating a Ma entity.
|
||||
type MaCreate struct {
|
||||
config
|
||||
mutation *MaMutation
|
||||
hooks []Hook
|
||||
}
|
||||
|
||||
// SetPassword sets the "password" field.
|
||||
func (mc *MaCreate) SetPassword(s string) *MaCreate {
|
||||
mc.mutation.SetPassword(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (mc *MaCreate) SetToken(s string) *MaCreate {
|
||||
mc.mutation.SetToken(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableToken(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetToken(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetLimit sets the "limit" field.
|
||||
func (mc *MaCreate) SetLimit(b bool) *MaCreate {
|
||||
mc.mutation.SetLimit(b)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableLimit sets the "limit" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableLimit(b *bool) *MaCreate {
|
||||
if b != nil {
|
||||
mc.SetLimit(*b)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (mc *MaCreate) SetCount(i int) *MaCreate {
|
||||
mc.mutation.SetCount(i)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableCount(i *int) *MaCreate {
|
||||
if i != nil {
|
||||
mc.SetCount(*i)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetHandle sets the "handle" field.
|
||||
func (mc *MaCreate) SetHandle(s string) *MaCreate {
|
||||
mc.mutation.SetHandle(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableHandle sets the "handle" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableHandle(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetHandle(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetText sets the "text" field.
|
||||
func (mc *MaCreate) SetText(s string) *MaCreate {
|
||||
mc.mutation.SetText(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableText sets the "text" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableText(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetText(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetDid sets the "did" field.
|
||||
func (mc *MaCreate) SetDid(s string) *MaCreate {
|
||||
mc.mutation.SetDid(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableDid sets the "did" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableDid(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetDid(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetAvatar sets the "avatar" field.
|
||||
func (mc *MaCreate) SetAvatar(s string) *MaCreate {
|
||||
mc.mutation.SetAvatar(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableAvatar sets the "avatar" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableAvatar(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetAvatar(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetCid sets the "cid" field.
|
||||
func (mc *MaCreate) SetCid(s string) *MaCreate {
|
||||
mc.mutation.SetCid(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableCid sets the "cid" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableCid(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetCid(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetURI sets the "uri" field.
|
||||
func (mc *MaCreate) SetURI(s string) *MaCreate {
|
||||
mc.mutation.SetURI(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableURI sets the "uri" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableURI(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetURI(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetRkey sets the "rkey" field.
|
||||
func (mc *MaCreate) SetRkey(s string) *MaCreate {
|
||||
mc.mutation.SetRkey(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableRkey sets the "rkey" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableRkey(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetRkey(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetBskyURL sets the "bsky_url" field.
|
||||
func (mc *MaCreate) SetBskyURL(s string) *MaCreate {
|
||||
mc.mutation.SetBskyURL(s)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableBskyURL sets the "bsky_url" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableBskyURL(s *string) *MaCreate {
|
||||
if s != nil {
|
||||
mc.SetBskyURL(*s)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetUpdatedAt sets the "updated_at" field.
|
||||
func (mc *MaCreate) SetUpdatedAt(t time.Time) *MaCreate {
|
||||
mc.mutation.SetUpdatedAt(t)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableUpdatedAt(t *time.Time) *MaCreate {
|
||||
if t != nil {
|
||||
mc.SetUpdatedAt(*t)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (mc *MaCreate) SetCreatedAt(t time.Time) *MaCreate {
|
||||
mc.mutation.SetCreatedAt(t)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
|
||||
func (mc *MaCreate) SetNillableCreatedAt(t *time.Time) *MaCreate {
|
||||
if t != nil {
|
||||
mc.SetCreatedAt(*t)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetOwnerID sets the "owner" edge to the User entity by ID.
|
||||
func (mc *MaCreate) SetOwnerID(id int) *MaCreate {
|
||||
mc.mutation.SetOwnerID(id)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetOwner sets the "owner" edge to the User entity.
|
||||
func (mc *MaCreate) SetOwner(u *User) *MaCreate {
|
||||
return mc.SetOwnerID(u.ID)
|
||||
}
|
||||
|
||||
// Mutation returns the MaMutation object of the builder.
|
||||
func (mc *MaCreate) Mutation() *MaMutation {
|
||||
return mc.mutation
|
||||
}
|
||||
|
||||
// Save creates the Ma in the database.
|
||||
func (mc *MaCreate) Save(ctx context.Context) (*Ma, error) {
|
||||
mc.defaults()
|
||||
return withHooks[*Ma, MaMutation](ctx, mc.sqlSave, mc.mutation, mc.hooks)
|
||||
}
|
||||
|
||||
// SaveX calls Save and panics if Save returns an error.
|
||||
func (mc *MaCreate) SaveX(ctx context.Context) *Ma {
|
||||
v, err := mc.Save(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// Exec executes the query.
|
||||
func (mc *MaCreate) Exec(ctx context.Context) error {
|
||||
_, err := mc.Save(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (mc *MaCreate) ExecX(ctx context.Context) {
|
||||
if err := mc.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// defaults sets the default values of the builder before save.
|
||||
func (mc *MaCreate) defaults() {
|
||||
if _, ok := mc.mutation.Limit(); !ok {
|
||||
v := ma.DefaultLimit
|
||||
mc.mutation.SetLimit(v)
|
||||
}
|
||||
if _, ok := mc.mutation.CreatedAt(); !ok {
|
||||
v := ma.DefaultCreatedAt()
|
||||
mc.mutation.SetCreatedAt(v)
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (mc *MaCreate) check() error {
|
||||
if _, ok := mc.mutation.Password(); !ok {
|
||||
return &ValidationError{Name: "password", err: errors.New(`ent: missing required field "Ma.password"`)}
|
||||
}
|
||||
if v, ok := mc.mutation.Password(); ok {
|
||||
if err := ma.PasswordValidator(v); err != nil {
|
||||
return &ValidationError{Name: "password", err: fmt.Errorf(`ent: validator failed for field "Ma.password": %w`, err)}
|
||||
}
|
||||
}
|
||||
if _, ok := mc.mutation.OwnerID(); !ok {
|
||||
return &ValidationError{Name: "owner", err: errors.New(`ent: missing required edge "Ma.owner"`)}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mc *MaCreate) sqlSave(ctx context.Context) (*Ma, error) {
|
||||
if err := mc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_node, _spec := mc.createSpec()
|
||||
if err := sqlgraph.CreateNode(ctx, mc.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 = int(id)
|
||||
mc.mutation.id = &_node.ID
|
||||
mc.mutation.done = true
|
||||
return _node, nil
|
||||
}
|
||||
|
||||
func (mc *MaCreate) createSpec() (*Ma, *sqlgraph.CreateSpec) {
|
||||
var (
|
||||
_node = &Ma{config: mc.config}
|
||||
_spec = sqlgraph.NewCreateSpec(ma.Table, sqlgraph.NewFieldSpec(ma.FieldID, field.TypeInt))
|
||||
)
|
||||
if value, ok := mc.mutation.Password(); ok {
|
||||
_spec.SetField(ma.FieldPassword, field.TypeString, value)
|
||||
_node.Password = value
|
||||
}
|
||||
if value, ok := mc.mutation.Token(); ok {
|
||||
_spec.SetField(ma.FieldToken, field.TypeString, value)
|
||||
_node.Token = value
|
||||
}
|
||||
if value, ok := mc.mutation.Limit(); ok {
|
||||
_spec.SetField(ma.FieldLimit, field.TypeBool, value)
|
||||
_node.Limit = value
|
||||
}
|
||||
if value, ok := mc.mutation.Count(); ok {
|
||||
_spec.SetField(ma.FieldCount, field.TypeInt, value)
|
||||
_node.Count = value
|
||||
}
|
||||
if value, ok := mc.mutation.Handle(); ok {
|
||||
_spec.SetField(ma.FieldHandle, field.TypeString, value)
|
||||
_node.Handle = value
|
||||
}
|
||||
if value, ok := mc.mutation.Text(); ok {
|
||||
_spec.SetField(ma.FieldText, field.TypeString, value)
|
||||
_node.Text = value
|
||||
}
|
||||
if value, ok := mc.mutation.Did(); ok {
|
||||
_spec.SetField(ma.FieldDid, field.TypeString, value)
|
||||
_node.Did = value
|
||||
}
|
||||
if value, ok := mc.mutation.Avatar(); ok {
|
||||
_spec.SetField(ma.FieldAvatar, field.TypeString, value)
|
||||
_node.Avatar = value
|
||||
}
|
||||
if value, ok := mc.mutation.Cid(); ok {
|
||||
_spec.SetField(ma.FieldCid, field.TypeString, value)
|
||||
_node.Cid = value
|
||||
}
|
||||
if value, ok := mc.mutation.URI(); ok {
|
||||
_spec.SetField(ma.FieldURI, field.TypeString, value)
|
||||
_node.URI = value
|
||||
}
|
||||
if value, ok := mc.mutation.Rkey(); ok {
|
||||
_spec.SetField(ma.FieldRkey, field.TypeString, value)
|
||||
_node.Rkey = value
|
||||
}
|
||||
if value, ok := mc.mutation.BskyURL(); ok {
|
||||
_spec.SetField(ma.FieldBskyURL, field.TypeString, value)
|
||||
_node.BskyURL = value
|
||||
}
|
||||
if value, ok := mc.mutation.UpdatedAt(); ok {
|
||||
_spec.SetField(ma.FieldUpdatedAt, field.TypeTime, value)
|
||||
_node.UpdatedAt = value
|
||||
}
|
||||
if value, ok := mc.mutation.CreatedAt(); ok {
|
||||
_spec.SetField(ma.FieldCreatedAt, field.TypeTime, value)
|
||||
_node.CreatedAt = value
|
||||
}
|
||||
if nodes := mc.mutation.OwnerIDs(); len(nodes) > 0 {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.M2O,
|
||||
Inverse: true,
|
||||
Table: ma.OwnerTable,
|
||||
Columns: []string{ma.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
edge.Target.Nodes = append(edge.Target.Nodes, k)
|
||||
}
|
||||
_node.user_ma = &nodes[0]
|
||||
_spec.Edges = append(_spec.Edges, edge)
|
||||
}
|
||||
return _node, _spec
|
||||
}
|
||||
|
||||
// MaCreateBulk is the builder for creating many Ma entities in bulk.
|
||||
type MaCreateBulk struct {
|
||||
config
|
||||
builders []*MaCreate
|
||||
}
|
||||
|
||||
// Save creates the Ma entities in the database.
|
||||
func (mcb *MaCreateBulk) Save(ctx context.Context) ([]*Ma, error) {
|
||||
specs := make([]*sqlgraph.CreateSpec, len(mcb.builders))
|
||||
nodes := make([]*Ma, len(mcb.builders))
|
||||
mutators := make([]Mutator, len(mcb.builders))
|
||||
for i := range mcb.builders {
|
||||
func(i int, root context.Context) {
|
||||
builder := mcb.builders[i]
|
||||
builder.defaults()
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
mutation, ok := m.(*MaMutation)
|
||||
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, mcb.builders[i+1].mutation)
|
||||
} else {
|
||||
spec := &sqlgraph.BatchCreateSpec{Nodes: specs}
|
||||
// Invoke the actual operation on the latest mutation in the chain.
|
||||
if err = sqlgraph.BatchCreate(ctx, mcb.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 = int(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, mcb.builders[0].mutation); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return nodes, nil
|
||||
}
|
||||
|
||||
// SaveX is like Save, but panics if an error occurs.
|
||||
func (mcb *MaCreateBulk) SaveX(ctx context.Context) []*Ma {
|
||||
v, err := mcb.Save(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// Exec executes the query.
|
||||
func (mcb *MaCreateBulk) Exec(ctx context.Context) error {
|
||||
_, err := mcb.Save(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (mcb *MaCreateBulk) ExecX(ctx context.Context) {
|
||||
if err := mcb.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
88
ent/ma_delete.go
Normal file
88
ent/ma_delete.go
Normal file
@ -0,0 +1,88 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ma"
|
||||
"api/ent/predicate"
|
||||
"context"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// MaDelete is the builder for deleting a Ma entity.
|
||||
type MaDelete struct {
|
||||
config
|
||||
hooks []Hook
|
||||
mutation *MaMutation
|
||||
}
|
||||
|
||||
// Where appends a list predicates to the MaDelete builder.
|
||||
func (md *MaDelete) Where(ps ...predicate.Ma) *MaDelete {
|
||||
md.mutation.Where(ps...)
|
||||
return md
|
||||
}
|
||||
|
||||
// Exec executes the deletion query and returns how many vertices were deleted.
|
||||
func (md *MaDelete) Exec(ctx context.Context) (int, error) {
|
||||
return withHooks[int, MaMutation](ctx, md.sqlExec, md.mutation, md.hooks)
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (md *MaDelete) ExecX(ctx context.Context) int {
|
||||
n, err := md.Exec(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (md *MaDelete) sqlExec(ctx context.Context) (int, error) {
|
||||
_spec := sqlgraph.NewDeleteSpec(ma.Table, sqlgraph.NewFieldSpec(ma.FieldID, field.TypeInt))
|
||||
if ps := md.mutation.predicates; len(ps) > 0 {
|
||||
_spec.Predicate = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
affected, err := sqlgraph.DeleteNodes(ctx, md.driver, _spec)
|
||||
if err != nil && sqlgraph.IsConstraintError(err) {
|
||||
err = &ConstraintError{msg: err.Error(), wrap: err}
|
||||
}
|
||||
md.mutation.done = true
|
||||
return affected, err
|
||||
}
|
||||
|
||||
// MaDeleteOne is the builder for deleting a single Ma entity.
|
||||
type MaDeleteOne struct {
|
||||
md *MaDelete
|
||||
}
|
||||
|
||||
// Where appends a list predicates to the MaDelete builder.
|
||||
func (mdo *MaDeleteOne) Where(ps ...predicate.Ma) *MaDeleteOne {
|
||||
mdo.md.mutation.Where(ps...)
|
||||
return mdo
|
||||
}
|
||||
|
||||
// Exec executes the deletion query.
|
||||
func (mdo *MaDeleteOne) Exec(ctx context.Context) error {
|
||||
n, err := mdo.md.Exec(ctx)
|
||||
switch {
|
||||
case err != nil:
|
||||
return err
|
||||
case n == 0:
|
||||
return &NotFoundError{ma.Label}
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (mdo *MaDeleteOne) ExecX(ctx context.Context) {
|
||||
if err := mdo.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
613
ent/ma_query.go
Normal file
613
ent/ma_query.go
Normal file
@ -0,0 +1,613 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ma"
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// MaQuery is the builder for querying Ma entities.
|
||||
type MaQuery struct {
|
||||
config
|
||||
ctx *QueryContext
|
||||
order []ma.OrderOption
|
||||
inters []Interceptor
|
||||
predicates []predicate.Ma
|
||||
withOwner *UserQuery
|
||||
withFKs bool
|
||||
// intermediate query (i.e. traversal path).
|
||||
sql *sql.Selector
|
||||
path func(context.Context) (*sql.Selector, error)
|
||||
}
|
||||
|
||||
// Where adds a new predicate for the MaQuery builder.
|
||||
func (mq *MaQuery) Where(ps ...predicate.Ma) *MaQuery {
|
||||
mq.predicates = append(mq.predicates, ps...)
|
||||
return mq
|
||||
}
|
||||
|
||||
// Limit the number of records to be returned by this query.
|
||||
func (mq *MaQuery) Limit(limit int) *MaQuery {
|
||||
mq.ctx.Limit = &limit
|
||||
return mq
|
||||
}
|
||||
|
||||
// Offset to start from.
|
||||
func (mq *MaQuery) Offset(offset int) *MaQuery {
|
||||
mq.ctx.Offset = &offset
|
||||
return mq
|
||||
}
|
||||
|
||||
// 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 (mq *MaQuery) Unique(unique bool) *MaQuery {
|
||||
mq.ctx.Unique = &unique
|
||||
return mq
|
||||
}
|
||||
|
||||
// Order specifies how the records should be ordered.
|
||||
func (mq *MaQuery) Order(o ...ma.OrderOption) *MaQuery {
|
||||
mq.order = append(mq.order, o...)
|
||||
return mq
|
||||
}
|
||||
|
||||
// QueryOwner chains the current query on the "owner" edge.
|
||||
func (mq *MaQuery) QueryOwner() *UserQuery {
|
||||
query := (&UserClient{config: mq.config}).Query()
|
||||
query.path = func(ctx context.Context) (fromU *sql.Selector, err error) {
|
||||
if err := mq.prepareQuery(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
selector := mq.sqlQuery(ctx)
|
||||
if err := selector.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(ma.Table, ma.FieldID, selector),
|
||||
sqlgraph.To(user.Table, user.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, ma.OwnerTable, ma.OwnerColumn),
|
||||
)
|
||||
fromU = sqlgraph.SetNeighbors(mq.driver.Dialect(), step)
|
||||
return fromU, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// First returns the first Ma entity from the query.
|
||||
// Returns a *NotFoundError when no Ma was found.
|
||||
func (mq *MaQuery) First(ctx context.Context) (*Ma, error) {
|
||||
nodes, err := mq.Limit(1).All(setContextOp(ctx, mq.ctx, "First"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(nodes) == 0 {
|
||||
return nil, &NotFoundError{ma.Label}
|
||||
}
|
||||
return nodes[0], nil
|
||||
}
|
||||
|
||||
// FirstX is like First, but panics if an error occurs.
|
||||
func (mq *MaQuery) FirstX(ctx context.Context) *Ma {
|
||||
node, err := mq.First(ctx)
|
||||
if err != nil && !IsNotFound(err) {
|
||||
panic(err)
|
||||
}
|
||||
return node
|
||||
}
|
||||
|
||||
// FirstID returns the first Ma ID from the query.
|
||||
// Returns a *NotFoundError when no Ma ID was found.
|
||||
func (mq *MaQuery) FirstID(ctx context.Context) (id int, err error) {
|
||||
var ids []int
|
||||
if ids, err = mq.Limit(1).IDs(setContextOp(ctx, mq.ctx, "FirstID")); err != nil {
|
||||
return
|
||||
}
|
||||
if len(ids) == 0 {
|
||||
err = &NotFoundError{ma.Label}
|
||||
return
|
||||
}
|
||||
return ids[0], nil
|
||||
}
|
||||
|
||||
// FirstIDX is like FirstID, but panics if an error occurs.
|
||||
func (mq *MaQuery) FirstIDX(ctx context.Context) int {
|
||||
id, err := mq.FirstID(ctx)
|
||||
if err != nil && !IsNotFound(err) {
|
||||
panic(err)
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
// Only returns a single Ma entity found by the query, ensuring it only returns one.
|
||||
// Returns a *NotSingularError when more than one Ma entity is found.
|
||||
// Returns a *NotFoundError when no Ma entities are found.
|
||||
func (mq *MaQuery) Only(ctx context.Context) (*Ma, error) {
|
||||
nodes, err := mq.Limit(2).All(setContextOp(ctx, mq.ctx, "Only"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch len(nodes) {
|
||||
case 1:
|
||||
return nodes[0], nil
|
||||
case 0:
|
||||
return nil, &NotFoundError{ma.Label}
|
||||
default:
|
||||
return nil, &NotSingularError{ma.Label}
|
||||
}
|
||||
}
|
||||
|
||||
// OnlyX is like Only, but panics if an error occurs.
|
||||
func (mq *MaQuery) OnlyX(ctx context.Context) *Ma {
|
||||
node, err := mq.Only(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return node
|
||||
}
|
||||
|
||||
// OnlyID is like Only, but returns the only Ma ID in the query.
|
||||
// Returns a *NotSingularError when more than one Ma ID is found.
|
||||
// Returns a *NotFoundError when no entities are found.
|
||||
func (mq *MaQuery) OnlyID(ctx context.Context) (id int, err error) {
|
||||
var ids []int
|
||||
if ids, err = mq.Limit(2).IDs(setContextOp(ctx, mq.ctx, "OnlyID")); err != nil {
|
||||
return
|
||||
}
|
||||
switch len(ids) {
|
||||
case 1:
|
||||
id = ids[0]
|
||||
case 0:
|
||||
err = &NotFoundError{ma.Label}
|
||||
default:
|
||||
err = &NotSingularError{ma.Label}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// OnlyIDX is like OnlyID, but panics if an error occurs.
|
||||
func (mq *MaQuery) OnlyIDX(ctx context.Context) int {
|
||||
id, err := mq.OnlyID(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
// All executes the query and returns a list of Mas.
|
||||
func (mq *MaQuery) All(ctx context.Context) ([]*Ma, error) {
|
||||
ctx = setContextOp(ctx, mq.ctx, "All")
|
||||
if err := mq.prepareQuery(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
qr := querierAll[[]*Ma, *MaQuery]()
|
||||
return withInterceptors[[]*Ma](ctx, mq, qr, mq.inters)
|
||||
}
|
||||
|
||||
// AllX is like All, but panics if an error occurs.
|
||||
func (mq *MaQuery) AllX(ctx context.Context) []*Ma {
|
||||
nodes, err := mq.All(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return nodes
|
||||
}
|
||||
|
||||
// IDs executes the query and returns a list of Ma IDs.
|
||||
func (mq *MaQuery) IDs(ctx context.Context) (ids []int, err error) {
|
||||
if mq.ctx.Unique == nil && mq.path != nil {
|
||||
mq.Unique(true)
|
||||
}
|
||||
ctx = setContextOp(ctx, mq.ctx, "IDs")
|
||||
if err = mq.Select(ma.FieldID).Scan(ctx, &ids); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
// IDsX is like IDs, but panics if an error occurs.
|
||||
func (mq *MaQuery) IDsX(ctx context.Context) []int {
|
||||
ids, err := mq.IDs(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return ids
|
||||
}
|
||||
|
||||
// Count returns the count of the given query.
|
||||
func (mq *MaQuery) Count(ctx context.Context) (int, error) {
|
||||
ctx = setContextOp(ctx, mq.ctx, "Count")
|
||||
if err := mq.prepareQuery(ctx); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return withInterceptors[int](ctx, mq, querierCount[*MaQuery](), mq.inters)
|
||||
}
|
||||
|
||||
// CountX is like Count, but panics if an error occurs.
|
||||
func (mq *MaQuery) CountX(ctx context.Context) int {
|
||||
count, err := mq.Count(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
||||
// Exist returns true if the query has elements in the graph.
|
||||
func (mq *MaQuery) Exist(ctx context.Context) (bool, error) {
|
||||
ctx = setContextOp(ctx, mq.ctx, "Exist")
|
||||
switch _, err := mq.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 (mq *MaQuery) ExistX(ctx context.Context) bool {
|
||||
exist, err := mq.Exist(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return exist
|
||||
}
|
||||
|
||||
// Clone returns a duplicate of the MaQuery builder, including all associated steps. It can be
|
||||
// used to prepare common query builders and use them differently after the clone is made.
|
||||
func (mq *MaQuery) Clone() *MaQuery {
|
||||
if mq == nil {
|
||||
return nil
|
||||
}
|
||||
return &MaQuery{
|
||||
config: mq.config,
|
||||
ctx: mq.ctx.Clone(),
|
||||
order: append([]ma.OrderOption{}, mq.order...),
|
||||
inters: append([]Interceptor{}, mq.inters...),
|
||||
predicates: append([]predicate.Ma{}, mq.predicates...),
|
||||
withOwner: mq.withOwner.Clone(),
|
||||
// clone intermediate query.
|
||||
sql: mq.sql.Clone(),
|
||||
path: mq.path,
|
||||
}
|
||||
}
|
||||
|
||||
// WithOwner tells the query-builder to eager-load the nodes that are connected to
|
||||
// the "owner" edge. The optional arguments are used to configure the query builder of the edge.
|
||||
func (mq *MaQuery) WithOwner(opts ...func(*UserQuery)) *MaQuery {
|
||||
query := (&UserClient{config: mq.config}).Query()
|
||||
for _, opt := range opts {
|
||||
opt(query)
|
||||
}
|
||||
mq.withOwner = query
|
||||
return mq
|
||||
}
|
||||
|
||||
// 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 {
|
||||
// Password string `json:"password,omitempty"`
|
||||
// Count int `json:"count,omitempty"`
|
||||
// }
|
||||
//
|
||||
// client.Ma.Query().
|
||||
// GroupBy(ma.FieldPassword).
|
||||
// Aggregate(ent.Count()).
|
||||
// Scan(ctx, &v)
|
||||
func (mq *MaQuery) GroupBy(field string, fields ...string) *MaGroupBy {
|
||||
mq.ctx.Fields = append([]string{field}, fields...)
|
||||
grbuild := &MaGroupBy{build: mq}
|
||||
grbuild.flds = &mq.ctx.Fields
|
||||
grbuild.label = ma.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 {
|
||||
// Password string `json:"password,omitempty"`
|
||||
// }
|
||||
//
|
||||
// client.Ma.Query().
|
||||
// Select(ma.FieldPassword).
|
||||
// Scan(ctx, &v)
|
||||
func (mq *MaQuery) Select(fields ...string) *MaSelect {
|
||||
mq.ctx.Fields = append(mq.ctx.Fields, fields...)
|
||||
sbuild := &MaSelect{MaQuery: mq}
|
||||
sbuild.label = ma.Label
|
||||
sbuild.flds, sbuild.scan = &mq.ctx.Fields, sbuild.Scan
|
||||
return sbuild
|
||||
}
|
||||
|
||||
// Aggregate returns a MaSelect configured with the given aggregations.
|
||||
func (mq *MaQuery) Aggregate(fns ...AggregateFunc) *MaSelect {
|
||||
return mq.Select().Aggregate(fns...)
|
||||
}
|
||||
|
||||
func (mq *MaQuery) prepareQuery(ctx context.Context) error {
|
||||
for _, inter := range mq.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, mq); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, f := range mq.ctx.Fields {
|
||||
if !ma.ValidColumn(f) {
|
||||
return &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
|
||||
}
|
||||
}
|
||||
if mq.path != nil {
|
||||
prev, err := mq.path(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
mq.sql = prev
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mq *MaQuery) sqlAll(ctx context.Context, hooks ...queryHook) ([]*Ma, error) {
|
||||
var (
|
||||
nodes = []*Ma{}
|
||||
withFKs = mq.withFKs
|
||||
_spec = mq.querySpec()
|
||||
loadedTypes = [1]bool{
|
||||
mq.withOwner != nil,
|
||||
}
|
||||
)
|
||||
if mq.withOwner != nil {
|
||||
withFKs = true
|
||||
}
|
||||
if withFKs {
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, ma.ForeignKeys...)
|
||||
}
|
||||
_spec.ScanValues = func(columns []string) ([]any, error) {
|
||||
return (*Ma).scanValues(nil, columns)
|
||||
}
|
||||
_spec.Assign = func(columns []string, values []any) error {
|
||||
node := &Ma{config: mq.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, mq.driver, _spec); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(nodes) == 0 {
|
||||
return nodes, nil
|
||||
}
|
||||
if query := mq.withOwner; query != nil {
|
||||
if err := mq.loadOwner(ctx, query, nodes, nil,
|
||||
func(n *Ma, e *User) { n.Edges.Owner = e }); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return nodes, nil
|
||||
}
|
||||
|
||||
func (mq *MaQuery) loadOwner(ctx context.Context, query *UserQuery, nodes []*Ma, init func(*Ma), assign func(*Ma, *User)) error {
|
||||
ids := make([]int, 0, len(nodes))
|
||||
nodeids := make(map[int][]*Ma)
|
||||
for i := range nodes {
|
||||
if nodes[i].user_ma == nil {
|
||||
continue
|
||||
}
|
||||
fk := *nodes[i].user_ma
|
||||
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_ma" returned %v`, n.ID)
|
||||
}
|
||||
for i := range nodes {
|
||||
assign(nodes[i], n)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mq *MaQuery) sqlCount(ctx context.Context) (int, error) {
|
||||
_spec := mq.querySpec()
|
||||
_spec.Node.Columns = mq.ctx.Fields
|
||||
if len(mq.ctx.Fields) > 0 {
|
||||
_spec.Unique = mq.ctx.Unique != nil && *mq.ctx.Unique
|
||||
}
|
||||
return sqlgraph.CountNodes(ctx, mq.driver, _spec)
|
||||
}
|
||||
|
||||
func (mq *MaQuery) querySpec() *sqlgraph.QuerySpec {
|
||||
_spec := sqlgraph.NewQuerySpec(ma.Table, ma.Columns, sqlgraph.NewFieldSpec(ma.FieldID, field.TypeInt))
|
||||
_spec.From = mq.sql
|
||||
if unique := mq.ctx.Unique; unique != nil {
|
||||
_spec.Unique = *unique
|
||||
} else if mq.path != nil {
|
||||
_spec.Unique = true
|
||||
}
|
||||
if fields := mq.ctx.Fields; len(fields) > 0 {
|
||||
_spec.Node.Columns = make([]string, 0, len(fields))
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, ma.FieldID)
|
||||
for i := range fields {
|
||||
if fields[i] != ma.FieldID {
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, fields[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
if ps := mq.predicates; len(ps) > 0 {
|
||||
_spec.Predicate = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
if limit := mq.ctx.Limit; limit != nil {
|
||||
_spec.Limit = *limit
|
||||
}
|
||||
if offset := mq.ctx.Offset; offset != nil {
|
||||
_spec.Offset = *offset
|
||||
}
|
||||
if ps := mq.order; len(ps) > 0 {
|
||||
_spec.Order = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
return _spec
|
||||
}
|
||||
|
||||
func (mq *MaQuery) sqlQuery(ctx context.Context) *sql.Selector {
|
||||
builder := sql.Dialect(mq.driver.Dialect())
|
||||
t1 := builder.Table(ma.Table)
|
||||
columns := mq.ctx.Fields
|
||||
if len(columns) == 0 {
|
||||
columns = ma.Columns
|
||||
}
|
||||
selector := builder.Select(t1.Columns(columns...)...).From(t1)
|
||||
if mq.sql != nil {
|
||||
selector = mq.sql
|
||||
selector.Select(selector.Columns(columns...)...)
|
||||
}
|
||||
if mq.ctx.Unique != nil && *mq.ctx.Unique {
|
||||
selector.Distinct()
|
||||
}
|
||||
for _, p := range mq.predicates {
|
||||
p(selector)
|
||||
}
|
||||
for _, p := range mq.order {
|
||||
p(selector)
|
||||
}
|
||||
if offset := mq.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 := mq.ctx.Limit; limit != nil {
|
||||
selector.Limit(*limit)
|
||||
}
|
||||
return selector
|
||||
}
|
||||
|
||||
// MaGroupBy is the group-by builder for Ma entities.
|
||||
type MaGroupBy struct {
|
||||
selector
|
||||
build *MaQuery
|
||||
}
|
||||
|
||||
// Aggregate adds the given aggregation functions to the group-by query.
|
||||
func (mgb *MaGroupBy) Aggregate(fns ...AggregateFunc) *MaGroupBy {
|
||||
mgb.fns = append(mgb.fns, fns...)
|
||||
return mgb
|
||||
}
|
||||
|
||||
// Scan applies the selector query and scans the result into the given value.
|
||||
func (mgb *MaGroupBy) Scan(ctx context.Context, v any) error {
|
||||
ctx = setContextOp(ctx, mgb.build.ctx, "GroupBy")
|
||||
if err := mgb.build.prepareQuery(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
return scanWithInterceptors[*MaQuery, *MaGroupBy](ctx, mgb.build, mgb, mgb.build.inters, v)
|
||||
}
|
||||
|
||||
func (mgb *MaGroupBy) sqlScan(ctx context.Context, root *MaQuery, v any) error {
|
||||
selector := root.sqlQuery(ctx).Select()
|
||||
aggregation := make([]string, 0, len(mgb.fns))
|
||||
for _, fn := range mgb.fns {
|
||||
aggregation = append(aggregation, fn(selector))
|
||||
}
|
||||
if len(selector.SelectedColumns()) == 0 {
|
||||
columns := make([]string, 0, len(*mgb.flds)+len(mgb.fns))
|
||||
for _, f := range *mgb.flds {
|
||||
columns = append(columns, selector.C(f))
|
||||
}
|
||||
columns = append(columns, aggregation...)
|
||||
selector.Select(columns...)
|
||||
}
|
||||
selector.GroupBy(selector.Columns(*mgb.flds...)...)
|
||||
if err := selector.Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
rows := &sql.Rows{}
|
||||
query, args := selector.Query()
|
||||
if err := mgb.build.driver.Query(ctx, query, args, rows); err != nil {
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
return sql.ScanSlice(rows, v)
|
||||
}
|
||||
|
||||
// MaSelect is the builder for selecting fields of Ma entities.
|
||||
type MaSelect struct {
|
||||
*MaQuery
|
||||
selector
|
||||
}
|
||||
|
||||
// Aggregate adds the given aggregation functions to the selector query.
|
||||
func (ms *MaSelect) Aggregate(fns ...AggregateFunc) *MaSelect {
|
||||
ms.fns = append(ms.fns, fns...)
|
||||
return ms
|
||||
}
|
||||
|
||||
// Scan applies the selector query and scans the result into the given value.
|
||||
func (ms *MaSelect) Scan(ctx context.Context, v any) error {
|
||||
ctx = setContextOp(ctx, ms.ctx, "Select")
|
||||
if err := ms.prepareQuery(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
return scanWithInterceptors[*MaQuery, *MaSelect](ctx, ms.MaQuery, ms, ms.inters, v)
|
||||
}
|
||||
|
||||
func (ms *MaSelect) sqlScan(ctx context.Context, root *MaQuery, v any) error {
|
||||
selector := root.sqlQuery(ctx)
|
||||
aggregation := make([]string, 0, len(ms.fns))
|
||||
for _, fn := range ms.fns {
|
||||
aggregation = append(aggregation, fn(selector))
|
||||
}
|
||||
switch n := len(*ms.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 := ms.driver.Query(ctx, query, args, rows); err != nil {
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
return sql.ScanSlice(rows, v)
|
||||
}
|
941
ent/ma_update.go
Normal file
941
ent/ma_update.go
Normal file
@ -0,0 +1,941 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ma"
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// MaUpdate is the builder for updating Ma entities.
|
||||
type MaUpdate struct {
|
||||
config
|
||||
hooks []Hook
|
||||
mutation *MaMutation
|
||||
}
|
||||
|
||||
// Where appends a list predicates to the MaUpdate builder.
|
||||
func (mu *MaUpdate) Where(ps ...predicate.Ma) *MaUpdate {
|
||||
mu.mutation.Where(ps...)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (mu *MaUpdate) SetToken(s string) *MaUpdate {
|
||||
mu.mutation.SetToken(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableToken(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetToken(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearToken clears the value of the "token" field.
|
||||
func (mu *MaUpdate) ClearToken() *MaUpdate {
|
||||
mu.mutation.ClearToken()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetLimit sets the "limit" field.
|
||||
func (mu *MaUpdate) SetLimit(b bool) *MaUpdate {
|
||||
mu.mutation.SetLimit(b)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableLimit sets the "limit" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableLimit(b *bool) *MaUpdate {
|
||||
if b != nil {
|
||||
mu.SetLimit(*b)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearLimit clears the value of the "limit" field.
|
||||
func (mu *MaUpdate) ClearLimit() *MaUpdate {
|
||||
mu.mutation.ClearLimit()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (mu *MaUpdate) SetCount(i int) *MaUpdate {
|
||||
mu.mutation.ResetCount()
|
||||
mu.mutation.SetCount(i)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableCount(i *int) *MaUpdate {
|
||||
if i != nil {
|
||||
mu.SetCount(*i)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// AddCount adds i to the "count" field.
|
||||
func (mu *MaUpdate) AddCount(i int) *MaUpdate {
|
||||
mu.mutation.AddCount(i)
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearCount clears the value of the "count" field.
|
||||
func (mu *MaUpdate) ClearCount() *MaUpdate {
|
||||
mu.mutation.ClearCount()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetHandle sets the "handle" field.
|
||||
func (mu *MaUpdate) SetHandle(s string) *MaUpdate {
|
||||
mu.mutation.SetHandle(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableHandle sets the "handle" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableHandle(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetHandle(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearHandle clears the value of the "handle" field.
|
||||
func (mu *MaUpdate) ClearHandle() *MaUpdate {
|
||||
mu.mutation.ClearHandle()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetText sets the "text" field.
|
||||
func (mu *MaUpdate) SetText(s string) *MaUpdate {
|
||||
mu.mutation.SetText(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableText sets the "text" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableText(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetText(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearText clears the value of the "text" field.
|
||||
func (mu *MaUpdate) ClearText() *MaUpdate {
|
||||
mu.mutation.ClearText()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetDid sets the "did" field.
|
||||
func (mu *MaUpdate) SetDid(s string) *MaUpdate {
|
||||
mu.mutation.SetDid(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableDid sets the "did" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableDid(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetDid(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearDid clears the value of the "did" field.
|
||||
func (mu *MaUpdate) ClearDid() *MaUpdate {
|
||||
mu.mutation.ClearDid()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetAvatar sets the "avatar" field.
|
||||
func (mu *MaUpdate) SetAvatar(s string) *MaUpdate {
|
||||
mu.mutation.SetAvatar(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableAvatar sets the "avatar" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableAvatar(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetAvatar(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearAvatar clears the value of the "avatar" field.
|
||||
func (mu *MaUpdate) ClearAvatar() *MaUpdate {
|
||||
mu.mutation.ClearAvatar()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetCid sets the "cid" field.
|
||||
func (mu *MaUpdate) SetCid(s string) *MaUpdate {
|
||||
mu.mutation.SetCid(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableCid sets the "cid" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableCid(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetCid(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearCid clears the value of the "cid" field.
|
||||
func (mu *MaUpdate) ClearCid() *MaUpdate {
|
||||
mu.mutation.ClearCid()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetURI sets the "uri" field.
|
||||
func (mu *MaUpdate) SetURI(s string) *MaUpdate {
|
||||
mu.mutation.SetURI(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableURI sets the "uri" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableURI(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetURI(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearURI clears the value of the "uri" field.
|
||||
func (mu *MaUpdate) ClearURI() *MaUpdate {
|
||||
mu.mutation.ClearURI()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetRkey sets the "rkey" field.
|
||||
func (mu *MaUpdate) SetRkey(s string) *MaUpdate {
|
||||
mu.mutation.SetRkey(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableRkey sets the "rkey" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableRkey(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetRkey(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearRkey clears the value of the "rkey" field.
|
||||
func (mu *MaUpdate) ClearRkey() *MaUpdate {
|
||||
mu.mutation.ClearRkey()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetBskyURL sets the "bsky_url" field.
|
||||
func (mu *MaUpdate) SetBskyURL(s string) *MaUpdate {
|
||||
mu.mutation.SetBskyURL(s)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableBskyURL sets the "bsky_url" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableBskyURL(s *string) *MaUpdate {
|
||||
if s != nil {
|
||||
mu.SetBskyURL(*s)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearBskyURL clears the value of the "bsky_url" field.
|
||||
func (mu *MaUpdate) ClearBskyURL() *MaUpdate {
|
||||
mu.mutation.ClearBskyURL()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetUpdatedAt sets the "updated_at" field.
|
||||
func (mu *MaUpdate) SetUpdatedAt(t time.Time) *MaUpdate {
|
||||
mu.mutation.SetUpdatedAt(t)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
|
||||
func (mu *MaUpdate) SetNillableUpdatedAt(t *time.Time) *MaUpdate {
|
||||
if t != nil {
|
||||
mu.SetUpdatedAt(*t)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearUpdatedAt clears the value of the "updated_at" field.
|
||||
func (mu *MaUpdate) ClearUpdatedAt() *MaUpdate {
|
||||
mu.mutation.ClearUpdatedAt()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetOwnerID sets the "owner" edge to the User entity by ID.
|
||||
func (mu *MaUpdate) SetOwnerID(id int) *MaUpdate {
|
||||
mu.mutation.SetOwnerID(id)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetOwner sets the "owner" edge to the User entity.
|
||||
func (mu *MaUpdate) SetOwner(u *User) *MaUpdate {
|
||||
return mu.SetOwnerID(u.ID)
|
||||
}
|
||||
|
||||
// Mutation returns the MaMutation object of the builder.
|
||||
func (mu *MaUpdate) Mutation() *MaMutation {
|
||||
return mu.mutation
|
||||
}
|
||||
|
||||
// ClearOwner clears the "owner" edge to the User entity.
|
||||
func (mu *MaUpdate) ClearOwner() *MaUpdate {
|
||||
mu.mutation.ClearOwner()
|
||||
return mu
|
||||
}
|
||||
|
||||
// Save executes the query and returns the number of nodes affected by the update operation.
|
||||
func (mu *MaUpdate) Save(ctx context.Context) (int, error) {
|
||||
return withHooks[int, MaMutation](ctx, mu.sqlSave, mu.mutation, mu.hooks)
|
||||
}
|
||||
|
||||
// SaveX is like Save, but panics if an error occurs.
|
||||
func (mu *MaUpdate) SaveX(ctx context.Context) int {
|
||||
affected, err := mu.Save(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return affected
|
||||
}
|
||||
|
||||
// Exec executes the query.
|
||||
func (mu *MaUpdate) Exec(ctx context.Context) error {
|
||||
_, err := mu.Save(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (mu *MaUpdate) ExecX(ctx context.Context) {
|
||||
if err := mu.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (mu *MaUpdate) check() error {
|
||||
if _, ok := mu.mutation.OwnerID(); mu.mutation.OwnerCleared() && !ok {
|
||||
return errors.New(`ent: clearing a required unique edge "Ma.owner"`)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mu *MaUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||
if err := mu.check(); err != nil {
|
||||
return n, err
|
||||
}
|
||||
_spec := sqlgraph.NewUpdateSpec(ma.Table, ma.Columns, sqlgraph.NewFieldSpec(ma.FieldID, field.TypeInt))
|
||||
if ps := mu.mutation.predicates; len(ps) > 0 {
|
||||
_spec.Predicate = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
if value, ok := mu.mutation.Token(); ok {
|
||||
_spec.SetField(ma.FieldToken, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.TokenCleared() {
|
||||
_spec.ClearField(ma.FieldToken, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.Limit(); ok {
|
||||
_spec.SetField(ma.FieldLimit, field.TypeBool, value)
|
||||
}
|
||||
if mu.mutation.LimitCleared() {
|
||||
_spec.ClearField(ma.FieldLimit, field.TypeBool)
|
||||
}
|
||||
if value, ok := mu.mutation.Count(); ok {
|
||||
_spec.SetField(ma.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := mu.mutation.AddedCount(); ok {
|
||||
_spec.AddField(ma.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if mu.mutation.CountCleared() {
|
||||
_spec.ClearField(ma.FieldCount, field.TypeInt)
|
||||
}
|
||||
if value, ok := mu.mutation.Handle(); ok {
|
||||
_spec.SetField(ma.FieldHandle, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.HandleCleared() {
|
||||
_spec.ClearField(ma.FieldHandle, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.Text(); ok {
|
||||
_spec.SetField(ma.FieldText, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.TextCleared() {
|
||||
_spec.ClearField(ma.FieldText, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.Did(); ok {
|
||||
_spec.SetField(ma.FieldDid, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.DidCleared() {
|
||||
_spec.ClearField(ma.FieldDid, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.Avatar(); ok {
|
||||
_spec.SetField(ma.FieldAvatar, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.AvatarCleared() {
|
||||
_spec.ClearField(ma.FieldAvatar, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.Cid(); ok {
|
||||
_spec.SetField(ma.FieldCid, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.CidCleared() {
|
||||
_spec.ClearField(ma.FieldCid, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.URI(); ok {
|
||||
_spec.SetField(ma.FieldURI, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.URICleared() {
|
||||
_spec.ClearField(ma.FieldURI, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.Rkey(); ok {
|
||||
_spec.SetField(ma.FieldRkey, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.RkeyCleared() {
|
||||
_spec.ClearField(ma.FieldRkey, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.BskyURL(); ok {
|
||||
_spec.SetField(ma.FieldBskyURL, field.TypeString, value)
|
||||
}
|
||||
if mu.mutation.BskyURLCleared() {
|
||||
_spec.ClearField(ma.FieldBskyURL, field.TypeString)
|
||||
}
|
||||
if value, ok := mu.mutation.UpdatedAt(); ok {
|
||||
_spec.SetField(ma.FieldUpdatedAt, field.TypeTime, value)
|
||||
}
|
||||
if mu.mutation.UpdatedAtCleared() {
|
||||
_spec.ClearField(ma.FieldUpdatedAt, field.TypeTime)
|
||||
}
|
||||
if mu.mutation.CreatedAtCleared() {
|
||||
_spec.ClearField(ma.FieldCreatedAt, field.TypeTime)
|
||||
}
|
||||
if mu.mutation.OwnerCleared() {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.M2O,
|
||||
Inverse: true,
|
||||
Table: ma.OwnerTable,
|
||||
Columns: []string{ma.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
|
||||
}
|
||||
if nodes := mu.mutation.OwnerIDs(); len(nodes) > 0 {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.M2O,
|
||||
Inverse: true,
|
||||
Table: ma.OwnerTable,
|
||||
Columns: []string{ma.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
edge.Target.Nodes = append(edge.Target.Nodes, k)
|
||||
}
|
||||
_spec.Edges.Add = append(_spec.Edges.Add, edge)
|
||||
}
|
||||
if n, err = sqlgraph.UpdateNodes(ctx, mu.driver, _spec); err != nil {
|
||||
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
||||
err = &NotFoundError{ma.Label}
|
||||
} else if sqlgraph.IsConstraintError(err) {
|
||||
err = &ConstraintError{msg: err.Error(), wrap: err}
|
||||
}
|
||||
return 0, err
|
||||
}
|
||||
mu.mutation.done = true
|
||||
return n, nil
|
||||
}
|
||||
|
||||
// MaUpdateOne is the builder for updating a single Ma entity.
|
||||
type MaUpdateOne struct {
|
||||
config
|
||||
fields []string
|
||||
hooks []Hook
|
||||
mutation *MaMutation
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (muo *MaUpdateOne) SetToken(s string) *MaUpdateOne {
|
||||
muo.mutation.SetToken(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableToken(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetToken(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearToken clears the value of the "token" field.
|
||||
func (muo *MaUpdateOne) ClearToken() *MaUpdateOne {
|
||||
muo.mutation.ClearToken()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetLimit sets the "limit" field.
|
||||
func (muo *MaUpdateOne) SetLimit(b bool) *MaUpdateOne {
|
||||
muo.mutation.SetLimit(b)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableLimit sets the "limit" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableLimit(b *bool) *MaUpdateOne {
|
||||
if b != nil {
|
||||
muo.SetLimit(*b)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearLimit clears the value of the "limit" field.
|
||||
func (muo *MaUpdateOne) ClearLimit() *MaUpdateOne {
|
||||
muo.mutation.ClearLimit()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (muo *MaUpdateOne) SetCount(i int) *MaUpdateOne {
|
||||
muo.mutation.ResetCount()
|
||||
muo.mutation.SetCount(i)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableCount(i *int) *MaUpdateOne {
|
||||
if i != nil {
|
||||
muo.SetCount(*i)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// AddCount adds i to the "count" field.
|
||||
func (muo *MaUpdateOne) AddCount(i int) *MaUpdateOne {
|
||||
muo.mutation.AddCount(i)
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearCount clears the value of the "count" field.
|
||||
func (muo *MaUpdateOne) ClearCount() *MaUpdateOne {
|
||||
muo.mutation.ClearCount()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetHandle sets the "handle" field.
|
||||
func (muo *MaUpdateOne) SetHandle(s string) *MaUpdateOne {
|
||||
muo.mutation.SetHandle(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableHandle sets the "handle" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableHandle(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetHandle(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearHandle clears the value of the "handle" field.
|
||||
func (muo *MaUpdateOne) ClearHandle() *MaUpdateOne {
|
||||
muo.mutation.ClearHandle()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetText sets the "text" field.
|
||||
func (muo *MaUpdateOne) SetText(s string) *MaUpdateOne {
|
||||
muo.mutation.SetText(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableText sets the "text" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableText(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetText(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearText clears the value of the "text" field.
|
||||
func (muo *MaUpdateOne) ClearText() *MaUpdateOne {
|
||||
muo.mutation.ClearText()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetDid sets the "did" field.
|
||||
func (muo *MaUpdateOne) SetDid(s string) *MaUpdateOne {
|
||||
muo.mutation.SetDid(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableDid sets the "did" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableDid(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetDid(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearDid clears the value of the "did" field.
|
||||
func (muo *MaUpdateOne) ClearDid() *MaUpdateOne {
|
||||
muo.mutation.ClearDid()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetAvatar sets the "avatar" field.
|
||||
func (muo *MaUpdateOne) SetAvatar(s string) *MaUpdateOne {
|
||||
muo.mutation.SetAvatar(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableAvatar sets the "avatar" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableAvatar(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetAvatar(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearAvatar clears the value of the "avatar" field.
|
||||
func (muo *MaUpdateOne) ClearAvatar() *MaUpdateOne {
|
||||
muo.mutation.ClearAvatar()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetCid sets the "cid" field.
|
||||
func (muo *MaUpdateOne) SetCid(s string) *MaUpdateOne {
|
||||
muo.mutation.SetCid(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableCid sets the "cid" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableCid(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetCid(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearCid clears the value of the "cid" field.
|
||||
func (muo *MaUpdateOne) ClearCid() *MaUpdateOne {
|
||||
muo.mutation.ClearCid()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetURI sets the "uri" field.
|
||||
func (muo *MaUpdateOne) SetURI(s string) *MaUpdateOne {
|
||||
muo.mutation.SetURI(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableURI sets the "uri" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableURI(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetURI(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearURI clears the value of the "uri" field.
|
||||
func (muo *MaUpdateOne) ClearURI() *MaUpdateOne {
|
||||
muo.mutation.ClearURI()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetRkey sets the "rkey" field.
|
||||
func (muo *MaUpdateOne) SetRkey(s string) *MaUpdateOne {
|
||||
muo.mutation.SetRkey(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableRkey sets the "rkey" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableRkey(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetRkey(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearRkey clears the value of the "rkey" field.
|
||||
func (muo *MaUpdateOne) ClearRkey() *MaUpdateOne {
|
||||
muo.mutation.ClearRkey()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetBskyURL sets the "bsky_url" field.
|
||||
func (muo *MaUpdateOne) SetBskyURL(s string) *MaUpdateOne {
|
||||
muo.mutation.SetBskyURL(s)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableBskyURL sets the "bsky_url" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableBskyURL(s *string) *MaUpdateOne {
|
||||
if s != nil {
|
||||
muo.SetBskyURL(*s)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearBskyURL clears the value of the "bsky_url" field.
|
||||
func (muo *MaUpdateOne) ClearBskyURL() *MaUpdateOne {
|
||||
muo.mutation.ClearBskyURL()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetUpdatedAt sets the "updated_at" field.
|
||||
func (muo *MaUpdateOne) SetUpdatedAt(t time.Time) *MaUpdateOne {
|
||||
muo.mutation.SetUpdatedAt(t)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
|
||||
func (muo *MaUpdateOne) SetNillableUpdatedAt(t *time.Time) *MaUpdateOne {
|
||||
if t != nil {
|
||||
muo.SetUpdatedAt(*t)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearUpdatedAt clears the value of the "updated_at" field.
|
||||
func (muo *MaUpdateOne) ClearUpdatedAt() *MaUpdateOne {
|
||||
muo.mutation.ClearUpdatedAt()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetOwnerID sets the "owner" edge to the User entity by ID.
|
||||
func (muo *MaUpdateOne) SetOwnerID(id int) *MaUpdateOne {
|
||||
muo.mutation.SetOwnerID(id)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetOwner sets the "owner" edge to the User entity.
|
||||
func (muo *MaUpdateOne) SetOwner(u *User) *MaUpdateOne {
|
||||
return muo.SetOwnerID(u.ID)
|
||||
}
|
||||
|
||||
// Mutation returns the MaMutation object of the builder.
|
||||
func (muo *MaUpdateOne) Mutation() *MaMutation {
|
||||
return muo.mutation
|
||||
}
|
||||
|
||||
// ClearOwner clears the "owner" edge to the User entity.
|
||||
func (muo *MaUpdateOne) ClearOwner() *MaUpdateOne {
|
||||
muo.mutation.ClearOwner()
|
||||
return muo
|
||||
}
|
||||
|
||||
// Where appends a list predicates to the MaUpdate builder.
|
||||
func (muo *MaUpdateOne) Where(ps ...predicate.Ma) *MaUpdateOne {
|
||||
muo.mutation.Where(ps...)
|
||||
return muo
|
||||
}
|
||||
|
||||
// Select allows selecting one or more fields (columns) of the returned entity.
|
||||
// The default is selecting all fields defined in the entity schema.
|
||||
func (muo *MaUpdateOne) Select(field string, fields ...string) *MaUpdateOne {
|
||||
muo.fields = append([]string{field}, fields...)
|
||||
return muo
|
||||
}
|
||||
|
||||
// Save executes the query and returns the updated Ma entity.
|
||||
func (muo *MaUpdateOne) Save(ctx context.Context) (*Ma, error) {
|
||||
return withHooks[*Ma, MaMutation](ctx, muo.sqlSave, muo.mutation, muo.hooks)
|
||||
}
|
||||
|
||||
// SaveX is like Save, but panics if an error occurs.
|
||||
func (muo *MaUpdateOne) SaveX(ctx context.Context) *Ma {
|
||||
node, err := muo.Save(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return node
|
||||
}
|
||||
|
||||
// Exec executes the query on the entity.
|
||||
func (muo *MaUpdateOne) Exec(ctx context.Context) error {
|
||||
_, err := muo.Save(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (muo *MaUpdateOne) ExecX(ctx context.Context) {
|
||||
if err := muo.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (muo *MaUpdateOne) check() error {
|
||||
if _, ok := muo.mutation.OwnerID(); muo.mutation.OwnerCleared() && !ok {
|
||||
return errors.New(`ent: clearing a required unique edge "Ma.owner"`)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (muo *MaUpdateOne) sqlSave(ctx context.Context) (_node *Ma, err error) {
|
||||
if err := muo.check(); err != nil {
|
||||
return _node, err
|
||||
}
|
||||
_spec := sqlgraph.NewUpdateSpec(ma.Table, ma.Columns, sqlgraph.NewFieldSpec(ma.FieldID, field.TypeInt))
|
||||
id, ok := muo.mutation.ID()
|
||||
if !ok {
|
||||
return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Ma.id" for update`)}
|
||||
}
|
||||
_spec.Node.ID.Value = id
|
||||
if fields := muo.fields; len(fields) > 0 {
|
||||
_spec.Node.Columns = make([]string, 0, len(fields))
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, ma.FieldID)
|
||||
for _, f := range fields {
|
||||
if !ma.ValidColumn(f) {
|
||||
return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
|
||||
}
|
||||
if f != ma.FieldID {
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, f)
|
||||
}
|
||||
}
|
||||
}
|
||||
if ps := muo.mutation.predicates; len(ps) > 0 {
|
||||
_spec.Predicate = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
if value, ok := muo.mutation.Token(); ok {
|
||||
_spec.SetField(ma.FieldToken, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.TokenCleared() {
|
||||
_spec.ClearField(ma.FieldToken, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.Limit(); ok {
|
||||
_spec.SetField(ma.FieldLimit, field.TypeBool, value)
|
||||
}
|
||||
if muo.mutation.LimitCleared() {
|
||||
_spec.ClearField(ma.FieldLimit, field.TypeBool)
|
||||
}
|
||||
if value, ok := muo.mutation.Count(); ok {
|
||||
_spec.SetField(ma.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if value, ok := muo.mutation.AddedCount(); ok {
|
||||
_spec.AddField(ma.FieldCount, field.TypeInt, value)
|
||||
}
|
||||
if muo.mutation.CountCleared() {
|
||||
_spec.ClearField(ma.FieldCount, field.TypeInt)
|
||||
}
|
||||
if value, ok := muo.mutation.Handle(); ok {
|
||||
_spec.SetField(ma.FieldHandle, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.HandleCleared() {
|
||||
_spec.ClearField(ma.FieldHandle, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.Text(); ok {
|
||||
_spec.SetField(ma.FieldText, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.TextCleared() {
|
||||
_spec.ClearField(ma.FieldText, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.Did(); ok {
|
||||
_spec.SetField(ma.FieldDid, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.DidCleared() {
|
||||
_spec.ClearField(ma.FieldDid, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.Avatar(); ok {
|
||||
_spec.SetField(ma.FieldAvatar, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.AvatarCleared() {
|
||||
_spec.ClearField(ma.FieldAvatar, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.Cid(); ok {
|
||||
_spec.SetField(ma.FieldCid, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.CidCleared() {
|
||||
_spec.ClearField(ma.FieldCid, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.URI(); ok {
|
||||
_spec.SetField(ma.FieldURI, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.URICleared() {
|
||||
_spec.ClearField(ma.FieldURI, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.Rkey(); ok {
|
||||
_spec.SetField(ma.FieldRkey, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.RkeyCleared() {
|
||||
_spec.ClearField(ma.FieldRkey, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.BskyURL(); ok {
|
||||
_spec.SetField(ma.FieldBskyURL, field.TypeString, value)
|
||||
}
|
||||
if muo.mutation.BskyURLCleared() {
|
||||
_spec.ClearField(ma.FieldBskyURL, field.TypeString)
|
||||
}
|
||||
if value, ok := muo.mutation.UpdatedAt(); ok {
|
||||
_spec.SetField(ma.FieldUpdatedAt, field.TypeTime, value)
|
||||
}
|
||||
if muo.mutation.UpdatedAtCleared() {
|
||||
_spec.ClearField(ma.FieldUpdatedAt, field.TypeTime)
|
||||
}
|
||||
if muo.mutation.CreatedAtCleared() {
|
||||
_spec.ClearField(ma.FieldCreatedAt, field.TypeTime)
|
||||
}
|
||||
if muo.mutation.OwnerCleared() {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.M2O,
|
||||
Inverse: true,
|
||||
Table: ma.OwnerTable,
|
||||
Columns: []string{ma.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
|
||||
}
|
||||
if nodes := muo.mutation.OwnerIDs(); len(nodes) > 0 {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.M2O,
|
||||
Inverse: true,
|
||||
Table: ma.OwnerTable,
|
||||
Columns: []string{ma.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
edge.Target.Nodes = append(edge.Target.Nodes, k)
|
||||
}
|
||||
_spec.Edges.Add = append(_spec.Edges.Add, edge)
|
||||
}
|
||||
_node = &Ma{config: muo.config}
|
||||
_spec.Assign = _node.assignValues
|
||||
_spec.ScanValues = _node.scanValues
|
||||
if err = sqlgraph.UpdateNode(ctx, muo.driver, _spec); err != nil {
|
||||
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
||||
err = &NotFoundError{ma.Label}
|
||||
} else if sqlgraph.IsConstraintError(err) {
|
||||
err = &ConstraintError{msg: err.Error(), wrap: err}
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
muo.mutation.done = true
|
||||
return _node, nil
|
||||
}
|
12
ent/migrate/migrations/20230405104340_migration_name.sql
Normal file
12
ent/migrate/migrations/20230405104340_migration_name.sql
Normal file
@ -0,0 +1,12 @@
|
||||
-- Create "cards" table
|
||||
CREATE TABLE `cards` (`id` integer NOT NULL PRIMARY KEY AUTOINCREMENT, `password` text NOT NULL, `card` integer NULL, `status` text NULL, `cp` integer NULL, `url` text NULL DEFAULT 'https://card.syui.ai', `created_at` datetime NULL, `user_card` integer NOT NULL, CONSTRAINT `cards_users_card` FOREIGN KEY (`user_card`) REFERENCES `users` (`id`) ON DELETE NO ACTION);
|
||||
-- Create "groups" table
|
||||
CREATE TABLE `groups` (`id` integer NOT NULL PRIMARY KEY AUTOINCREMENT, `name` text NOT NULL, `password` text NOT NULL);
|
||||
-- Create index "group_name" to table: "groups"
|
||||
CREATE UNIQUE INDEX `group_name` ON `groups` (`name`);
|
||||
-- Create "users" table
|
||||
CREATE TABLE `users` (`id` integer NOT NULL PRIMARY KEY AUTOINCREMENT, `username` text NOT NULL, `password` text NOT NULL, `created_at` datetime NULL, `updated_at` datetime NULL, `next` text NULL DEFAULT '20230405', `group_users` integer NULL, CONSTRAINT `users_groups_users` FOREIGN KEY (`group_users`) REFERENCES `groups` (`id`) ON DELETE SET NULL);
|
||||
-- Create index "users_username_key" to table: "users"
|
||||
CREATE UNIQUE INDEX `users_username_key` ON `users` (`username`);
|
||||
-- Create index "user_username" to table: "users"
|
||||
CREATE UNIQUE INDEX `user_username` ON `users` (`username`);
|
2
ent/migrate/migrations/atlas.sum
Normal file
2
ent/migrate/migrations/atlas.sum
Normal file
@ -0,0 +1,2 @@
|
||||
h1:GU79ffcSbQHeq4BLGuuAdObBOt0WLTcsQx+AucxEqkA=
|
||||
20230405104340_migration_name.sql h1:vlsZT8ob1qpLmBAGPqNBBG/iFact7wy1pb27tAavvRU=
|
@ -11,10 +11,15 @@ var (
|
||||
// CardsColumns holds the columns for the "cards" table.
|
||||
CardsColumns = []*schema.Column{
|
||||
{Name: "id", Type: field.TypeInt, Increment: true},
|
||||
{Name: "password", Type: field.TypeString},
|
||||
{Name: "card", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "skill", Type: field.TypeString, Nullable: true},
|
||||
{Name: "status", Type: field.TypeString, Nullable: true},
|
||||
{Name: "token", Type: field.TypeString, Nullable: true},
|
||||
{Name: "cp", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "url", Type: field.TypeString, Nullable: true, Default: "https://card.syui.ai"},
|
||||
{Name: "count", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "author", Type: field.TypeString, Nullable: true},
|
||||
{Name: "created_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "user_card", Type: field.TypeInt},
|
||||
}
|
||||
@ -26,7 +31,7 @@ var (
|
||||
ForeignKeys: []*schema.ForeignKey{
|
||||
{
|
||||
Symbol: "cards_users_card",
|
||||
Columns: []*schema.Column{CardsColumns[6]},
|
||||
Columns: []*schema.Column{CardsColumns[11]},
|
||||
RefColumns: []*schema.Column{UsersColumns[0]},
|
||||
OnDelete: schema.NoAction,
|
||||
},
|
||||
@ -36,6 +41,7 @@ var (
|
||||
GroupsColumns = []*schema.Column{
|
||||
{Name: "id", Type: field.TypeInt, Increment: true},
|
||||
{Name: "name", Type: field.TypeString},
|
||||
{Name: "password", Type: field.TypeString},
|
||||
}
|
||||
// GroupsTable holds the schema information for the "groups" table.
|
||||
GroupsTable = &schema.Table{
|
||||
@ -50,13 +56,130 @@ var (
|
||||
},
|
||||
},
|
||||
}
|
||||
// MasColumns holds the columns for the "mas" table.
|
||||
MasColumns = []*schema.Column{
|
||||
{Name: "id", Type: field.TypeInt, Increment: true},
|
||||
{Name: "password", Type: field.TypeString},
|
||||
{Name: "token", Type: field.TypeString, Nullable: true},
|
||||
{Name: "limit", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "count", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "handle", Type: field.TypeString, Nullable: true},
|
||||
{Name: "text", Type: field.TypeString, Nullable: true},
|
||||
{Name: "did", Type: field.TypeString, Nullable: true},
|
||||
{Name: "avatar", Type: field.TypeString, Nullable: true},
|
||||
{Name: "cid", Type: field.TypeString, Nullable: true},
|
||||
{Name: "uri", Type: field.TypeString, Nullable: true},
|
||||
{Name: "rkey", Type: field.TypeString, Nullable: true},
|
||||
{Name: "bsky_url", Type: field.TypeString, Nullable: true},
|
||||
{Name: "updated_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "created_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "user_ma", Type: field.TypeInt},
|
||||
}
|
||||
// MasTable holds the schema information for the "mas" table.
|
||||
MasTable = &schema.Table{
|
||||
Name: "mas",
|
||||
Columns: MasColumns,
|
||||
PrimaryKey: []*schema.Column{MasColumns[0]},
|
||||
ForeignKeys: []*schema.ForeignKey{
|
||||
{
|
||||
Symbol: "mas_users_ma",
|
||||
Columns: []*schema.Column{MasColumns[15]},
|
||||
RefColumns: []*schema.Column{UsersColumns[0]},
|
||||
OnDelete: schema.NoAction,
|
||||
},
|
||||
},
|
||||
}
|
||||
// UesColumns holds the columns for the "ues" table.
|
||||
UesColumns = []*schema.Column{
|
||||
{Name: "id", Type: field.TypeInt, Increment: true},
|
||||
{Name: "limit", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "limit_boss", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "limit_item", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "password", Type: field.TypeString},
|
||||
{Name: "lv", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "lv_point", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "sword", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "card", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "mode", Type: field.TypeString, Nullable: true},
|
||||
{Name: "token", Type: field.TypeString, Nullable: true},
|
||||
{Name: "cp", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "count", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "location_x", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "location_y", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "location_z", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "location_n", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "author", Type: field.TypeString, Nullable: true},
|
||||
{Name: "created_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "user_ue", Type: field.TypeInt},
|
||||
}
|
||||
// UesTable holds the schema information for the "ues" table.
|
||||
UesTable = &schema.Table{
|
||||
Name: "ues",
|
||||
Columns: UesColumns,
|
||||
PrimaryKey: []*schema.Column{UesColumns[0]},
|
||||
ForeignKeys: []*schema.ForeignKey{
|
||||
{
|
||||
Symbol: "ues_users_ue",
|
||||
Columns: []*schema.Column{UesColumns[20]},
|
||||
RefColumns: []*schema.Column{UsersColumns[0]},
|
||||
OnDelete: schema.NoAction,
|
||||
},
|
||||
},
|
||||
}
|
||||
// UsersColumns holds the columns for the "users" table.
|
||||
UsersColumns = []*schema.Column{
|
||||
{Name: "id", Type: field.TypeInt, Increment: true},
|
||||
{Name: "username", Type: field.TypeString, Unique: true, Size: 30},
|
||||
{Name: "username", Type: field.TypeString, Unique: true, Size: 100},
|
||||
{Name: "did", Type: field.TypeString, Nullable: true},
|
||||
{Name: "member", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "book", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "manga", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "badge", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "bsky", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "mastodon", Type: field.TypeBool, Nullable: true, Default: true},
|
||||
{Name: "delete", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "handle", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "token", Type: field.TypeString, Nullable: true},
|
||||
{Name: "password", Type: field.TypeString},
|
||||
{Name: "created_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "updated_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "next", Type: field.TypeString, Nullable: true, Default: "20230404"},
|
||||
{Name: "raid_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "server_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "egg_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "luck", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "luck_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "like", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "like_rank", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "like_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "fav", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "ten", Type: field.TypeBool, Nullable: true},
|
||||
{Name: "ten_su", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "ten_kai", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "aiten", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "ten_card", Type: field.TypeString, Nullable: true},
|
||||
{Name: "ten_delete", Type: field.TypeString, Nullable: true},
|
||||
{Name: "ten_post", Type: field.TypeString, Nullable: true},
|
||||
{Name: "ten_get", Type: field.TypeString, Nullable: true},
|
||||
{Name: "ten_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "next", Type: field.TypeString, Nullable: true, Default: "20240401"},
|
||||
{Name: "room", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model", Type: field.TypeBool, Nullable: true},
|
||||
{Name: "model_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "model_attack", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model_limit", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model_skill", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model_mode", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model_critical", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "model_critical_d", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "game", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "game_test", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "game_end", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "game_account", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "game_lv", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "coin", Type: field.TypeInt, Nullable: true},
|
||||
{Name: "coin_open", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "coin_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "group_users", Type: field.TypeInt, Nullable: true},
|
||||
}
|
||||
// UsersTable holds the schema information for the "users" table.
|
||||
@ -67,7 +190,7 @@ var (
|
||||
ForeignKeys: []*schema.ForeignKey{
|
||||
{
|
||||
Symbol: "users_groups_users",
|
||||
Columns: []*schema.Column{UsersColumns[5]},
|
||||
Columns: []*schema.Column{UsersColumns[51]},
|
||||
RefColumns: []*schema.Column{GroupsColumns[0]},
|
||||
OnDelete: schema.SetNull,
|
||||
},
|
||||
@ -84,11 +207,15 @@ var (
|
||||
Tables = []*schema.Table{
|
||||
CardsTable,
|
||||
GroupsTable,
|
||||
MasTable,
|
||||
UesTable,
|
||||
UsersTable,
|
||||
}
|
||||
)
|
||||
|
||||
func init() {
|
||||
CardsTable.ForeignKeys[0].RefTable = UsersTable
|
||||
MasTable.ForeignKeys[0].RefTable = UsersTable
|
||||
UesTable.ForeignKeys[0].RefTable = UsersTable
|
||||
UsersTable.ForeignKeys[0].RefTable = GroupsTable
|
||||
}
|
||||
|
8001
ent/mutation.go
8001
ent/mutation.go
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -9,6 +9,14 @@ type CreateGroupRes interface {
|
||||
createGroupRes()
|
||||
}
|
||||
|
||||
type CreateMaRes interface {
|
||||
createMaRes()
|
||||
}
|
||||
|
||||
type CreateUeRes interface {
|
||||
createUeRes()
|
||||
}
|
||||
|
||||
type CreateUserRes interface {
|
||||
createUserRes()
|
||||
}
|
||||
@ -21,6 +29,14 @@ type DeleteGroupRes interface {
|
||||
deleteGroupRes()
|
||||
}
|
||||
|
||||
type DeleteMaRes interface {
|
||||
deleteMaRes()
|
||||
}
|
||||
|
||||
type DeleteUeRes interface {
|
||||
deleteUeRes()
|
||||
}
|
||||
|
||||
type DeleteUserRes interface {
|
||||
deleteUserRes()
|
||||
}
|
||||
@ -37,14 +53,30 @@ type ListGroupUsersRes interface {
|
||||
listGroupUsersRes()
|
||||
}
|
||||
|
||||
type ListMaRes interface {
|
||||
listMaRes()
|
||||
}
|
||||
|
||||
type ListUeRes interface {
|
||||
listUeRes()
|
||||
}
|
||||
|
||||
type ListUserCardRes interface {
|
||||
listUserCardRes()
|
||||
}
|
||||
|
||||
type ListUserMaRes interface {
|
||||
listUserMaRes()
|
||||
}
|
||||
|
||||
type ListUserRes interface {
|
||||
listUserRes()
|
||||
}
|
||||
|
||||
type ListUserUeRes interface {
|
||||
listUserUeRes()
|
||||
}
|
||||
|
||||
type ReadCardOwnerRes interface {
|
||||
readCardOwnerRes()
|
||||
}
|
||||
@ -57,6 +89,22 @@ type ReadGroupRes interface {
|
||||
readGroupRes()
|
||||
}
|
||||
|
||||
type ReadMaOwnerRes interface {
|
||||
readMaOwnerRes()
|
||||
}
|
||||
|
||||
type ReadMaRes interface {
|
||||
readMaRes()
|
||||
}
|
||||
|
||||
type ReadUeOwnerRes interface {
|
||||
readUeOwnerRes()
|
||||
}
|
||||
|
||||
type ReadUeRes interface {
|
||||
readUeRes()
|
||||
}
|
||||
|
||||
type ReadUserRes interface {
|
||||
readUserRes()
|
||||
}
|
||||
@ -69,6 +117,14 @@ type UpdateGroupRes interface {
|
||||
updateGroupRes()
|
||||
}
|
||||
|
||||
type UpdateMaRes interface {
|
||||
updateMaRes()
|
||||
}
|
||||
|
||||
type UpdateUeRes interface {
|
||||
updateUeRes()
|
||||
}
|
||||
|
||||
type UpdateUserRes interface {
|
||||
updateUserRes()
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -141,6 +141,132 @@ func (s *Server) decodeCreateGroupRequest(r *http.Request) (
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) decodeCreateMaRequest(r *http.Request) (
|
||||
req *CreateMaReq,
|
||||
close func() error,
|
||||
rerr error,
|
||||
) {
|
||||
var closers []func() error
|
||||
close = func() error {
|
||||
var merr error
|
||||
// Close in reverse order, to match defer behavior.
|
||||
for i := len(closers) - 1; i >= 0; i-- {
|
||||
c := closers[i]
|
||||
merr = multierr.Append(merr, c())
|
||||
}
|
||||
return merr
|
||||
}
|
||||
defer func() {
|
||||
if rerr != nil {
|
||||
rerr = multierr.Append(rerr, close())
|
||||
}
|
||||
}()
|
||||
ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
|
||||
if err != nil {
|
||||
return req, close, errors.Wrap(err, "parse media type")
|
||||
}
|
||||
switch {
|
||||
case ct == "application/json":
|
||||
if r.ContentLength == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
buf, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
return req, close, err
|
||||
}
|
||||
|
||||
if len(buf) == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
|
||||
d := jx.DecodeBytes(buf)
|
||||
|
||||
var request CreateMaReq
|
||||
if err := func() error {
|
||||
if err := request.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := d.Skip(); err != io.EOF {
|
||||
return errors.New("unexpected trailing data")
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
err = &ogenerrors.DecodeBodyError{
|
||||
ContentType: ct,
|
||||
Body: buf,
|
||||
Err: err,
|
||||
}
|
||||
return req, close, err
|
||||
}
|
||||
return &request, close, nil
|
||||
default:
|
||||
return req, close, validate.InvalidContentType(ct)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) decodeCreateUeRequest(r *http.Request) (
|
||||
req *CreateUeReq,
|
||||
close func() error,
|
||||
rerr error,
|
||||
) {
|
||||
var closers []func() error
|
||||
close = func() error {
|
||||
var merr error
|
||||
// Close in reverse order, to match defer behavior.
|
||||
for i := len(closers) - 1; i >= 0; i-- {
|
||||
c := closers[i]
|
||||
merr = multierr.Append(merr, c())
|
||||
}
|
||||
return merr
|
||||
}
|
||||
defer func() {
|
||||
if rerr != nil {
|
||||
rerr = multierr.Append(rerr, close())
|
||||
}
|
||||
}()
|
||||
ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
|
||||
if err != nil {
|
||||
return req, close, errors.Wrap(err, "parse media type")
|
||||
}
|
||||
switch {
|
||||
case ct == "application/json":
|
||||
if r.ContentLength == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
buf, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
return req, close, err
|
||||
}
|
||||
|
||||
if len(buf) == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
|
||||
d := jx.DecodeBytes(buf)
|
||||
|
||||
var request CreateUeReq
|
||||
if err := func() error {
|
||||
if err := request.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := d.Skip(); err != io.EOF {
|
||||
return errors.New("unexpected trailing data")
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
err = &ogenerrors.DecodeBodyError{
|
||||
ContentType: ct,
|
||||
Body: buf,
|
||||
Err: err,
|
||||
}
|
||||
return req, close, err
|
||||
}
|
||||
return &request, close, nil
|
||||
default:
|
||||
return req, close, validate.InvalidContentType(ct)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) decodeCreateUserRequest(r *http.Request) (
|
||||
req *CreateUserReq,
|
||||
close func() error,
|
||||
@ -330,6 +456,132 @@ func (s *Server) decodeUpdateGroupRequest(r *http.Request) (
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) decodeUpdateMaRequest(r *http.Request) (
|
||||
req *UpdateMaReq,
|
||||
close func() error,
|
||||
rerr error,
|
||||
) {
|
||||
var closers []func() error
|
||||
close = func() error {
|
||||
var merr error
|
||||
// Close in reverse order, to match defer behavior.
|
||||
for i := len(closers) - 1; i >= 0; i-- {
|
||||
c := closers[i]
|
||||
merr = multierr.Append(merr, c())
|
||||
}
|
||||
return merr
|
||||
}
|
||||
defer func() {
|
||||
if rerr != nil {
|
||||
rerr = multierr.Append(rerr, close())
|
||||
}
|
||||
}()
|
||||
ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
|
||||
if err != nil {
|
||||
return req, close, errors.Wrap(err, "parse media type")
|
||||
}
|
||||
switch {
|
||||
case ct == "application/json":
|
||||
if r.ContentLength == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
buf, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
return req, close, err
|
||||
}
|
||||
|
||||
if len(buf) == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
|
||||
d := jx.DecodeBytes(buf)
|
||||
|
||||
var request UpdateMaReq
|
||||
if err := func() error {
|
||||
if err := request.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := d.Skip(); err != io.EOF {
|
||||
return errors.New("unexpected trailing data")
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
err = &ogenerrors.DecodeBodyError{
|
||||
ContentType: ct,
|
||||
Body: buf,
|
||||
Err: err,
|
||||
}
|
||||
return req, close, err
|
||||
}
|
||||
return &request, close, nil
|
||||
default:
|
||||
return req, close, validate.InvalidContentType(ct)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) decodeUpdateUeRequest(r *http.Request) (
|
||||
req *UpdateUeReq,
|
||||
close func() error,
|
||||
rerr error,
|
||||
) {
|
||||
var closers []func() error
|
||||
close = func() error {
|
||||
var merr error
|
||||
// Close in reverse order, to match defer behavior.
|
||||
for i := len(closers) - 1; i >= 0; i-- {
|
||||
c := closers[i]
|
||||
merr = multierr.Append(merr, c())
|
||||
}
|
||||
return merr
|
||||
}
|
||||
defer func() {
|
||||
if rerr != nil {
|
||||
rerr = multierr.Append(rerr, close())
|
||||
}
|
||||
}()
|
||||
ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type"))
|
||||
if err != nil {
|
||||
return req, close, errors.Wrap(err, "parse media type")
|
||||
}
|
||||
switch {
|
||||
case ct == "application/json":
|
||||
if r.ContentLength == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
buf, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
return req, close, err
|
||||
}
|
||||
|
||||
if len(buf) == 0 {
|
||||
return req, close, validate.ErrBodyRequired
|
||||
}
|
||||
|
||||
d := jx.DecodeBytes(buf)
|
||||
|
||||
var request UpdateUeReq
|
||||
if err := func() error {
|
||||
if err := request.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := d.Skip(); err != io.EOF {
|
||||
return errors.New("unexpected trailing data")
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
err = &ogenerrors.DecodeBodyError{
|
||||
ContentType: ct,
|
||||
Body: buf,
|
||||
Err: err,
|
||||
}
|
||||
return req, close, err
|
||||
}
|
||||
return &request, close, nil
|
||||
default:
|
||||
return req, close, validate.InvalidContentType(ct)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) decodeUpdateUserRequest(r *http.Request) (
|
||||
req *UpdateUserReq,
|
||||
close func() error,
|
||||
|
@ -39,6 +39,34 @@ func encodeCreateGroupRequest(
|
||||
return nil
|
||||
}
|
||||
|
||||
func encodeCreateMaRequest(
|
||||
req *CreateMaReq,
|
||||
r *http.Request,
|
||||
) error {
|
||||
const contentType = "application/json"
|
||||
e := jx.GetEncoder()
|
||||
{
|
||||
req.Encode(e)
|
||||
}
|
||||
encoded := e.Bytes()
|
||||
ht.SetBody(r, bytes.NewReader(encoded), contentType)
|
||||
return nil
|
||||
}
|
||||
|
||||
func encodeCreateUeRequest(
|
||||
req *CreateUeReq,
|
||||
r *http.Request,
|
||||
) error {
|
||||
const contentType = "application/json"
|
||||
e := jx.GetEncoder()
|
||||
{
|
||||
req.Encode(e)
|
||||
}
|
||||
encoded := e.Bytes()
|
||||
ht.SetBody(r, bytes.NewReader(encoded), contentType)
|
||||
return nil
|
||||
}
|
||||
|
||||
func encodeCreateUserRequest(
|
||||
req *CreateUserReq,
|
||||
r *http.Request,
|
||||
@ -81,6 +109,34 @@ func encodeUpdateGroupRequest(
|
||||
return nil
|
||||
}
|
||||
|
||||
func encodeUpdateMaRequest(
|
||||
req *UpdateMaReq,
|
||||
r *http.Request,
|
||||
) error {
|
||||
const contentType = "application/json"
|
||||
e := jx.GetEncoder()
|
||||
{
|
||||
req.Encode(e)
|
||||
}
|
||||
encoded := e.Bytes()
|
||||
ht.SetBody(r, bytes.NewReader(encoded), contentType)
|
||||
return nil
|
||||
}
|
||||
|
||||
func encodeUpdateUeRequest(
|
||||
req *UpdateUeReq,
|
||||
r *http.Request,
|
||||
) error {
|
||||
const contentType = "application/json"
|
||||
e := jx.GetEncoder()
|
||||
{
|
||||
req.Encode(e)
|
||||
}
|
||||
encoded := e.Bytes()
|
||||
ht.SetBody(r, bytes.NewReader(encoded), contentType)
|
||||
return nil
|
||||
}
|
||||
|
||||
func encodeUpdateUserRequest(
|
||||
req *UpdateUserReq,
|
||||
r *http.Request,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -121,6 +121,116 @@ func encodeCreateGroupResponse(response CreateGroupRes, w http.ResponseWriter, s
|
||||
}
|
||||
}
|
||||
|
||||
func encodeCreateMaResponse(response CreateMaRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *MaCreate:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeCreateUeResponse(response CreateUeRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UeCreate:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeCreateUserResponse(response CreateUserRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UserCreate:
|
||||
@ -298,6 +408,128 @@ func encodeDeleteGroupResponse(response DeleteGroupRes, w http.ResponseWriter, s
|
||||
}
|
||||
}
|
||||
|
||||
func encodeDeleteMaResponse(response DeleteMaRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *DeleteMaNoContent:
|
||||
w.WriteHeader(204)
|
||||
span.SetStatus(codes.Ok, http.StatusText(204))
|
||||
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeDeleteUeResponse(response DeleteUeRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *DeleteUeNoContent:
|
||||
w.WriteHeader(204)
|
||||
span.SetStatus(codes.Ok, http.StatusText(204))
|
||||
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeDeleteUserResponse(response DeleteUserRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *DeleteUserNoContent:
|
||||
@ -374,6 +606,7 @@ func encodeDrawStartResponse(response *DrawStartNoContent, w http.ResponseWriter
|
||||
}
|
||||
|
||||
func encodeListCardResponse(response ListCardRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *ListCardOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
@ -574,7 +807,143 @@ func encodeListGroupUsersResponse(response ListGroupUsersRes, w http.ResponseWri
|
||||
}
|
||||
}
|
||||
|
||||
func encodeListMaResponse(response ListMaRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://manga.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *ListMaOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeListUeResponse(response ListUeRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *ListUeOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeListUserResponse(response ListUserRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *ListUserOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
@ -642,6 +1011,7 @@ func encodeListUserResponse(response ListUserRes, w http.ResponseWriter, span tr
|
||||
}
|
||||
|
||||
func encodeListUserCardResponse(response ListUserCardRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *ListUserCardOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
@ -708,7 +1078,143 @@ func encodeListUserCardResponse(response ListUserCardRes, w http.ResponseWriter,
|
||||
}
|
||||
}
|
||||
|
||||
func encodeListUserMaResponse(response ListUserMaRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://manga.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *ListUserMaOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeListUserUeResponse(response ListUserUeRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *ListUserUeOKApplicationJSON:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeReadCardResponse(response ReadCardRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *CardRead:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
@ -776,6 +1282,7 @@ func encodeReadCardResponse(response ReadCardRes, w http.ResponseWriter, span tr
|
||||
}
|
||||
|
||||
func encodeReadCardOwnerResponse(response ReadCardOwnerRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *CardOwnerRead:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
@ -909,6 +1416,275 @@ func encodeReadGroupResponse(response ReadGroupRes, w http.ResponseWriter, span
|
||||
}
|
||||
}
|
||||
|
||||
func encodeReadMaResponse(response ReadMaRes, w http.ResponseWriter, span trace.Span) error {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "https://manga.syui.ai")
|
||||
switch response := response.(type) {
|
||||
case *MaRead:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeReadMaOwnerResponse(response ReadMaOwnerRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *MaOwnerRead:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeReadUeResponse(response ReadUeRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UeRead:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeReadUeOwnerResponse(response ReadUeOwnerRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UeOwnerRead:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeReadUserResponse(response ReadUserRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UserRead:
|
||||
@ -1110,6 +1886,140 @@ func encodeUpdateGroupResponse(response UpdateGroupRes, w http.ResponseWriter, s
|
||||
}
|
||||
}
|
||||
|
||||
func encodeUpdateMaResponse(response UpdateMaRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *MaUpdate:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeUpdateUeResponse(response UpdateUeRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UeUpdate:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
span.SetStatus(codes.Ok, http.StatusText(200))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R400:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
span.SetStatus(codes.Error, http.StatusText(400))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R404:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
span.SetStatus(codes.Error, http.StatusText(404))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R409:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(409)
|
||||
span.SetStatus(codes.Error, http.StatusText(409))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
case *R500:
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(500)
|
||||
span.SetStatus(codes.Error, http.StatusText(500))
|
||||
|
||||
e := jx.GetEncoder()
|
||||
response.Encode(e)
|
||||
if _, err := e.WriteTo(w); err != nil {
|
||||
return errors.Wrap(err, "write")
|
||||
}
|
||||
return nil
|
||||
|
||||
default:
|
||||
return errors.Errorf("unexpected response type: %T", response)
|
||||
}
|
||||
}
|
||||
|
||||
func encodeUpdateUserResponse(response UpdateUserRes, w http.ResponseWriter, span trace.Span) error {
|
||||
switch response := response.(type) {
|
||||
case *UserUpdate:
|
||||
|
@ -243,8 +243,8 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
}
|
||||
case 'u': // Prefix: "users"
|
||||
if l := len("users"); len(elem) >= l && elem[0:l] == "users" {
|
||||
case 'm': // Prefix: "mas"
|
||||
if l := len("mas"); len(elem) >= l && elem[0:l] == "mas" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
@ -253,9 +253,9 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUserRequest([0]string{}, w, r)
|
||||
s.handleListMaRequest([0]string{}, w, r)
|
||||
case "POST":
|
||||
s.handleCreateUserRequest([0]string{}, w, r)
|
||||
s.handleCreateMaRequest([0]string{}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET,POST")
|
||||
}
|
||||
@ -282,15 +282,15 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "DELETE":
|
||||
s.handleDeleteUserRequest([1]string{
|
||||
s.handleDeleteMaRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
case "GET":
|
||||
s.handleReadUserRequest([1]string{
|
||||
s.handleReadMaRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
case "PATCH":
|
||||
s.handleUpdateUserRequest([1]string{
|
||||
s.handleUpdateMaRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
@ -300,28 +300,98 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/card"
|
||||
if l := len("/card"); len(elem) >= l && elem[0:l] == "/card" {
|
||||
case '/': // Prefix: "/owner"
|
||||
if l := len("/owner"); len(elem) >= l && elem[0:l] == "/owner" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
// Leaf node.
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUserCardRequest([1]string{
|
||||
s.handleReadMaOwnerRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
case 'u': // Prefix: "u"
|
||||
if l := len("u"); len(elem) >= l && elem[0:l] == "u" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
break
|
||||
}
|
||||
switch elem[0] {
|
||||
case 'e': // Prefix: "es"
|
||||
if l := len("es"); len(elem) >= l && elem[0:l] == "es" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUeRequest([0]string{}, w, r)
|
||||
case "POST":
|
||||
s.handleCreateUeRequest([0]string{}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET,POST")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/"
|
||||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
// Param: "id"
|
||||
// Match until "/"
|
||||
idx := strings.IndexByte(elem, '/')
|
||||
if idx < 0 {
|
||||
idx = len(elem)
|
||||
}
|
||||
args[0] = elem[:idx]
|
||||
elem = elem[idx:]
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "DELETE":
|
||||
s.handleDeleteUeRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
case "GET":
|
||||
s.handleReadUeRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
case "PATCH":
|
||||
s.handleUpdateUeRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "DELETE,GET,PATCH")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/start"
|
||||
if l := len("/start"); len(elem) >= l && elem[0:l] == "/start" {
|
||||
case '/': // Prefix: "/owner"
|
||||
if l := len("/owner"); len(elem) >= l && elem[0:l] == "/owner" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
@ -330,18 +400,170 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
if len(elem) == 0 {
|
||||
// Leaf node.
|
||||
switch r.Method {
|
||||
case "PATCH":
|
||||
s.handleDrawStartRequest([1]string{
|
||||
case "GET":
|
||||
s.handleReadUeOwnerRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "PATCH")
|
||||
s.notAllowed(w, r, "GET")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
case 's': // Prefix: "sers"
|
||||
if l := len("sers"); len(elem) >= l && elem[0:l] == "sers" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUserRequest([0]string{}, w, r)
|
||||
case "POST":
|
||||
s.handleCreateUserRequest([0]string{}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET,POST")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/"
|
||||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
// Param: "id"
|
||||
// Match until "/"
|
||||
idx := strings.IndexByte(elem, '/')
|
||||
if idx < 0 {
|
||||
idx = len(elem)
|
||||
}
|
||||
args[0] = elem[:idx]
|
||||
elem = elem[idx:]
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "DELETE":
|
||||
s.handleDeleteUserRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
case "GET":
|
||||
s.handleReadUserRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
case "PATCH":
|
||||
s.handleUpdateUserRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "DELETE,GET,PATCH")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/"
|
||||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
break
|
||||
}
|
||||
switch elem[0] {
|
||||
case 'c': // Prefix: "card"
|
||||
if l := len("card"); len(elem) >= l && elem[0:l] == "card" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUserCardRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/start"
|
||||
if l := len("/start"); len(elem) >= l && elem[0:l] == "/start" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
// Leaf node.
|
||||
switch r.Method {
|
||||
case "PATCH":
|
||||
s.handleDrawStartRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "PATCH")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
case 'm': // Prefix: "ma"
|
||||
if l := len("ma"); len(elem) >= l && elem[0:l] == "ma" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
// Leaf node.
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUserMaRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
case 'u': // Prefix: "ue"
|
||||
if l := len("ue"); len(elem) >= l && elem[0:l] == "ue" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
// Leaf node.
|
||||
switch r.Method {
|
||||
case "GET":
|
||||
s.handleListUserUeRequest([1]string{
|
||||
args[0],
|
||||
}, w, r)
|
||||
default:
|
||||
s.notAllowed(w, r, "GET")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -647,8 +869,8 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
}
|
||||
}
|
||||
}
|
||||
case 'u': // Prefix: "users"
|
||||
if l := len("users"); len(elem) >= l && elem[0:l] == "users" {
|
||||
case 'm': // Prefix: "mas"
|
||||
if l := len("mas"); len(elem) >= l && elem[0:l] == "mas" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
@ -657,16 +879,16 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
r.name = "ListUser"
|
||||
r.operationID = "listUser"
|
||||
r.pathPattern = "/users"
|
||||
r.name = "ListMa"
|
||||
r.operationID = "listMa"
|
||||
r.pathPattern = "/mas"
|
||||
r.args = args
|
||||
r.count = 0
|
||||
return r, true
|
||||
case "POST":
|
||||
r.name = "CreateUser"
|
||||
r.operationID = "createUser"
|
||||
r.pathPattern = "/users"
|
||||
r.name = "CreateMa"
|
||||
r.operationID = "createMa"
|
||||
r.pathPattern = "/mas"
|
||||
r.args = args
|
||||
r.count = 0
|
||||
return r, true
|
||||
@ -694,23 +916,23 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "DELETE":
|
||||
r.name = "DeleteUser"
|
||||
r.operationID = "deleteUser"
|
||||
r.pathPattern = "/users/{id}"
|
||||
r.name = "DeleteMa"
|
||||
r.operationID = "deleteMa"
|
||||
r.pathPattern = "/mas/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
case "GET":
|
||||
r.name = "ReadUser"
|
||||
r.operationID = "readUser"
|
||||
r.pathPattern = "/users/{id}"
|
||||
r.name = "ReadMa"
|
||||
r.operationID = "readMa"
|
||||
r.pathPattern = "/mas/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
case "PATCH":
|
||||
r.name = "UpdateUser"
|
||||
r.operationID = "updateUser"
|
||||
r.pathPattern = "/users/{id}"
|
||||
r.name = "UpdateMa"
|
||||
r.operationID = "updateMa"
|
||||
r.pathPattern = "/mas/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
@ -719,8 +941,8 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
}
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/card"
|
||||
if l := len("/card"); len(elem) >= l && elem[0:l] == "/card" {
|
||||
case '/': // Prefix: "/owner"
|
||||
if l := len("/owner"); len(elem) >= l && elem[0:l] == "/owner" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
@ -729,9 +951,94 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
r.name = "ListUserCard"
|
||||
r.operationID = "listUserCard"
|
||||
r.pathPattern = "/users/{id}/card"
|
||||
// Leaf: ReadMaOwner
|
||||
r.name = "ReadMaOwner"
|
||||
r.operationID = "readMaOwner"
|
||||
r.pathPattern = "/mas/{id}/owner"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
case 'u': // Prefix: "u"
|
||||
if l := len("u"); len(elem) >= l && elem[0:l] == "u" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
break
|
||||
}
|
||||
switch elem[0] {
|
||||
case 'e': // Prefix: "es"
|
||||
if l := len("es"); len(elem) >= l && elem[0:l] == "es" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
r.name = "ListUe"
|
||||
r.operationID = "listUe"
|
||||
r.pathPattern = "/ues"
|
||||
r.args = args
|
||||
r.count = 0
|
||||
return r, true
|
||||
case "POST":
|
||||
r.name = "CreateUe"
|
||||
r.operationID = "createUe"
|
||||
r.pathPattern = "/ues"
|
||||
r.args = args
|
||||
r.count = 0
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/"
|
||||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
// Param: "id"
|
||||
// Match until "/"
|
||||
idx := strings.IndexByte(elem, '/')
|
||||
if idx < 0 {
|
||||
idx = len(elem)
|
||||
}
|
||||
args[0] = elem[:idx]
|
||||
elem = elem[idx:]
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "DELETE":
|
||||
r.name = "DeleteUe"
|
||||
r.operationID = "deleteUe"
|
||||
r.pathPattern = "/ues/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
case "GET":
|
||||
r.name = "ReadUe"
|
||||
r.operationID = "readUe"
|
||||
r.pathPattern = "/ues/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
case "PATCH":
|
||||
r.name = "UpdateUe"
|
||||
r.operationID = "updateUe"
|
||||
r.pathPattern = "/ues/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
@ -740,8 +1047,8 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
}
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/start"
|
||||
if l := len("/start"); len(elem) >= l && elem[0:l] == "/start" {
|
||||
case '/': // Prefix: "/owner"
|
||||
if l := len("/owner"); len(elem) >= l && elem[0:l] == "/owner" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
@ -749,11 +1056,11 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "PATCH":
|
||||
// Leaf: DrawStart
|
||||
r.name = "DrawStart"
|
||||
r.operationID = "drawStart"
|
||||
r.pathPattern = "/users/{id}/card/start"
|
||||
case "GET":
|
||||
// Leaf: ReadUeOwner
|
||||
r.name = "ReadUeOwner"
|
||||
r.operationID = "readUeOwner"
|
||||
r.pathPattern = "/ues/{id}/owner"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
@ -763,6 +1070,177 @@ func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool) {
|
||||
}
|
||||
}
|
||||
}
|
||||
case 's': // Prefix: "sers"
|
||||
if l := len("sers"); len(elem) >= l && elem[0:l] == "sers" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
r.name = "ListUser"
|
||||
r.operationID = "listUser"
|
||||
r.pathPattern = "/users"
|
||||
r.args = args
|
||||
r.count = 0
|
||||
return r, true
|
||||
case "POST":
|
||||
r.name = "CreateUser"
|
||||
r.operationID = "createUser"
|
||||
r.pathPattern = "/users"
|
||||
r.args = args
|
||||
r.count = 0
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/"
|
||||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
// Param: "id"
|
||||
// Match until "/"
|
||||
idx := strings.IndexByte(elem, '/')
|
||||
if idx < 0 {
|
||||
idx = len(elem)
|
||||
}
|
||||
args[0] = elem[:idx]
|
||||
elem = elem[idx:]
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "DELETE":
|
||||
r.name = "DeleteUser"
|
||||
r.operationID = "deleteUser"
|
||||
r.pathPattern = "/users/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
case "GET":
|
||||
r.name = "ReadUser"
|
||||
r.operationID = "readUser"
|
||||
r.pathPattern = "/users/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
case "PATCH":
|
||||
r.name = "UpdateUser"
|
||||
r.operationID = "updateUser"
|
||||
r.pathPattern = "/users/{id}"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/"
|
||||
if l := len("/"); len(elem) >= l && elem[0:l] == "/" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
break
|
||||
}
|
||||
switch elem[0] {
|
||||
case 'c': // Prefix: "card"
|
||||
if l := len("card"); len(elem) >= l && elem[0:l] == "card" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
r.name = "ListUserCard"
|
||||
r.operationID = "listUserCard"
|
||||
r.pathPattern = "/users/{id}/card"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
switch elem[0] {
|
||||
case '/': // Prefix: "/start"
|
||||
if l := len("/start"); len(elem) >= l && elem[0:l] == "/start" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "PATCH":
|
||||
// Leaf: DrawStart
|
||||
r.name = "DrawStart"
|
||||
r.operationID = "drawStart"
|
||||
r.pathPattern = "/users/{id}/card/start"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
case 'm': // Prefix: "ma"
|
||||
if l := len("ma"); len(elem) >= l && elem[0:l] == "ma" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
// Leaf: ListUserMa
|
||||
r.name = "ListUserMa"
|
||||
r.operationID = "listUserMa"
|
||||
r.pathPattern = "/users/{id}/ma"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
case 'u': // Prefix: "ue"
|
||||
if l := len("ue"); len(elem) >= l && elem[0:l] == "ue" {
|
||||
elem = elem[l:]
|
||||
} else {
|
||||
break
|
||||
}
|
||||
|
||||
if len(elem) == 0 {
|
||||
switch method {
|
||||
case "GET":
|
||||
// Leaf: ListUserUe
|
||||
r.name = "ListUserUe"
|
||||
r.operationID = "listUserUe"
|
||||
r.pathPattern = "/users/{id}/ue"
|
||||
r.args = args
|
||||
r.count = 1
|
||||
return r, true
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20,6 +20,18 @@ type Handler interface {
|
||||
//
|
||||
// POST /groups
|
||||
CreateGroup(ctx context.Context, req *CreateGroupReq) (CreateGroupRes, error)
|
||||
// CreateMa implements createMa operation.
|
||||
//
|
||||
// Creates a new Ma and persists it to storage.
|
||||
//
|
||||
// POST /mas
|
||||
CreateMa(ctx context.Context, req *CreateMaReq) (CreateMaRes, error)
|
||||
// CreateUe implements createUe operation.
|
||||
//
|
||||
// Creates a new Ue and persists it to storage.
|
||||
//
|
||||
// POST /ues
|
||||
CreateUe(ctx context.Context, req *CreateUeReq) (CreateUeRes, error)
|
||||
// CreateUser implements createUser operation.
|
||||
//
|
||||
// Creates a new User and persists it to storage.
|
||||
@ -38,6 +50,18 @@ type Handler interface {
|
||||
//
|
||||
// DELETE /groups/{id}
|
||||
DeleteGroup(ctx context.Context, params DeleteGroupParams) (DeleteGroupRes, error)
|
||||
// DeleteMa implements deleteMa operation.
|
||||
//
|
||||
// Deletes the Ma with the requested ID.
|
||||
//
|
||||
// DELETE /mas/{id}
|
||||
DeleteMa(ctx context.Context, params DeleteMaParams) (DeleteMaRes, error)
|
||||
// DeleteUe implements deleteUe operation.
|
||||
//
|
||||
// Deletes the Ue with the requested ID.
|
||||
//
|
||||
// DELETE /ues/{id}
|
||||
DeleteUe(ctx context.Context, params DeleteUeParams) (DeleteUeRes, error)
|
||||
// DeleteUser implements deleteUser operation.
|
||||
//
|
||||
// Deletes the User with the requested ID.
|
||||
@ -74,6 +98,18 @@ type Handler interface {
|
||||
//
|
||||
// GET /groups/{id}/users
|
||||
ListGroupUsers(ctx context.Context, params ListGroupUsersParams) (ListGroupUsersRes, error)
|
||||
// ListMa implements listMa operation.
|
||||
//
|
||||
// List Mas.
|
||||
//
|
||||
// GET /mas
|
||||
ListMa(ctx context.Context, params ListMaParams) (ListMaRes, error)
|
||||
// ListUe implements listUe operation.
|
||||
//
|
||||
// List Ues.
|
||||
//
|
||||
// GET /ues
|
||||
ListUe(ctx context.Context, params ListUeParams) (ListUeRes, error)
|
||||
// ListUser implements listUser operation.
|
||||
//
|
||||
// List Users.
|
||||
@ -86,6 +122,18 @@ type Handler interface {
|
||||
//
|
||||
// GET /users/{id}/card
|
||||
ListUserCard(ctx context.Context, params ListUserCardParams) (ListUserCardRes, error)
|
||||
// ListUserMa implements listUserMa operation.
|
||||
//
|
||||
// List attached Mas.
|
||||
//
|
||||
// GET /users/{id}/ma
|
||||
ListUserMa(ctx context.Context, params ListUserMaParams) (ListUserMaRes, error)
|
||||
// ListUserUe implements listUserUe operation.
|
||||
//
|
||||
// List attached Ues.
|
||||
//
|
||||
// GET /users/{id}/ue
|
||||
ListUserUe(ctx context.Context, params ListUserUeParams) (ListUserUeRes, error)
|
||||
// ReadCard implements readCard operation.
|
||||
//
|
||||
// Finds the Card with the requested ID and returns it.
|
||||
@ -104,6 +152,30 @@ type Handler interface {
|
||||
//
|
||||
// GET /groups/{id}
|
||||
ReadGroup(ctx context.Context, params ReadGroupParams) (ReadGroupRes, error)
|
||||
// ReadMa implements readMa operation.
|
||||
//
|
||||
// Finds the Ma with the requested ID and returns it.
|
||||
//
|
||||
// GET /mas/{id}
|
||||
ReadMa(ctx context.Context, params ReadMaParams) (ReadMaRes, error)
|
||||
// ReadMaOwner implements readMaOwner operation.
|
||||
//
|
||||
// Find the attached User of the Ma with the given ID.
|
||||
//
|
||||
// GET /mas/{id}/owner
|
||||
ReadMaOwner(ctx context.Context, params ReadMaOwnerParams) (ReadMaOwnerRes, error)
|
||||
// ReadUe implements readUe operation.
|
||||
//
|
||||
// Finds the Ue with the requested ID and returns it.
|
||||
//
|
||||
// GET /ues/{id}
|
||||
ReadUe(ctx context.Context, params ReadUeParams) (ReadUeRes, error)
|
||||
// ReadUeOwner implements readUeOwner operation.
|
||||
//
|
||||
// Find the attached User of the Ue with the given ID.
|
||||
//
|
||||
// GET /ues/{id}/owner
|
||||
ReadUeOwner(ctx context.Context, params ReadUeOwnerParams) (ReadUeOwnerRes, error)
|
||||
// ReadUser implements readUser operation.
|
||||
//
|
||||
// Finds the User with the requested ID and returns it.
|
||||
@ -122,6 +194,18 @@ type Handler interface {
|
||||
//
|
||||
// PATCH /groups/{id}
|
||||
UpdateGroup(ctx context.Context, req *UpdateGroupReq, params UpdateGroupParams) (UpdateGroupRes, error)
|
||||
// UpdateMa implements updateMa operation.
|
||||
//
|
||||
// Updates a Ma and persists changes to storage.
|
||||
//
|
||||
// PATCH /mas/{id}
|
||||
UpdateMa(ctx context.Context, req *UpdateMaReq, params UpdateMaParams) (UpdateMaRes, error)
|
||||
// UpdateUe implements updateUe operation.
|
||||
//
|
||||
// Updates a Ue and persists changes to storage.
|
||||
//
|
||||
// PATCH /ues/{id}
|
||||
UpdateUe(ctx context.Context, req *UpdateUeReq, params UpdateUeParams) (UpdateUeRes, error)
|
||||
// UpdateUser implements updateUser operation.
|
||||
//
|
||||
// Updates a User and persists changes to storage.
|
||||
|
@ -31,6 +31,24 @@ func (UnimplementedHandler) CreateGroup(ctx context.Context, req *CreateGroupReq
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// CreateMa implements createMa operation.
|
||||
//
|
||||
// Creates a new Ma and persists it to storage.
|
||||
//
|
||||
// POST /mas
|
||||
func (UnimplementedHandler) CreateMa(ctx context.Context, req *CreateMaReq) (r CreateMaRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// CreateUe implements createUe operation.
|
||||
//
|
||||
// Creates a new Ue and persists it to storage.
|
||||
//
|
||||
// POST /ues
|
||||
func (UnimplementedHandler) CreateUe(ctx context.Context, req *CreateUeReq) (r CreateUeRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// CreateUser implements createUser operation.
|
||||
//
|
||||
// Creates a new User and persists it to storage.
|
||||
@ -58,6 +76,24 @@ func (UnimplementedHandler) DeleteGroup(ctx context.Context, params DeleteGroupP
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// DeleteMa implements deleteMa operation.
|
||||
//
|
||||
// Deletes the Ma with the requested ID.
|
||||
//
|
||||
// DELETE /mas/{id}
|
||||
func (UnimplementedHandler) DeleteMa(ctx context.Context, params DeleteMaParams) (r DeleteMaRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// DeleteUe implements deleteUe operation.
|
||||
//
|
||||
// Deletes the Ue with the requested ID.
|
||||
//
|
||||
// DELETE /ues/{id}
|
||||
func (UnimplementedHandler) DeleteUe(ctx context.Context, params DeleteUeParams) (r DeleteUeRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// DeleteUser implements deleteUser operation.
|
||||
//
|
||||
// Deletes the User with the requested ID.
|
||||
@ -112,6 +148,24 @@ func (UnimplementedHandler) ListGroupUsers(ctx context.Context, params ListGroup
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ListMa implements listMa operation.
|
||||
//
|
||||
// List Mas.
|
||||
//
|
||||
// GET /mas
|
||||
func (UnimplementedHandler) ListMa(ctx context.Context, params ListMaParams) (r ListMaRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ListUe implements listUe operation.
|
||||
//
|
||||
// List Ues.
|
||||
//
|
||||
// GET /ues
|
||||
func (UnimplementedHandler) ListUe(ctx context.Context, params ListUeParams) (r ListUeRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ListUser implements listUser operation.
|
||||
//
|
||||
// List Users.
|
||||
@ -130,6 +184,24 @@ func (UnimplementedHandler) ListUserCard(ctx context.Context, params ListUserCar
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ListUserMa implements listUserMa operation.
|
||||
//
|
||||
// List attached Mas.
|
||||
//
|
||||
// GET /users/{id}/ma
|
||||
func (UnimplementedHandler) ListUserMa(ctx context.Context, params ListUserMaParams) (r ListUserMaRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ListUserUe implements listUserUe operation.
|
||||
//
|
||||
// List attached Ues.
|
||||
//
|
||||
// GET /users/{id}/ue
|
||||
func (UnimplementedHandler) ListUserUe(ctx context.Context, params ListUserUeParams) (r ListUserUeRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ReadCard implements readCard operation.
|
||||
//
|
||||
// Finds the Card with the requested ID and returns it.
|
||||
@ -157,6 +229,42 @@ func (UnimplementedHandler) ReadGroup(ctx context.Context, params ReadGroupParam
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ReadMa implements readMa operation.
|
||||
//
|
||||
// Finds the Ma with the requested ID and returns it.
|
||||
//
|
||||
// GET /mas/{id}
|
||||
func (UnimplementedHandler) ReadMa(ctx context.Context, params ReadMaParams) (r ReadMaRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ReadMaOwner implements readMaOwner operation.
|
||||
//
|
||||
// Find the attached User of the Ma with the given ID.
|
||||
//
|
||||
// GET /mas/{id}/owner
|
||||
func (UnimplementedHandler) ReadMaOwner(ctx context.Context, params ReadMaOwnerParams) (r ReadMaOwnerRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ReadUe implements readUe operation.
|
||||
//
|
||||
// Finds the Ue with the requested ID and returns it.
|
||||
//
|
||||
// GET /ues/{id}
|
||||
func (UnimplementedHandler) ReadUe(ctx context.Context, params ReadUeParams) (r ReadUeRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ReadUeOwner implements readUeOwner operation.
|
||||
//
|
||||
// Find the attached User of the Ue with the given ID.
|
||||
//
|
||||
// GET /ues/{id}/owner
|
||||
func (UnimplementedHandler) ReadUeOwner(ctx context.Context, params ReadUeOwnerParams) (r ReadUeOwnerRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// ReadUser implements readUser operation.
|
||||
//
|
||||
// Finds the User with the requested ID and returns it.
|
||||
@ -184,6 +292,24 @@ func (UnimplementedHandler) UpdateGroup(ctx context.Context, req *UpdateGroupReq
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// UpdateMa implements updateMa operation.
|
||||
//
|
||||
// Updates a Ma and persists changes to storage.
|
||||
//
|
||||
// PATCH /mas/{id}
|
||||
func (UnimplementedHandler) UpdateMa(ctx context.Context, req *UpdateMaReq, params UpdateMaParams) (r UpdateMaRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// UpdateUe implements updateUe operation.
|
||||
//
|
||||
// Updates a Ue and persists changes to storage.
|
||||
//
|
||||
// PATCH /ues/{id}
|
||||
func (UnimplementedHandler) UpdateUe(ctx context.Context, req *UpdateUeReq, params UpdateUeParams) (r UpdateUeRes, _ error) {
|
||||
return r, ht.ErrNotImplemented
|
||||
}
|
||||
|
||||
// UpdateUser implements updateUser operation.
|
||||
//
|
||||
// Updates a User and persists changes to storage.
|
||||
|
@ -24,15 +24,39 @@ func (s ListGroupUsersOKApplicationJSON) Validate() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (s ListMaOKApplicationJSON) Validate() error {
|
||||
if s == nil {
|
||||
return errors.New("nil is invalid value")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (s ListUeOKApplicationJSON) Validate() error {
|
||||
if s == nil {
|
||||
return errors.New("nil is invalid value")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (s ListUserCardOKApplicationJSON) Validate() error {
|
||||
if s == nil {
|
||||
return errors.New("nil is invalid value")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (s ListUserMaOKApplicationJSON) Validate() error {
|
||||
if s == nil {
|
||||
return errors.New("nil is invalid value")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (s ListUserOKApplicationJSON) Validate() error {
|
||||
if s == nil {
|
||||
return errors.New("nil is invalid value")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (s ListUserUeOKApplicationJSON) Validate() error {
|
||||
if s == nil {
|
||||
return errors.New("nil is invalid value")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
1037
ent/ogent/ogent.go
1037
ent/ogent/ogent.go
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
||||
|
||||
package ogent
|
||||
|
||||
import "t/ent"
|
||||
import "api/ent"
|
||||
|
||||
func NewCardCreate(e *ent.Card) *CardCreate {
|
||||
if e == nil {
|
||||
@ -11,9 +11,12 @@ func NewCardCreate(e *ent.Card) *CardCreate {
|
||||
var ret CardCreate
|
||||
ret.ID = e.ID
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Skill = NewOptString(e.Skill)
|
||||
ret.Status = NewOptString(e.Status)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.URL = NewOptString(e.URL)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
@ -43,9 +46,12 @@ func NewCardList(e *ent.Card) *CardList {
|
||||
var ret CardList
|
||||
ret.ID = e.ID
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Skill = NewOptString(e.Skill)
|
||||
ret.Status = NewOptString(e.Status)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.URL = NewOptString(e.URL)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
@ -75,9 +81,12 @@ func NewCardRead(e *ent.Card) *CardRead {
|
||||
var ret CardRead
|
||||
ret.ID = e.ID
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Skill = NewOptString(e.Skill)
|
||||
ret.Status = NewOptString(e.Status)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.URL = NewOptString(e.URL)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
@ -107,9 +116,12 @@ func NewCardUpdate(e *ent.Card) *CardUpdate {
|
||||
var ret CardUpdate
|
||||
ret.ID = e.ID
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Skill = NewOptString(e.Skill)
|
||||
ret.Status = NewOptString(e.Status)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.URL = NewOptString(e.URL)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
@ -139,9 +151,53 @@ func NewCardOwnerRead(e *ent.User) *CardOwnerRead {
|
||||
var ret CardOwnerRead
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
@ -282,9 +338,53 @@ func NewGroupUsersList(e *ent.User) *GroupUsersList {
|
||||
var ret GroupUsersList
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
@ -306,6 +406,488 @@ func (u *GroupUsersList) Elem() GroupUsersList {
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewMaCreate(e *ent.Ma) *MaCreate {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret MaCreate
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Handle = NewOptString(e.Handle)
|
||||
ret.Text = NewOptString(e.Text)
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Avatar = NewOptString(e.Avatar)
|
||||
ret.Cid = NewOptString(e.Cid)
|
||||
ret.URI = NewOptString(e.URI)
|
||||
ret.Rkey = NewOptString(e.Rkey)
|
||||
ret.BskyURL = NewOptString(e.BskyURL)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewMaCreates(es []*ent.Ma) []MaCreate {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]MaCreate, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewMaCreate(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (m *MaCreate) Elem() MaCreate {
|
||||
if m == nil {
|
||||
return MaCreate{}
|
||||
}
|
||||
return *m
|
||||
}
|
||||
|
||||
func NewMaList(e *ent.Ma) *MaList {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret MaList
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Handle = NewOptString(e.Handle)
|
||||
ret.Text = NewOptString(e.Text)
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Avatar = NewOptString(e.Avatar)
|
||||
ret.Cid = NewOptString(e.Cid)
|
||||
ret.URI = NewOptString(e.URI)
|
||||
ret.Rkey = NewOptString(e.Rkey)
|
||||
ret.BskyURL = NewOptString(e.BskyURL)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewMaLists(es []*ent.Ma) []MaList {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]MaList, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewMaList(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (m *MaList) Elem() MaList {
|
||||
if m == nil {
|
||||
return MaList{}
|
||||
}
|
||||
return *m
|
||||
}
|
||||
|
||||
func NewMaRead(e *ent.Ma) *MaRead {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret MaRead
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Handle = NewOptString(e.Handle)
|
||||
ret.Text = NewOptString(e.Text)
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Avatar = NewOptString(e.Avatar)
|
||||
ret.Cid = NewOptString(e.Cid)
|
||||
ret.URI = NewOptString(e.URI)
|
||||
ret.Rkey = NewOptString(e.Rkey)
|
||||
ret.BskyURL = NewOptString(e.BskyURL)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewMaReads(es []*ent.Ma) []MaRead {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]MaRead, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewMaRead(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (m *MaRead) Elem() MaRead {
|
||||
if m == nil {
|
||||
return MaRead{}
|
||||
}
|
||||
return *m
|
||||
}
|
||||
|
||||
func NewMaUpdate(e *ent.Ma) *MaUpdate {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret MaUpdate
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Handle = NewOptString(e.Handle)
|
||||
ret.Text = NewOptString(e.Text)
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Avatar = NewOptString(e.Avatar)
|
||||
ret.Cid = NewOptString(e.Cid)
|
||||
ret.URI = NewOptString(e.URI)
|
||||
ret.Rkey = NewOptString(e.Rkey)
|
||||
ret.BskyURL = NewOptString(e.BskyURL)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewMaUpdates(es []*ent.Ma) []MaUpdate {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]MaUpdate, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewMaUpdate(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (m *MaUpdate) Elem() MaUpdate {
|
||||
if m == nil {
|
||||
return MaUpdate{}
|
||||
}
|
||||
return *m
|
||||
}
|
||||
|
||||
func NewMaOwnerRead(e *ent.User) *MaOwnerRead {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret MaOwnerRead
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewMaOwnerReads(es []*ent.User) []MaOwnerRead {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]MaOwnerRead, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewMaOwnerRead(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *MaOwnerRead) Elem() MaOwnerRead {
|
||||
if u == nil {
|
||||
return MaOwnerRead{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewUeCreate(e *ent.Ue) *UeCreate {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UeCreate
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.LimitBoss = NewOptBool(e.LimitBoss)
|
||||
ret.LimitItem = NewOptBool(e.LimitItem)
|
||||
ret.Lv = NewOptInt(e.Lv)
|
||||
ret.LvPoint = NewOptInt(e.LvPoint)
|
||||
ret.Model = NewOptInt(e.Model)
|
||||
ret.Sword = NewOptInt(e.Sword)
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Mode = NewOptString(e.Mode)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.LocationX = NewOptInt(e.LocationX)
|
||||
ret.LocationY = NewOptInt(e.LocationY)
|
||||
ret.LocationZ = NewOptInt(e.LocationZ)
|
||||
ret.LocationN = NewOptInt(e.LocationN)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUeCreates(es []*ent.Ue) []UeCreate {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UeCreate, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUeCreate(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *UeCreate) Elem() UeCreate {
|
||||
if u == nil {
|
||||
return UeCreate{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewUeList(e *ent.Ue) *UeList {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UeList
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.LimitBoss = NewOptBool(e.LimitBoss)
|
||||
ret.LimitItem = NewOptBool(e.LimitItem)
|
||||
ret.Lv = NewOptInt(e.Lv)
|
||||
ret.LvPoint = NewOptInt(e.LvPoint)
|
||||
ret.Model = NewOptInt(e.Model)
|
||||
ret.Sword = NewOptInt(e.Sword)
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Mode = NewOptString(e.Mode)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.LocationX = NewOptInt(e.LocationX)
|
||||
ret.LocationY = NewOptInt(e.LocationY)
|
||||
ret.LocationZ = NewOptInt(e.LocationZ)
|
||||
ret.LocationN = NewOptInt(e.LocationN)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUeLists(es []*ent.Ue) []UeList {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UeList, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUeList(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *UeList) Elem() UeList {
|
||||
if u == nil {
|
||||
return UeList{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewUeRead(e *ent.Ue) *UeRead {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UeRead
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.LimitBoss = NewOptBool(e.LimitBoss)
|
||||
ret.LimitItem = NewOptBool(e.LimitItem)
|
||||
ret.Lv = NewOptInt(e.Lv)
|
||||
ret.LvPoint = NewOptInt(e.LvPoint)
|
||||
ret.Model = NewOptInt(e.Model)
|
||||
ret.Sword = NewOptInt(e.Sword)
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Mode = NewOptString(e.Mode)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.LocationX = NewOptInt(e.LocationX)
|
||||
ret.LocationY = NewOptInt(e.LocationY)
|
||||
ret.LocationZ = NewOptInt(e.LocationZ)
|
||||
ret.LocationN = NewOptInt(e.LocationN)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUeReads(es []*ent.Ue) []UeRead {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UeRead, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUeRead(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *UeRead) Elem() UeRead {
|
||||
if u == nil {
|
||||
return UeRead{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewUeUpdate(e *ent.Ue) *UeUpdate {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UeUpdate
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.LimitBoss = NewOptBool(e.LimitBoss)
|
||||
ret.LimitItem = NewOptBool(e.LimitItem)
|
||||
ret.Lv = NewOptInt(e.Lv)
|
||||
ret.LvPoint = NewOptInt(e.LvPoint)
|
||||
ret.Model = NewOptInt(e.Model)
|
||||
ret.Sword = NewOptInt(e.Sword)
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Mode = NewOptString(e.Mode)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.LocationX = NewOptInt(e.LocationX)
|
||||
ret.LocationY = NewOptInt(e.LocationY)
|
||||
ret.LocationZ = NewOptInt(e.LocationZ)
|
||||
ret.LocationN = NewOptInt(e.LocationN)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUeUpdates(es []*ent.Ue) []UeUpdate {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UeUpdate, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUeUpdate(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *UeUpdate) Elem() UeUpdate {
|
||||
if u == nil {
|
||||
return UeUpdate{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewUeOwnerRead(e *ent.User) *UeOwnerRead {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UeOwnerRead
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUeOwnerReads(es []*ent.User) []UeOwnerRead {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UeOwnerRead, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUeOwnerRead(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *UeOwnerRead) Elem() UeOwnerRead {
|
||||
if u == nil {
|
||||
return UeOwnerRead{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
||||
func NewUserCreate(e *ent.User) *UserCreate {
|
||||
if e == nil {
|
||||
return nil
|
||||
@ -313,9 +895,53 @@ func NewUserCreate(e *ent.User) *UserCreate {
|
||||
var ret UserCreate
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
@ -344,9 +970,53 @@ func NewUserList(e *ent.User) *UserList {
|
||||
var ret UserList
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
@ -375,9 +1045,53 @@ func NewUserRead(e *ent.User) *UserRead {
|
||||
var ret UserRead
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
@ -406,9 +1120,53 @@ func NewUserUpdate(e *ent.User) *UserUpdate {
|
||||
var ret UserUpdate
|
||||
ret.ID = e.ID
|
||||
ret.Username = e.Username
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Member = NewOptBool(e.Member)
|
||||
ret.Book = NewOptBool(e.Book)
|
||||
ret.Manga = NewOptBool(e.Manga)
|
||||
ret.Badge = NewOptBool(e.Badge)
|
||||
ret.Bsky = NewOptBool(e.Bsky)
|
||||
ret.Mastodon = NewOptBool(e.Mastodon)
|
||||
ret.Delete = NewOptBool(e.Delete)
|
||||
ret.Handle = NewOptBool(e.Handle)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.RaidAt = NewOptDateTime(e.RaidAt)
|
||||
ret.ServerAt = NewOptDateTime(e.ServerAt)
|
||||
ret.EggAt = NewOptDateTime(e.EggAt)
|
||||
ret.Luck = NewOptInt(e.Luck)
|
||||
ret.LuckAt = NewOptDateTime(e.LuckAt)
|
||||
ret.Like = NewOptInt(e.Like)
|
||||
ret.LikeRank = NewOptInt(e.LikeRank)
|
||||
ret.LikeAt = NewOptDateTime(e.LikeAt)
|
||||
ret.Fav = NewOptInt(e.Fav)
|
||||
ret.Ten = NewOptBool(e.Ten)
|
||||
ret.TenSu = NewOptInt(e.TenSu)
|
||||
ret.TenKai = NewOptInt(e.TenKai)
|
||||
ret.Aiten = NewOptInt(e.Aiten)
|
||||
ret.TenCard = NewOptString(e.TenCard)
|
||||
ret.TenDelete = NewOptString(e.TenDelete)
|
||||
ret.TenPost = NewOptString(e.TenPost)
|
||||
ret.TenGet = NewOptString(e.TenGet)
|
||||
ret.TenAt = NewOptDateTime(e.TenAt)
|
||||
ret.Next = NewOptString(e.Next)
|
||||
ret.Room = NewOptInt(e.Room)
|
||||
ret.Model = NewOptBool(e.Model)
|
||||
ret.ModelAt = NewOptDateTime(e.ModelAt)
|
||||
ret.ModelAttack = NewOptInt(e.ModelAttack)
|
||||
ret.ModelLimit = NewOptInt(e.ModelLimit)
|
||||
ret.ModelSkill = NewOptInt(e.ModelSkill)
|
||||
ret.ModelMode = NewOptInt(e.ModelMode)
|
||||
ret.ModelCritical = NewOptInt(e.ModelCritical)
|
||||
ret.ModelCriticalD = NewOptInt(e.ModelCriticalD)
|
||||
ret.Game = NewOptBool(e.Game)
|
||||
ret.GameTest = NewOptBool(e.GameTest)
|
||||
ret.GameEnd = NewOptBool(e.GameEnd)
|
||||
ret.GameAccount = NewOptBool(e.GameAccount)
|
||||
ret.GameLv = NewOptInt(e.GameLv)
|
||||
ret.Coin = NewOptInt(e.Coin)
|
||||
ret.CoinOpen = NewOptBool(e.CoinOpen)
|
||||
ret.CoinAt = NewOptDateTime(e.CoinAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
@ -437,9 +1195,12 @@ func NewUserCardList(e *ent.Card) *UserCardList {
|
||||
var ret UserCardList
|
||||
ret.ID = e.ID
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Skill = NewOptString(e.Skill)
|
||||
ret.Status = NewOptString(e.Status)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.URL = NewOptString(e.URL)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
@ -461,3 +1222,86 @@ func (c *UserCardList) Elem() UserCardList {
|
||||
}
|
||||
return *c
|
||||
}
|
||||
|
||||
func NewUserMaList(e *ent.Ma) *UserMaList {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UserMaList
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.Handle = NewOptString(e.Handle)
|
||||
ret.Text = NewOptString(e.Text)
|
||||
ret.Did = NewOptString(e.Did)
|
||||
ret.Avatar = NewOptString(e.Avatar)
|
||||
ret.Cid = NewOptString(e.Cid)
|
||||
ret.URI = NewOptString(e.URI)
|
||||
ret.Rkey = NewOptString(e.Rkey)
|
||||
ret.BskyURL = NewOptString(e.BskyURL)
|
||||
ret.UpdatedAt = NewOptDateTime(e.UpdatedAt)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUserMaLists(es []*ent.Ma) []UserMaList {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UserMaList, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUserMaList(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (m *UserMaList) Elem() UserMaList {
|
||||
if m == nil {
|
||||
return UserMaList{}
|
||||
}
|
||||
return *m
|
||||
}
|
||||
|
||||
func NewUserUeList(e *ent.Ue) *UserUeList {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
var ret UserUeList
|
||||
ret.ID = e.ID
|
||||
ret.Limit = NewOptBool(e.Limit)
|
||||
ret.LimitBoss = NewOptBool(e.LimitBoss)
|
||||
ret.LimitItem = NewOptBool(e.LimitItem)
|
||||
ret.Lv = NewOptInt(e.Lv)
|
||||
ret.LvPoint = NewOptInt(e.LvPoint)
|
||||
ret.Model = NewOptInt(e.Model)
|
||||
ret.Sword = NewOptInt(e.Sword)
|
||||
ret.Card = NewOptInt(e.Card)
|
||||
ret.Mode = NewOptString(e.Mode)
|
||||
ret.Cp = NewOptInt(e.Cp)
|
||||
ret.Count = NewOptInt(e.Count)
|
||||
ret.LocationX = NewOptInt(e.LocationX)
|
||||
ret.LocationY = NewOptInt(e.LocationY)
|
||||
ret.LocationZ = NewOptInt(e.LocationZ)
|
||||
ret.LocationN = NewOptInt(e.LocationN)
|
||||
ret.Author = NewOptString(e.Author)
|
||||
ret.CreatedAt = NewOptDateTime(e.CreatedAt)
|
||||
return &ret
|
||||
}
|
||||
|
||||
func NewUserUeLists(es []*ent.Ue) []UserUeList {
|
||||
if len(es) == 0 {
|
||||
return nil
|
||||
}
|
||||
r := make([]UserUeList, len(es))
|
||||
for i, e := range es {
|
||||
r[i] = NewUserUeList(e).Elem()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (u *UserUeList) Elem() UserUeList {
|
||||
if u == nil {
|
||||
return UserUeList{}
|
||||
}
|
||||
return *u
|
||||
}
|
||||
|
3364
ent/openapi.json
3364
ent/openapi.json
File diff suppressed because it is too large
Load Diff
@ -12,5 +12,11 @@ type Card func(*sql.Selector)
|
||||
// Group is the predicate function for group builders.
|
||||
type Group func(*sql.Selector)
|
||||
|
||||
// Ma is the predicate function for ma builders.
|
||||
type Ma func(*sql.Selector)
|
||||
|
||||
// Ue is the predicate function for ue builders.
|
||||
type Ue func(*sql.Selector)
|
||||
|
||||
// User is the predicate function for user builders.
|
||||
type User func(*sql.Selector)
|
||||
|
163
ent/runtime.go
163
ent/runtime.go
@ -3,9 +3,12 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"t/ent/card"
|
||||
"t/ent/schema"
|
||||
"t/ent/user"
|
||||
"api/ent/card"
|
||||
"api/ent/group"
|
||||
"api/ent/ma"
|
||||
"api/ent/schema"
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -15,26 +18,76 @@ import (
|
||||
func init() {
|
||||
cardFields := schema.Card{}.Fields()
|
||||
_ = cardFields
|
||||
// cardDescPassword is the schema descriptor for password field.
|
||||
cardDescPassword := cardFields[0].Descriptor()
|
||||
// card.PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
card.PasswordValidator = cardDescPassword.Validators[0].(func(string) error)
|
||||
// cardDescCard is the schema descriptor for card field.
|
||||
cardDescCard := cardFields[0].Descriptor()
|
||||
cardDescCard := cardFields[1].Descriptor()
|
||||
// card.DefaultCard holds the default value on creation for the card field.
|
||||
card.DefaultCard = cardDescCard.Default.(func() int)
|
||||
// cardDescSkill is the schema descriptor for skill field.
|
||||
cardDescSkill := cardFields[2].Descriptor()
|
||||
// card.DefaultSkill holds the default value on creation for the skill field.
|
||||
card.DefaultSkill = cardDescSkill.Default.(func() string)
|
||||
// cardDescStatus is the schema descriptor for status field.
|
||||
cardDescStatus := cardFields[1].Descriptor()
|
||||
cardDescStatus := cardFields[3].Descriptor()
|
||||
// card.DefaultStatus holds the default value on creation for the status field.
|
||||
card.DefaultStatus = cardDescStatus.Default.(func() string)
|
||||
// cardDescCp is the schema descriptor for cp field.
|
||||
cardDescCp := cardFields[2].Descriptor()
|
||||
cardDescCp := cardFields[5].Descriptor()
|
||||
// card.DefaultCp holds the default value on creation for the cp field.
|
||||
card.DefaultCp = cardDescCp.Default.(func() int)
|
||||
// cardDescURL is the schema descriptor for url field.
|
||||
cardDescURL := cardFields[3].Descriptor()
|
||||
cardDescURL := cardFields[6].Descriptor()
|
||||
// card.DefaultURL holds the default value on creation for the url field.
|
||||
card.DefaultURL = cardDescURL.Default.(string)
|
||||
// cardDescCreatedAt is the schema descriptor for created_at field.
|
||||
cardDescCreatedAt := cardFields[4].Descriptor()
|
||||
cardDescCreatedAt := cardFields[9].Descriptor()
|
||||
// card.DefaultCreatedAt holds the default value on creation for the created_at field.
|
||||
card.DefaultCreatedAt = cardDescCreatedAt.Default.(func() time.Time)
|
||||
groupFields := schema.Group{}.Fields()
|
||||
_ = groupFields
|
||||
// groupDescPassword is the schema descriptor for password field.
|
||||
groupDescPassword := groupFields[1].Descriptor()
|
||||
// group.PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
group.PasswordValidator = groupDescPassword.Validators[0].(func(string) error)
|
||||
maFields := schema.Ma{}.Fields()
|
||||
_ = maFields
|
||||
// maDescPassword is the schema descriptor for password field.
|
||||
maDescPassword := maFields[0].Descriptor()
|
||||
// ma.PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
ma.PasswordValidator = maDescPassword.Validators[0].(func(string) error)
|
||||
// maDescLimit is the schema descriptor for limit field.
|
||||
maDescLimit := maFields[2].Descriptor()
|
||||
// ma.DefaultLimit holds the default value on creation for the limit field.
|
||||
ma.DefaultLimit = maDescLimit.Default.(bool)
|
||||
// maDescCreatedAt is the schema descriptor for created_at field.
|
||||
maDescCreatedAt := maFields[13].Descriptor()
|
||||
// ma.DefaultCreatedAt holds the default value on creation for the created_at field.
|
||||
ma.DefaultCreatedAt = maDescCreatedAt.Default.(func() time.Time)
|
||||
ueFields := schema.Ue{}.Fields()
|
||||
_ = ueFields
|
||||
// ueDescLimit is the schema descriptor for limit field.
|
||||
ueDescLimit := ueFields[0].Descriptor()
|
||||
// ue.DefaultLimit holds the default value on creation for the limit field.
|
||||
ue.DefaultLimit = ueDescLimit.Default.(bool)
|
||||
// ueDescLimitBoss is the schema descriptor for limit_boss field.
|
||||
ueDescLimitBoss := ueFields[1].Descriptor()
|
||||
// ue.DefaultLimitBoss holds the default value on creation for the limit_boss field.
|
||||
ue.DefaultLimitBoss = ueDescLimitBoss.Default.(bool)
|
||||
// ueDescLimitItem is the schema descriptor for limit_item field.
|
||||
ueDescLimitItem := ueFields[2].Descriptor()
|
||||
// ue.DefaultLimitItem holds the default value on creation for the limit_item field.
|
||||
ue.DefaultLimitItem = ueDescLimitItem.Default.(bool)
|
||||
// ueDescPassword is the schema descriptor for password field.
|
||||
ueDescPassword := ueFields[3].Descriptor()
|
||||
// ue.PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
ue.PasswordValidator = ueDescPassword.Validators[0].(func(string) error)
|
||||
// ueDescCreatedAt is the schema descriptor for created_at field.
|
||||
ueDescCreatedAt := ueFields[18].Descriptor()
|
||||
// ue.DefaultCreatedAt holds the default value on creation for the created_at field.
|
||||
ue.DefaultCreatedAt = ueDescCreatedAt.Default.(func() time.Time)
|
||||
userFields := schema.User{}.Fields()
|
||||
_ = userFields
|
||||
// userDescUsername is the schema descriptor for username field.
|
||||
@ -55,16 +108,104 @@ func init() {
|
||||
return nil
|
||||
}
|
||||
}()
|
||||
// userDescMember is the schema descriptor for member field.
|
||||
userDescMember := userFields[2].Descriptor()
|
||||
// user.DefaultMember holds the default value on creation for the member field.
|
||||
user.DefaultMember = userDescMember.Default.(bool)
|
||||
// userDescBook is the schema descriptor for book field.
|
||||
userDescBook := userFields[3].Descriptor()
|
||||
// user.DefaultBook holds the default value on creation for the book field.
|
||||
user.DefaultBook = userDescBook.Default.(bool)
|
||||
// userDescManga is the schema descriptor for manga field.
|
||||
userDescManga := userFields[4].Descriptor()
|
||||
// user.DefaultManga holds the default value on creation for the manga field.
|
||||
user.DefaultManga = userDescManga.Default.(bool)
|
||||
// userDescBadge is the schema descriptor for badge field.
|
||||
userDescBadge := userFields[5].Descriptor()
|
||||
// user.DefaultBadge holds the default value on creation for the badge field.
|
||||
user.DefaultBadge = userDescBadge.Default.(bool)
|
||||
// userDescBsky is the schema descriptor for bsky field.
|
||||
userDescBsky := userFields[6].Descriptor()
|
||||
// user.DefaultBsky holds the default value on creation for the bsky field.
|
||||
user.DefaultBsky = userDescBsky.Default.(bool)
|
||||
// userDescMastodon is the schema descriptor for mastodon field.
|
||||
userDescMastodon := userFields[7].Descriptor()
|
||||
// user.DefaultMastodon holds the default value on creation for the mastodon field.
|
||||
user.DefaultMastodon = userDescMastodon.Default.(bool)
|
||||
// userDescDelete is the schema descriptor for delete field.
|
||||
userDescDelete := userFields[8].Descriptor()
|
||||
// user.DefaultDelete holds the default value on creation for the delete field.
|
||||
user.DefaultDelete = userDescDelete.Default.(bool)
|
||||
// userDescHandle is the schema descriptor for handle field.
|
||||
userDescHandle := userFields[9].Descriptor()
|
||||
// user.DefaultHandle holds the default value on creation for the handle field.
|
||||
user.DefaultHandle = userDescHandle.Default.(bool)
|
||||
// userDescPassword is the schema descriptor for password field.
|
||||
userDescPassword := userFields[11].Descriptor()
|
||||
// user.PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
user.PasswordValidator = userDescPassword.Validators[0].(func(string) error)
|
||||
// userDescCreatedAt is the schema descriptor for created_at field.
|
||||
userDescCreatedAt := userFields[1].Descriptor()
|
||||
userDescCreatedAt := userFields[12].Descriptor()
|
||||
// user.DefaultCreatedAt holds the default value on creation for the created_at field.
|
||||
user.DefaultCreatedAt = userDescCreatedAt.Default.(func() time.Time)
|
||||
// userDescUpdatedAt is the schema descriptor for updated_at field.
|
||||
userDescUpdatedAt := userFields[2].Descriptor()
|
||||
userDescUpdatedAt := userFields[13].Descriptor()
|
||||
// user.DefaultUpdatedAt holds the default value on creation for the updated_at field.
|
||||
user.DefaultUpdatedAt = userDescUpdatedAt.Default.(func() time.Time)
|
||||
// userDescRaidAt is the schema descriptor for raid_at field.
|
||||
userDescRaidAt := userFields[14].Descriptor()
|
||||
// user.DefaultRaidAt holds the default value on creation for the raid_at field.
|
||||
user.DefaultRaidAt = userDescRaidAt.Default.(func() time.Time)
|
||||
// userDescServerAt is the schema descriptor for server_at field.
|
||||
userDescServerAt := userFields[15].Descriptor()
|
||||
// user.DefaultServerAt holds the default value on creation for the server_at field.
|
||||
user.DefaultServerAt = userDescServerAt.Default.(func() time.Time)
|
||||
// userDescEggAt is the schema descriptor for egg_at field.
|
||||
userDescEggAt := userFields[16].Descriptor()
|
||||
// user.DefaultEggAt holds the default value on creation for the egg_at field.
|
||||
user.DefaultEggAt = userDescEggAt.Default.(func() time.Time)
|
||||
// userDescLuckAt is the schema descriptor for luck_at field.
|
||||
userDescLuckAt := userFields[18].Descriptor()
|
||||
// user.DefaultLuckAt holds the default value on creation for the luck_at field.
|
||||
user.DefaultLuckAt = userDescLuckAt.Default.(func() time.Time)
|
||||
// userDescLikeAt is the schema descriptor for like_at field.
|
||||
userDescLikeAt := userFields[21].Descriptor()
|
||||
// user.DefaultLikeAt holds the default value on creation for the like_at field.
|
||||
user.DefaultLikeAt = userDescLikeAt.Default.(func() time.Time)
|
||||
// userDescTenAt is the schema descriptor for ten_at field.
|
||||
userDescTenAt := userFields[31].Descriptor()
|
||||
// user.DefaultTenAt holds the default value on creation for the ten_at field.
|
||||
user.DefaultTenAt = userDescTenAt.Default.(func() time.Time)
|
||||
// userDescNext is the schema descriptor for next field.
|
||||
userDescNext := userFields[3].Descriptor()
|
||||
userDescNext := userFields[32].Descriptor()
|
||||
// user.DefaultNext holds the default value on creation for the next field.
|
||||
user.DefaultNext = userDescNext.Default.(string)
|
||||
// userDescModelAt is the schema descriptor for model_at field.
|
||||
userDescModelAt := userFields[35].Descriptor()
|
||||
// user.DefaultModelAt holds the default value on creation for the model_at field.
|
||||
user.DefaultModelAt = userDescModelAt.Default.(func() time.Time)
|
||||
// userDescGame is the schema descriptor for game field.
|
||||
userDescGame := userFields[42].Descriptor()
|
||||
// user.DefaultGame holds the default value on creation for the game field.
|
||||
user.DefaultGame = userDescGame.Default.(bool)
|
||||
// userDescGameTest is the schema descriptor for game_test field.
|
||||
userDescGameTest := userFields[43].Descriptor()
|
||||
// user.DefaultGameTest holds the default value on creation for the game_test field.
|
||||
user.DefaultGameTest = userDescGameTest.Default.(bool)
|
||||
// userDescGameEnd is the schema descriptor for game_end field.
|
||||
userDescGameEnd := userFields[44].Descriptor()
|
||||
// user.DefaultGameEnd holds the default value on creation for the game_end field.
|
||||
user.DefaultGameEnd = userDescGameEnd.Default.(bool)
|
||||
// userDescGameAccount is the schema descriptor for game_account field.
|
||||
userDescGameAccount := userFields[45].Descriptor()
|
||||
// user.DefaultGameAccount holds the default value on creation for the game_account field.
|
||||
user.DefaultGameAccount = userDescGameAccount.Default.(bool)
|
||||
// userDescCoinOpen is the schema descriptor for coin_open field.
|
||||
userDescCoinOpen := userFields[48].Descriptor()
|
||||
// user.DefaultCoinOpen holds the default value on creation for the coin_open field.
|
||||
user.DefaultCoinOpen = userDescCoinOpen.Default.(bool)
|
||||
// userDescCoinAt is the schema descriptor for coin_at field.
|
||||
userDescCoinAt := userFields[49].Descriptor()
|
||||
// user.DefaultCoinAt holds the default value on creation for the coin_at field.
|
||||
user.DefaultCoinAt = userDescCoinAt.Default.(func() time.Time)
|
||||
}
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
package runtime
|
||||
|
||||
// The schema-stitching logic is generated in t/ent/runtime.go
|
||||
// The schema-stitching logic is generated in api/ent/runtime.go
|
||||
|
||||
const (
|
||||
Version = "v0.11.9" // Version of ent codegen.
|
||||
Sum = "h1:dbbCkAiPVTRBIJwoZctiSYjB7zxQIBOzVSU5H9VYIQI=" // Sum of ent codegen.
|
||||
Version = "v0.12.2" // Version of ent codegen.
|
||||
Sum = "h1:Ndl/JvCX76xCtUDlrUfMnOKBRodAtxE5yfGYxjbOxmM=" // Sum of ent codegen.
|
||||
)
|
||||
|
@ -16,32 +16,51 @@ var url = "https://card.syui.ai"
|
||||
|
||||
var card int
|
||||
var super string
|
||||
var skill string
|
||||
var cp int
|
||||
|
||||
func (Card) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.Int("card").
|
||||
|
||||
field.String("password").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
Sensitive(),
|
||||
|
||||
field.Int("card").
|
||||
DefaultFunc(func() int {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
var a = rand.Intn(10)
|
||||
var a = rand.Intn(20)
|
||||
if a == 1 {
|
||||
card = rand.Intn(15)
|
||||
card = rand.Intn(3) + 123
|
||||
} else {
|
||||
card = 0
|
||||
}
|
||||
if card == 13 {
|
||||
card = 14
|
||||
}
|
||||
return card
|
||||
}).
|
||||
Optional(),
|
||||
|
||||
field.String("status").
|
||||
Immutable().
|
||||
field.String("skill").
|
||||
DefaultFunc(func() string {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
var a = rand.Intn(10)
|
||||
var a = rand.Intn(30)
|
||||
if a == 1 {
|
||||
skill = "critical"
|
||||
} else {
|
||||
skill = "normal"
|
||||
}
|
||||
if card == 0 {
|
||||
skill = "normal"
|
||||
}
|
||||
return skill
|
||||
}).
|
||||
Optional(),
|
||||
|
||||
field.String("status").
|
||||
//Immutable().
|
||||
DefaultFunc(func() string {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
var a = rand.Intn(40)
|
||||
if a == 1 {
|
||||
super = "super"
|
||||
} else {
|
||||
@ -54,19 +73,35 @@ func (Card) Fields() []ent.Field {
|
||||
}).
|
||||
Optional(),
|
||||
|
||||
field.String("token").
|
||||
Optional().
|
||||
Sensitive(),
|
||||
|
||||
field.Int("cp").
|
||||
Immutable().
|
||||
//Immutable().
|
||||
DefaultFunc(func() int {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
var cp = rand.Intn(100)
|
||||
if cp == 1 {
|
||||
cp = rand.Intn(250)
|
||||
var cp = 1 + rand.Intn(200)
|
||||
if cp == 2 {
|
||||
cp = 50 + rand.Intn(300)
|
||||
}
|
||||
if card > 1 {
|
||||
cp = cp + rand.Intn(250)
|
||||
if card >= 1 {
|
||||
cp = 200 + cp + rand.Intn(500)
|
||||
}
|
||||
if super == "super" {
|
||||
cp = cp + rand.Intn(500)
|
||||
cp = 400 + cp + rand.Intn(700)
|
||||
}
|
||||
|
||||
if skill == "critical" {
|
||||
cp = 400 + cp + rand.Intn(700)
|
||||
}
|
||||
|
||||
if card == 22 {
|
||||
cp = 800 + cp + rand.Intn(1500)
|
||||
}
|
||||
|
||||
if card == 25 {
|
||||
cp = 0
|
||||
}
|
||||
|
||||
return cp
|
||||
@ -74,10 +109,15 @@ func (Card) Fields() []ent.Field {
|
||||
Optional(),
|
||||
|
||||
field.String("url").
|
||||
Immutable().
|
||||
Default(url).
|
||||
Optional(),
|
||||
|
||||
field.Int("count").
|
||||
Optional(),
|
||||
|
||||
field.String("author").
|
||||
Optional(),
|
||||
|
||||
field.Time("created_at").
|
||||
Immutable().
|
||||
Optional().
|
||||
@ -93,5 +133,6 @@ func (Card) Edges() []ent.Edge {
|
||||
Ref("card").
|
||||
Unique().
|
||||
Required(),
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,11 @@ type Group struct {
|
||||
func (Group) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.String("name"),
|
||||
|
||||
field.String("password").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
Sensitive(),
|
||||
}
|
||||
}
|
||||
|
||||
|
77
ent/schema/manga.go
Normal file
77
ent/schema/manga.go
Normal file
@ -0,0 +1,77 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/edge"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// Game holds the schema definition for the Game entity.
|
||||
type Ma struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func (Ma) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
|
||||
field.String("password").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
Sensitive(),
|
||||
|
||||
field.String("token").
|
||||
Optional().
|
||||
Sensitive(),
|
||||
|
||||
field.Bool("limit").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Int("count").
|
||||
Optional(),
|
||||
|
||||
field.String("handle").
|
||||
Optional(),
|
||||
|
||||
field.String("text").
|
||||
Optional(),
|
||||
|
||||
field.String("did").
|
||||
Optional(),
|
||||
|
||||
field.String("avatar").
|
||||
Optional(),
|
||||
|
||||
field.String("cid").
|
||||
Optional(),
|
||||
|
||||
field.String("uri").
|
||||
Optional(),
|
||||
|
||||
field.String("rkey").
|
||||
Optional(),
|
||||
|
||||
field.String("bsky_url").
|
||||
Optional(),
|
||||
|
||||
field.Time("updated_at").
|
||||
Optional(),
|
||||
|
||||
field.Time("created_at").
|
||||
Immutable().
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
func (Ma) Edges() []ent.Edge {
|
||||
return []ent.Edge{
|
||||
edge.From("owner", User.Type).
|
||||
Ref("ma").
|
||||
Unique().
|
||||
Required(),
|
||||
}
|
||||
}
|
95
ent/schema/ue.go
Normal file
95
ent/schema/ue.go
Normal file
@ -0,0 +1,95 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/edge"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// Game holds the schema definition for the Game entity.
|
||||
type Ue struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func (Ue) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
|
||||
field.Bool("limit").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("limit_boss").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("limit_item").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.String("password").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
Sensitive(),
|
||||
|
||||
field.Int("lv").
|
||||
Optional(),
|
||||
|
||||
field.Int("lv_point").
|
||||
Optional(),
|
||||
|
||||
field.Int("model").
|
||||
Optional(),
|
||||
|
||||
field.Int("sword").
|
||||
Optional(),
|
||||
|
||||
field.Int("card").
|
||||
Optional(),
|
||||
|
||||
field.String("mode").
|
||||
Optional(),
|
||||
|
||||
field.String("token").
|
||||
Optional().
|
||||
Sensitive(),
|
||||
|
||||
field.Int("cp").
|
||||
Optional(),
|
||||
|
||||
field.Int("count").
|
||||
Optional(),
|
||||
|
||||
field.Int("location_x").
|
||||
Optional(),
|
||||
|
||||
field.Int("location_y").
|
||||
Optional(),
|
||||
|
||||
field.Int("location_z").
|
||||
Optional(),
|
||||
|
||||
field.Int("location_n").
|
||||
Optional(),
|
||||
|
||||
field.String("author").
|
||||
Optional(),
|
||||
|
||||
field.Time("created_at").
|
||||
Immutable().
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
func (Ue) Edges() []ent.Edge {
|
||||
return []ent.Edge{
|
||||
edge.From("owner", User.Type).
|
||||
Ref("ue").
|
||||
Unique().
|
||||
Required(),
|
||||
|
||||
}
|
||||
}
|
@ -19,8 +19,9 @@ type User struct {
|
||||
}
|
||||
|
||||
func Nextime() (tt string){
|
||||
t := time.Now().In(jst)
|
||||
//t := time.Now().Add(time.Hour * 24 * 1).In(jst)
|
||||
//t := time.Now().In(jst)
|
||||
//t := time.Now().Add(time.Hour * 24 * 1).In(jst)
|
||||
t := time.Now().AddDate(0, 0, -1).In(jst)
|
||||
tt = t.Format("20060102")
|
||||
return
|
||||
}
|
||||
@ -31,13 +32,53 @@ func (User) Fields() []ent.Field {
|
||||
field.String("username").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
MaxLen(30).
|
||||
MaxLen(100).
|
||||
//Match(regexp.MustCompile("[a-z]+$")).
|
||||
Unique(),
|
||||
|
||||
//field.Bool("limit").
|
||||
//Optional().
|
||||
//Default(false),
|
||||
field.String("did").
|
||||
Optional(),
|
||||
|
||||
field.Bool("member").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("book").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("manga").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("badge").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("bsky").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("mastodon").
|
||||
Default(true).
|
||||
Optional(),
|
||||
|
||||
field.Bool("delete").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("handle").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.String("token").
|
||||
Optional().
|
||||
Sensitive(),
|
||||
|
||||
field.String("password").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
Sensitive(),
|
||||
|
||||
field.Time("created_at").
|
||||
Immutable().
|
||||
@ -52,10 +93,144 @@ func (User) Fields() []ent.Field {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Time("raid_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Time("server_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Time("egg_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Int("luck").
|
||||
Optional(),
|
||||
|
||||
field.Time("luck_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Int("like").
|
||||
Optional(),
|
||||
|
||||
field.Int("like_rank").
|
||||
Optional(),
|
||||
|
||||
field.Time("like_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Int("fav").
|
||||
Optional(),
|
||||
|
||||
field.Bool("ten").
|
||||
Optional(),
|
||||
|
||||
field.Int("ten_su").
|
||||
Optional(),
|
||||
|
||||
field.Int("ten_kai").
|
||||
Optional(),
|
||||
|
||||
field.Int("aiten").
|
||||
Optional(),
|
||||
|
||||
field.String("ten_card").
|
||||
Optional(),
|
||||
|
||||
field.String("ten_delete").
|
||||
Optional(),
|
||||
|
||||
field.String("ten_post").
|
||||
Optional(),
|
||||
|
||||
field.String("ten_get").
|
||||
Optional(),
|
||||
|
||||
field.Time("ten_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.String("next").
|
||||
Default(Nextime()).
|
||||
Optional(),
|
||||
|
||||
field.Int("room").
|
||||
Optional(),
|
||||
|
||||
field.Bool("model").
|
||||
Optional(),
|
||||
|
||||
field.Time("model_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.Int("model_attack").
|
||||
Optional(),
|
||||
|
||||
field.Int("model_limit").
|
||||
Optional(),
|
||||
|
||||
field.Int("model_skill").
|
||||
Optional(),
|
||||
|
||||
field.Int("model_mode").
|
||||
Optional(),
|
||||
|
||||
field.Int("model_critical").
|
||||
Optional(),
|
||||
|
||||
field.Int("model_critical_d").
|
||||
Optional(),
|
||||
|
||||
field.Bool("game").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("game_test").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("game_end").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Bool("game_account").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Int("game_lv").
|
||||
Optional(),
|
||||
|
||||
field.Int("coin").
|
||||
Optional(),
|
||||
|
||||
field.Bool("coin_open").
|
||||
Default(false).
|
||||
Optional(),
|
||||
|
||||
field.Time("coin_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,6 +244,9 @@ func (User) Indexes() []ent.Index {
|
||||
func (User) Edges() []ent.Edge {
|
||||
return []ent.Edge{
|
||||
edge.To("card", Card.Type),
|
||||
edge.To("ue", Ue.Type),
|
||||
edge.To("ma", Ma.Type),
|
||||
//Unique(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,10 @@ type Tx struct {
|
||||
Card *CardClient
|
||||
// Group is the client for interacting with the Group builders.
|
||||
Group *GroupClient
|
||||
// Ma is the client for interacting with the Ma builders.
|
||||
Ma *MaClient
|
||||
// Ue is the client for interacting with the Ue builders.
|
||||
Ue *UeClient
|
||||
// User is the client for interacting with the User builders.
|
||||
User *UserClient
|
||||
|
||||
@ -151,6 +155,8 @@ func (tx *Tx) Client() *Client {
|
||||
func (tx *Tx) init() {
|
||||
tx.Card = NewCardClient(tx.config)
|
||||
tx.Group = NewGroupClient(tx.config)
|
||||
tx.Ma = NewMaClient(tx.config)
|
||||
tx.Ue = NewUeClient(tx.config)
|
||||
tx.User = NewUserClient(tx.config)
|
||||
}
|
||||
|
||||
|
345
ent/ue.go
Normal file
345
ent/ue.go
Normal file
@ -0,0 +1,345 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
)
|
||||
|
||||
// Ue is the model entity for the Ue schema.
|
||||
type Ue struct {
|
||||
config `json:"-"`
|
||||
// ID of the ent.
|
||||
ID int `json:"id,omitempty"`
|
||||
// Limit holds the value of the "limit" field.
|
||||
Limit bool `json:"limit,omitempty"`
|
||||
// LimitBoss holds the value of the "limit_boss" field.
|
||||
LimitBoss bool `json:"limit_boss,omitempty"`
|
||||
// LimitItem holds the value of the "limit_item" field.
|
||||
LimitItem bool `json:"limit_item,omitempty"`
|
||||
// Password holds the value of the "password" field.
|
||||
Password string `json:"-"`
|
||||
// Lv holds the value of the "lv" field.
|
||||
Lv int `json:"lv,omitempty"`
|
||||
// LvPoint holds the value of the "lv_point" field.
|
||||
LvPoint int `json:"lv_point,omitempty"`
|
||||
// Model holds the value of the "model" field.
|
||||
Model int `json:"model,omitempty"`
|
||||
// Sword holds the value of the "sword" field.
|
||||
Sword int `json:"sword,omitempty"`
|
||||
// Card holds the value of the "card" field.
|
||||
Card int `json:"card,omitempty"`
|
||||
// Mode holds the value of the "mode" field.
|
||||
Mode string `json:"mode,omitempty"`
|
||||
// Token holds the value of the "token" field.
|
||||
Token string `json:"-"`
|
||||
// Cp holds the value of the "cp" field.
|
||||
Cp int `json:"cp,omitempty"`
|
||||
// Count holds the value of the "count" field.
|
||||
Count int `json:"count,omitempty"`
|
||||
// LocationX holds the value of the "location_x" field.
|
||||
LocationX int `json:"location_x,omitempty"`
|
||||
// LocationY holds the value of the "location_y" field.
|
||||
LocationY int `json:"location_y,omitempty"`
|
||||
// LocationZ holds the value of the "location_z" field.
|
||||
LocationZ int `json:"location_z,omitempty"`
|
||||
// LocationN holds the value of the "location_n" field.
|
||||
LocationN int `json:"location_n,omitempty"`
|
||||
// Author holds the value of the "author" field.
|
||||
Author string `json:"author,omitempty"`
|
||||
// CreatedAt holds the value of the "created_at" field.
|
||||
CreatedAt time.Time `json:"created_at,omitempty"`
|
||||
// Edges holds the relations/edges for other nodes in the graph.
|
||||
// The values are being populated by the UeQuery when eager-loading is set.
|
||||
Edges UeEdges `json:"edges"`
|
||||
user_ue *int
|
||||
selectValues sql.SelectValues
|
||||
}
|
||||
|
||||
// UeEdges holds the relations/edges for other nodes in the graph.
|
||||
type UeEdges struct {
|
||||
// Owner holds the value of the owner edge.
|
||||
Owner *User `json:"owner,omitempty"`
|
||||
// loadedTypes holds the information for reporting if a
|
||||
// type was loaded (or requested) in eager-loading or not.
|
||||
loadedTypes [1]bool
|
||||
}
|
||||
|
||||
// OwnerOrErr returns the Owner value or an error if the edge
|
||||
// was not loaded in eager-loading, or loaded but was not found.
|
||||
func (e UeEdges) OwnerOrErr() (*User, error) {
|
||||
if e.loadedTypes[0] {
|
||||
if e.Owner == nil {
|
||||
// Edge was loaded but was not found.
|
||||
return nil, &NotFoundError{label: user.Label}
|
||||
}
|
||||
return e.Owner, nil
|
||||
}
|
||||
return nil, &NotLoadedError{edge: "owner"}
|
||||
}
|
||||
|
||||
// scanValues returns the types for scanning values from sql.Rows.
|
||||
func (*Ue) scanValues(columns []string) ([]any, error) {
|
||||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case ue.FieldLimit, ue.FieldLimitBoss, ue.FieldLimitItem:
|
||||
values[i] = new(sql.NullBool)
|
||||
case ue.FieldID, ue.FieldLv, ue.FieldLvPoint, ue.FieldModel, ue.FieldSword, ue.FieldCard, ue.FieldCp, ue.FieldCount, ue.FieldLocationX, ue.FieldLocationY, ue.FieldLocationZ, ue.FieldLocationN:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case ue.FieldPassword, ue.FieldMode, ue.FieldToken, ue.FieldAuthor:
|
||||
values[i] = new(sql.NullString)
|
||||
case ue.FieldCreatedAt:
|
||||
values[i] = new(sql.NullTime)
|
||||
case ue.ForeignKeys[0]: // user_ue
|
||||
values[i] = new(sql.NullInt64)
|
||||
default:
|
||||
values[i] = new(sql.UnknownType)
|
||||
}
|
||||
}
|
||||
return values, nil
|
||||
}
|
||||
|
||||
// assignValues assigns the values that were returned from sql.Rows (after scanning)
|
||||
// to the Ue fields.
|
||||
func (u *Ue) 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 ue.FieldID:
|
||||
value, ok := values[i].(*sql.NullInt64)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type %T for field id", value)
|
||||
}
|
||||
u.ID = int(value.Int64)
|
||||
case ue.FieldLimit:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field limit", values[i])
|
||||
} else if value.Valid {
|
||||
u.Limit = value.Bool
|
||||
}
|
||||
case ue.FieldLimitBoss:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field limit_boss", values[i])
|
||||
} else if value.Valid {
|
||||
u.LimitBoss = value.Bool
|
||||
}
|
||||
case ue.FieldLimitItem:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field limit_item", values[i])
|
||||
} else if value.Valid {
|
||||
u.LimitItem = value.Bool
|
||||
}
|
||||
case ue.FieldPassword:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field password", values[i])
|
||||
} else if value.Valid {
|
||||
u.Password = value.String
|
||||
}
|
||||
case ue.FieldLv:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field lv", values[i])
|
||||
} else if value.Valid {
|
||||
u.Lv = int(value.Int64)
|
||||
}
|
||||
case ue.FieldLvPoint:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field lv_point", values[i])
|
||||
} else if value.Valid {
|
||||
u.LvPoint = int(value.Int64)
|
||||
}
|
||||
case ue.FieldModel:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model", values[i])
|
||||
} else if value.Valid {
|
||||
u.Model = int(value.Int64)
|
||||
}
|
||||
case ue.FieldSword:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field sword", values[i])
|
||||
} else if value.Valid {
|
||||
u.Sword = int(value.Int64)
|
||||
}
|
||||
case ue.FieldCard:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field card", values[i])
|
||||
} else if value.Valid {
|
||||
u.Card = int(value.Int64)
|
||||
}
|
||||
case ue.FieldMode:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field mode", values[i])
|
||||
} else if value.Valid {
|
||||
u.Mode = value.String
|
||||
}
|
||||
case ue.FieldToken:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field token", values[i])
|
||||
} else if value.Valid {
|
||||
u.Token = value.String
|
||||
}
|
||||
case ue.FieldCp:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field cp", values[i])
|
||||
} else if value.Valid {
|
||||
u.Cp = int(value.Int64)
|
||||
}
|
||||
case ue.FieldCount:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field count", values[i])
|
||||
} else if value.Valid {
|
||||
u.Count = int(value.Int64)
|
||||
}
|
||||
case ue.FieldLocationX:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field location_x", values[i])
|
||||
} else if value.Valid {
|
||||
u.LocationX = int(value.Int64)
|
||||
}
|
||||
case ue.FieldLocationY:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field location_y", values[i])
|
||||
} else if value.Valid {
|
||||
u.LocationY = int(value.Int64)
|
||||
}
|
||||
case ue.FieldLocationZ:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field location_z", values[i])
|
||||
} else if value.Valid {
|
||||
u.LocationZ = int(value.Int64)
|
||||
}
|
||||
case ue.FieldLocationN:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field location_n", values[i])
|
||||
} else if value.Valid {
|
||||
u.LocationN = int(value.Int64)
|
||||
}
|
||||
case ue.FieldAuthor:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field author", values[i])
|
||||
} else if value.Valid {
|
||||
u.Author = value.String
|
||||
}
|
||||
case ue.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 {
|
||||
u.CreatedAt = value.Time
|
||||
}
|
||||
case ue.ForeignKeys[0]:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for edge-field user_ue", value)
|
||||
} else if value.Valid {
|
||||
u.user_ue = new(int)
|
||||
*u.user_ue = int(value.Int64)
|
||||
}
|
||||
default:
|
||||
u.selectValues.Set(columns[i], values[i])
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Value returns the ent.Value that was dynamically selected and assigned to the Ue.
|
||||
// This includes values selected through modifiers, order, etc.
|
||||
func (u *Ue) Value(name string) (ent.Value, error) {
|
||||
return u.selectValues.Get(name)
|
||||
}
|
||||
|
||||
// QueryOwner queries the "owner" edge of the Ue entity.
|
||||
func (u *Ue) QueryOwner() *UserQuery {
|
||||
return NewUeClient(u.config).QueryOwner(u)
|
||||
}
|
||||
|
||||
// Update returns a builder for updating this Ue.
|
||||
// Note that you need to call Ue.Unwrap() before calling this method if this Ue
|
||||
// was returned from a transaction, and the transaction was committed or rolled back.
|
||||
func (u *Ue) Update() *UeUpdateOne {
|
||||
return NewUeClient(u.config).UpdateOne(u)
|
||||
}
|
||||
|
||||
// Unwrap unwraps the Ue 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 (u *Ue) Unwrap() *Ue {
|
||||
_tx, ok := u.config.driver.(*txDriver)
|
||||
if !ok {
|
||||
panic("ent: Ue is not a transactional entity")
|
||||
}
|
||||
u.config.driver = _tx.drv
|
||||
return u
|
||||
}
|
||||
|
||||
// String implements the fmt.Stringer.
|
||||
func (u *Ue) String() string {
|
||||
var builder strings.Builder
|
||||
builder.WriteString("Ue(")
|
||||
builder.WriteString(fmt.Sprintf("id=%v, ", u.ID))
|
||||
builder.WriteString("limit=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Limit))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("limit_boss=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LimitBoss))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("limit_item=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LimitItem))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("password=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("lv=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Lv))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("lv_point=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LvPoint))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Model))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("sword=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Sword))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("card=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Card))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("mode=")
|
||||
builder.WriteString(u.Mode)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("token=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("cp=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Cp))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("count=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Count))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("location_x=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LocationX))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("location_y=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LocationY))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("location_z=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LocationZ))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("location_n=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LocationN))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("author=")
|
||||
builder.WriteString(u.Author)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(u.CreatedAt.Format(time.ANSIC))
|
||||
builder.WriteByte(')')
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
// Ues is a parsable slice of Ue.
|
||||
type Ues []*Ue
|
241
ent/ue/ue.go
Normal file
241
ent/ue/ue.go
Normal file
@ -0,0 +1,241 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ue
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
)
|
||||
|
||||
const (
|
||||
// Label holds the string label denoting the ue type in the database.
|
||||
Label = "ue"
|
||||
// FieldID holds the string denoting the id field in the database.
|
||||
FieldID = "id"
|
||||
// FieldLimit holds the string denoting the limit field in the database.
|
||||
FieldLimit = "limit"
|
||||
// FieldLimitBoss holds the string denoting the limit_boss field in the database.
|
||||
FieldLimitBoss = "limit_boss"
|
||||
// FieldLimitItem holds the string denoting the limit_item field in the database.
|
||||
FieldLimitItem = "limit_item"
|
||||
// FieldPassword holds the string denoting the password field in the database.
|
||||
FieldPassword = "password"
|
||||
// FieldLv holds the string denoting the lv field in the database.
|
||||
FieldLv = "lv"
|
||||
// FieldLvPoint holds the string denoting the lv_point field in the database.
|
||||
FieldLvPoint = "lv_point"
|
||||
// FieldModel holds the string denoting the model field in the database.
|
||||
FieldModel = "model"
|
||||
// FieldSword holds the string denoting the sword field in the database.
|
||||
FieldSword = "sword"
|
||||
// FieldCard holds the string denoting the card field in the database.
|
||||
FieldCard = "card"
|
||||
// FieldMode holds the string denoting the mode field in the database.
|
||||
FieldMode = "mode"
|
||||
// FieldToken holds the string denoting the token field in the database.
|
||||
FieldToken = "token"
|
||||
// FieldCp holds the string denoting the cp field in the database.
|
||||
FieldCp = "cp"
|
||||
// FieldCount holds the string denoting the count field in the database.
|
||||
FieldCount = "count"
|
||||
// FieldLocationX holds the string denoting the location_x field in the database.
|
||||
FieldLocationX = "location_x"
|
||||
// FieldLocationY holds the string denoting the location_y field in the database.
|
||||
FieldLocationY = "location_y"
|
||||
// FieldLocationZ holds the string denoting the location_z field in the database.
|
||||
FieldLocationZ = "location_z"
|
||||
// FieldLocationN holds the string denoting the location_n field in the database.
|
||||
FieldLocationN = "location_n"
|
||||
// FieldAuthor holds the string denoting the author field in the database.
|
||||
FieldAuthor = "author"
|
||||
// FieldCreatedAt holds the string denoting the created_at field in the database.
|
||||
FieldCreatedAt = "created_at"
|
||||
// EdgeOwner holds the string denoting the owner edge name in mutations.
|
||||
EdgeOwner = "owner"
|
||||
// Table holds the table name of the ue in the database.
|
||||
Table = "ues"
|
||||
// OwnerTable is the table that holds the owner relation/edge.
|
||||
OwnerTable = "ues"
|
||||
// OwnerInverseTable is the table name for the User entity.
|
||||
// It exists in this package in order to avoid circular dependency with the "user" package.
|
||||
OwnerInverseTable = "users"
|
||||
// OwnerColumn is the table column denoting the owner relation/edge.
|
||||
OwnerColumn = "user_ue"
|
||||
)
|
||||
|
||||
// Columns holds all SQL columns for ue fields.
|
||||
var Columns = []string{
|
||||
FieldID,
|
||||
FieldLimit,
|
||||
FieldLimitBoss,
|
||||
FieldLimitItem,
|
||||
FieldPassword,
|
||||
FieldLv,
|
||||
FieldLvPoint,
|
||||
FieldModel,
|
||||
FieldSword,
|
||||
FieldCard,
|
||||
FieldMode,
|
||||
FieldToken,
|
||||
FieldCp,
|
||||
FieldCount,
|
||||
FieldLocationX,
|
||||
FieldLocationY,
|
||||
FieldLocationZ,
|
||||
FieldLocationN,
|
||||
FieldAuthor,
|
||||
FieldCreatedAt,
|
||||
}
|
||||
|
||||
// ForeignKeys holds the SQL foreign-keys that are owned by the "ues"
|
||||
// table and are not defined as standalone fields in the schema.
|
||||
var ForeignKeys = []string{
|
||||
"user_ue",
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
}
|
||||
for i := range ForeignKeys {
|
||||
if column == ForeignKeys[i] {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var (
|
||||
// DefaultLimit holds the default value on creation for the "limit" field.
|
||||
DefaultLimit bool
|
||||
// DefaultLimitBoss holds the default value on creation for the "limit_boss" field.
|
||||
DefaultLimitBoss bool
|
||||
// DefaultLimitItem holds the default value on creation for the "limit_item" field.
|
||||
DefaultLimitItem bool
|
||||
// PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
PasswordValidator func(string) error
|
||||
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
|
||||
DefaultCreatedAt func() time.Time
|
||||
)
|
||||
|
||||
// OrderOption defines the ordering options for the Ue 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()
|
||||
}
|
||||
|
||||
// ByLimit orders the results by the limit field.
|
||||
func ByLimit(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLimit, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLimitBoss orders the results by the limit_boss field.
|
||||
func ByLimitBoss(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLimitBoss, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLimitItem orders the results by the limit_item field.
|
||||
func ByLimitItem(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLimitItem, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByPassword orders the results by the password field.
|
||||
func ByPassword(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldPassword, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLv orders the results by the lv field.
|
||||
func ByLv(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLv, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLvPoint orders the results by the lv_point field.
|
||||
func ByLvPoint(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLvPoint, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModel orders the results by the model field.
|
||||
func ByModel(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModel, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// BySword orders the results by the sword field.
|
||||
func BySword(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldSword, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCard orders the results by the card field.
|
||||
func ByCard(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCard, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByMode orders the results by the mode field.
|
||||
func ByMode(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldMode, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByToken orders the results by the token field.
|
||||
func ByToken(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldToken, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCp orders the results by the cp field.
|
||||
func ByCp(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCp, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCount orders the results by the count field.
|
||||
func ByCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCount, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLocationX orders the results by the location_x field.
|
||||
func ByLocationX(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLocationX, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLocationY orders the results by the location_y field.
|
||||
func ByLocationY(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLocationY, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLocationZ orders the results by the location_z field.
|
||||
func ByLocationZ(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLocationZ, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLocationN orders the results by the location_n field.
|
||||
func ByLocationN(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLocationN, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByAuthor orders the results by the author field.
|
||||
func ByAuthor(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldAuthor, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCreatedAt orders the results by the created_at field.
|
||||
func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCreatedAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByOwnerField orders the results by owner field.
|
||||
func ByOwnerField(field string, opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newOwnerStep(), sql.OrderByField(field, opts...))
|
||||
}
|
||||
}
|
||||
func newOwnerStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(OwnerInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, OwnerTable, OwnerColumn),
|
||||
)
|
||||
}
|
1156
ent/ue/where.go
Normal file
1156
ent/ue/where.go
Normal file
File diff suppressed because it is too large
Load Diff
563
ent/ue_create.go
Normal file
563
ent/ue_create.go
Normal file
@ -0,0 +1,563 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// UeCreate is the builder for creating a Ue entity.
|
||||
type UeCreate struct {
|
||||
config
|
||||
mutation *UeMutation
|
||||
hooks []Hook
|
||||
}
|
||||
|
||||
// SetLimit sets the "limit" field.
|
||||
func (uc *UeCreate) SetLimit(b bool) *UeCreate {
|
||||
uc.mutation.SetLimit(b)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLimit sets the "limit" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLimit(b *bool) *UeCreate {
|
||||
if b != nil {
|
||||
uc.SetLimit(*b)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLimitBoss sets the "limit_boss" field.
|
||||
func (uc *UeCreate) SetLimitBoss(b bool) *UeCreate {
|
||||
uc.mutation.SetLimitBoss(b)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLimitBoss sets the "limit_boss" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLimitBoss(b *bool) *UeCreate {
|
||||
if b != nil {
|
||||
uc.SetLimitBoss(*b)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLimitItem sets the "limit_item" field.
|
||||
func (uc *UeCreate) SetLimitItem(b bool) *UeCreate {
|
||||
uc.mutation.SetLimitItem(b)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLimitItem sets the "limit_item" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLimitItem(b *bool) *UeCreate {
|
||||
if b != nil {
|
||||
uc.SetLimitItem(*b)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetPassword sets the "password" field.
|
||||
func (uc *UeCreate) SetPassword(s string) *UeCreate {
|
||||
uc.mutation.SetPassword(s)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLv sets the "lv" field.
|
||||
func (uc *UeCreate) SetLv(i int) *UeCreate {
|
||||
uc.mutation.SetLv(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLv sets the "lv" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLv(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetLv(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLvPoint sets the "lv_point" field.
|
||||
func (uc *UeCreate) SetLvPoint(i int) *UeCreate {
|
||||
uc.mutation.SetLvPoint(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLvPoint sets the "lv_point" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLvPoint(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetLvPoint(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetModel sets the "model" field.
|
||||
func (uc *UeCreate) SetModel(i int) *UeCreate {
|
||||
uc.mutation.SetModel(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableModel sets the "model" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableModel(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetModel(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetSword sets the "sword" field.
|
||||
func (uc *UeCreate) SetSword(i int) *UeCreate {
|
||||
uc.mutation.SetSword(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableSword sets the "sword" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableSword(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetSword(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetCard sets the "card" field.
|
||||
func (uc *UeCreate) SetCard(i int) *UeCreate {
|
||||
uc.mutation.SetCard(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableCard sets the "card" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableCard(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetCard(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetMode sets the "mode" field.
|
||||
func (uc *UeCreate) SetMode(s string) *UeCreate {
|
||||
uc.mutation.SetMode(s)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableMode sets the "mode" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableMode(s *string) *UeCreate {
|
||||
if s != nil {
|
||||
uc.SetMode(*s)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetToken sets the "token" field.
|
||||
func (uc *UeCreate) SetToken(s string) *UeCreate {
|
||||
uc.mutation.SetToken(s)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableToken sets the "token" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableToken(s *string) *UeCreate {
|
||||
if s != nil {
|
||||
uc.SetToken(*s)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetCp sets the "cp" field.
|
||||
func (uc *UeCreate) SetCp(i int) *UeCreate {
|
||||
uc.mutation.SetCp(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableCp sets the "cp" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableCp(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetCp(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetCount sets the "count" field.
|
||||
func (uc *UeCreate) SetCount(i int) *UeCreate {
|
||||
uc.mutation.SetCount(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableCount sets the "count" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableCount(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetCount(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLocationX sets the "location_x" field.
|
||||
func (uc *UeCreate) SetLocationX(i int) *UeCreate {
|
||||
uc.mutation.SetLocationX(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLocationX sets the "location_x" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLocationX(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetLocationX(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLocationY sets the "location_y" field.
|
||||
func (uc *UeCreate) SetLocationY(i int) *UeCreate {
|
||||
uc.mutation.SetLocationY(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLocationY sets the "location_y" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLocationY(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetLocationY(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLocationZ sets the "location_z" field.
|
||||
func (uc *UeCreate) SetLocationZ(i int) *UeCreate {
|
||||
uc.mutation.SetLocationZ(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLocationZ sets the "location_z" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLocationZ(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetLocationZ(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetLocationN sets the "location_n" field.
|
||||
func (uc *UeCreate) SetLocationN(i int) *UeCreate {
|
||||
uc.mutation.SetLocationN(i)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableLocationN sets the "location_n" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableLocationN(i *int) *UeCreate {
|
||||
if i != nil {
|
||||
uc.SetLocationN(*i)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetAuthor sets the "author" field.
|
||||
func (uc *UeCreate) SetAuthor(s string) *UeCreate {
|
||||
uc.mutation.SetAuthor(s)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableAuthor sets the "author" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableAuthor(s *string) *UeCreate {
|
||||
if s != nil {
|
||||
uc.SetAuthor(*s)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (uc *UeCreate) SetCreatedAt(t time.Time) *UeCreate {
|
||||
uc.mutation.SetCreatedAt(t)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
|
||||
func (uc *UeCreate) SetNillableCreatedAt(t *time.Time) *UeCreate {
|
||||
if t != nil {
|
||||
uc.SetCreatedAt(*t)
|
||||
}
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetOwnerID sets the "owner" edge to the User entity by ID.
|
||||
func (uc *UeCreate) SetOwnerID(id int) *UeCreate {
|
||||
uc.mutation.SetOwnerID(id)
|
||||
return uc
|
||||
}
|
||||
|
||||
// SetOwner sets the "owner" edge to the User entity.
|
||||
func (uc *UeCreate) SetOwner(u *User) *UeCreate {
|
||||
return uc.SetOwnerID(u.ID)
|
||||
}
|
||||
|
||||
// Mutation returns the UeMutation object of the builder.
|
||||
func (uc *UeCreate) Mutation() *UeMutation {
|
||||
return uc.mutation
|
||||
}
|
||||
|
||||
// Save creates the Ue in the database.
|
||||
func (uc *UeCreate) Save(ctx context.Context) (*Ue, error) {
|
||||
uc.defaults()
|
||||
return withHooks[*Ue, UeMutation](ctx, uc.sqlSave, uc.mutation, uc.hooks)
|
||||
}
|
||||
|
||||
// SaveX calls Save and panics if Save returns an error.
|
||||
func (uc *UeCreate) SaveX(ctx context.Context) *Ue {
|
||||
v, err := uc.Save(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// Exec executes the query.
|
||||
func (uc *UeCreate) Exec(ctx context.Context) error {
|
||||
_, err := uc.Save(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (uc *UeCreate) ExecX(ctx context.Context) {
|
||||
if err := uc.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// defaults sets the default values of the builder before save.
|
||||
func (uc *UeCreate) defaults() {
|
||||
if _, ok := uc.mutation.Limit(); !ok {
|
||||
v := ue.DefaultLimit
|
||||
uc.mutation.SetLimit(v)
|
||||
}
|
||||
if _, ok := uc.mutation.LimitBoss(); !ok {
|
||||
v := ue.DefaultLimitBoss
|
||||
uc.mutation.SetLimitBoss(v)
|
||||
}
|
||||
if _, ok := uc.mutation.LimitItem(); !ok {
|
||||
v := ue.DefaultLimitItem
|
||||
uc.mutation.SetLimitItem(v)
|
||||
}
|
||||
if _, ok := uc.mutation.CreatedAt(); !ok {
|
||||
v := ue.DefaultCreatedAt()
|
||||
uc.mutation.SetCreatedAt(v)
|
||||
}
|
||||
}
|
||||
|
||||
// check runs all checks and user-defined validators on the builder.
|
||||
func (uc *UeCreate) check() error {
|
||||
if _, ok := uc.mutation.Password(); !ok {
|
||||
return &ValidationError{Name: "password", err: errors.New(`ent: missing required field "Ue.password"`)}
|
||||
}
|
||||
if v, ok := uc.mutation.Password(); ok {
|
||||
if err := ue.PasswordValidator(v); err != nil {
|
||||
return &ValidationError{Name: "password", err: fmt.Errorf(`ent: validator failed for field "Ue.password": %w`, err)}
|
||||
}
|
||||
}
|
||||
if _, ok := uc.mutation.OwnerID(); !ok {
|
||||
return &ValidationError{Name: "owner", err: errors.New(`ent: missing required edge "Ue.owner"`)}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (uc *UeCreate) sqlSave(ctx context.Context) (*Ue, error) {
|
||||
if err := uc.check(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_node, _spec := uc.createSpec()
|
||||
if err := sqlgraph.CreateNode(ctx, uc.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 = int(id)
|
||||
uc.mutation.id = &_node.ID
|
||||
uc.mutation.done = true
|
||||
return _node, nil
|
||||
}
|
||||
|
||||
func (uc *UeCreate) createSpec() (*Ue, *sqlgraph.CreateSpec) {
|
||||
var (
|
||||
_node = &Ue{config: uc.config}
|
||||
_spec = sqlgraph.NewCreateSpec(ue.Table, sqlgraph.NewFieldSpec(ue.FieldID, field.TypeInt))
|
||||
)
|
||||
if value, ok := uc.mutation.Limit(); ok {
|
||||
_spec.SetField(ue.FieldLimit, field.TypeBool, value)
|
||||
_node.Limit = value
|
||||
}
|
||||
if value, ok := uc.mutation.LimitBoss(); ok {
|
||||
_spec.SetField(ue.FieldLimitBoss, field.TypeBool, value)
|
||||
_node.LimitBoss = value
|
||||
}
|
||||
if value, ok := uc.mutation.LimitItem(); ok {
|
||||
_spec.SetField(ue.FieldLimitItem, field.TypeBool, value)
|
||||
_node.LimitItem = value
|
||||
}
|
||||
if value, ok := uc.mutation.Password(); ok {
|
||||
_spec.SetField(ue.FieldPassword, field.TypeString, value)
|
||||
_node.Password = value
|
||||
}
|
||||
if value, ok := uc.mutation.Lv(); ok {
|
||||
_spec.SetField(ue.FieldLv, field.TypeInt, value)
|
||||
_node.Lv = value
|
||||
}
|
||||
if value, ok := uc.mutation.LvPoint(); ok {
|
||||
_spec.SetField(ue.FieldLvPoint, field.TypeInt, value)
|
||||
_node.LvPoint = value
|
||||
}
|
||||
if value, ok := uc.mutation.Model(); ok {
|
||||
_spec.SetField(ue.FieldModel, field.TypeInt, value)
|
||||
_node.Model = value
|
||||
}
|
||||
if value, ok := uc.mutation.Sword(); ok {
|
||||
_spec.SetField(ue.FieldSword, field.TypeInt, value)
|
||||
_node.Sword = value
|
||||
}
|
||||
if value, ok := uc.mutation.Card(); ok {
|
||||
_spec.SetField(ue.FieldCard, field.TypeInt, value)
|
||||
_node.Card = value
|
||||
}
|
||||
if value, ok := uc.mutation.Mode(); ok {
|
||||
_spec.SetField(ue.FieldMode, field.TypeString, value)
|
||||
_node.Mode = value
|
||||
}
|
||||
if value, ok := uc.mutation.Token(); ok {
|
||||
_spec.SetField(ue.FieldToken, field.TypeString, value)
|
||||
_node.Token = value
|
||||
}
|
||||
if value, ok := uc.mutation.Cp(); ok {
|
||||
_spec.SetField(ue.FieldCp, field.TypeInt, value)
|
||||
_node.Cp = value
|
||||
}
|
||||
if value, ok := uc.mutation.Count(); ok {
|
||||
_spec.SetField(ue.FieldCount, field.TypeInt, value)
|
||||
_node.Count = value
|
||||
}
|
||||
if value, ok := uc.mutation.LocationX(); ok {
|
||||
_spec.SetField(ue.FieldLocationX, field.TypeInt, value)
|
||||
_node.LocationX = value
|
||||
}
|
||||
if value, ok := uc.mutation.LocationY(); ok {
|
||||
_spec.SetField(ue.FieldLocationY, field.TypeInt, value)
|
||||
_node.LocationY = value
|
||||
}
|
||||
if value, ok := uc.mutation.LocationZ(); ok {
|
||||
_spec.SetField(ue.FieldLocationZ, field.TypeInt, value)
|
||||
_node.LocationZ = value
|
||||
}
|
||||
if value, ok := uc.mutation.LocationN(); ok {
|
||||
_spec.SetField(ue.FieldLocationN, field.TypeInt, value)
|
||||
_node.LocationN = value
|
||||
}
|
||||
if value, ok := uc.mutation.Author(); ok {
|
||||
_spec.SetField(ue.FieldAuthor, field.TypeString, value)
|
||||
_node.Author = value
|
||||
}
|
||||
if value, ok := uc.mutation.CreatedAt(); ok {
|
||||
_spec.SetField(ue.FieldCreatedAt, field.TypeTime, value)
|
||||
_node.CreatedAt = value
|
||||
}
|
||||
if nodes := uc.mutation.OwnerIDs(); len(nodes) > 0 {
|
||||
edge := &sqlgraph.EdgeSpec{
|
||||
Rel: sqlgraph.M2O,
|
||||
Inverse: true,
|
||||
Table: ue.OwnerTable,
|
||||
Columns: []string{ue.OwnerColumn},
|
||||
Bidi: false,
|
||||
Target: &sqlgraph.EdgeTarget{
|
||||
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt),
|
||||
},
|
||||
}
|
||||
for _, k := range nodes {
|
||||
edge.Target.Nodes = append(edge.Target.Nodes, k)
|
||||
}
|
||||
_node.user_ue = &nodes[0]
|
||||
_spec.Edges = append(_spec.Edges, edge)
|
||||
}
|
||||
return _node, _spec
|
||||
}
|
||||
|
||||
// UeCreateBulk is the builder for creating many Ue entities in bulk.
|
||||
type UeCreateBulk struct {
|
||||
config
|
||||
builders []*UeCreate
|
||||
}
|
||||
|
||||
// Save creates the Ue entities in the database.
|
||||
func (ucb *UeCreateBulk) Save(ctx context.Context) ([]*Ue, error) {
|
||||
specs := make([]*sqlgraph.CreateSpec, len(ucb.builders))
|
||||
nodes := make([]*Ue, len(ucb.builders))
|
||||
mutators := make([]Mutator, len(ucb.builders))
|
||||
for i := range ucb.builders {
|
||||
func(i int, root context.Context) {
|
||||
builder := ucb.builders[i]
|
||||
builder.defaults()
|
||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||
mutation, ok := m.(*UeMutation)
|
||||
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, ucb.builders[i+1].mutation)
|
||||
} else {
|
||||
spec := &sqlgraph.BatchCreateSpec{Nodes: specs}
|
||||
// Invoke the actual operation on the latest mutation in the chain.
|
||||
if err = sqlgraph.BatchCreate(ctx, ucb.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 = int(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, ucb.builders[0].mutation); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return nodes, nil
|
||||
}
|
||||
|
||||
// SaveX is like Save, but panics if an error occurs.
|
||||
func (ucb *UeCreateBulk) SaveX(ctx context.Context) []*Ue {
|
||||
v, err := ucb.Save(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// Exec executes the query.
|
||||
func (ucb *UeCreateBulk) Exec(ctx context.Context) error {
|
||||
_, err := ucb.Save(ctx)
|
||||
return err
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (ucb *UeCreateBulk) ExecX(ctx context.Context) {
|
||||
if err := ucb.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
88
ent/ue_delete.go
Normal file
88
ent/ue_delete.go
Normal file
@ -0,0 +1,88 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/predicate"
|
||||
"api/ent/ue"
|
||||
"context"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// UeDelete is the builder for deleting a Ue entity.
|
||||
type UeDelete struct {
|
||||
config
|
||||
hooks []Hook
|
||||
mutation *UeMutation
|
||||
}
|
||||
|
||||
// Where appends a list predicates to the UeDelete builder.
|
||||
func (ud *UeDelete) Where(ps ...predicate.Ue) *UeDelete {
|
||||
ud.mutation.Where(ps...)
|
||||
return ud
|
||||
}
|
||||
|
||||
// Exec executes the deletion query and returns how many vertices were deleted.
|
||||
func (ud *UeDelete) Exec(ctx context.Context) (int, error) {
|
||||
return withHooks[int, UeMutation](ctx, ud.sqlExec, ud.mutation, ud.hooks)
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (ud *UeDelete) ExecX(ctx context.Context) int {
|
||||
n, err := ud.Exec(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (ud *UeDelete) sqlExec(ctx context.Context) (int, error) {
|
||||
_spec := sqlgraph.NewDeleteSpec(ue.Table, sqlgraph.NewFieldSpec(ue.FieldID, field.TypeInt))
|
||||
if ps := ud.mutation.predicates; len(ps) > 0 {
|
||||
_spec.Predicate = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
affected, err := sqlgraph.DeleteNodes(ctx, ud.driver, _spec)
|
||||
if err != nil && sqlgraph.IsConstraintError(err) {
|
||||
err = &ConstraintError{msg: err.Error(), wrap: err}
|
||||
}
|
||||
ud.mutation.done = true
|
||||
return affected, err
|
||||
}
|
||||
|
||||
// UeDeleteOne is the builder for deleting a single Ue entity.
|
||||
type UeDeleteOne struct {
|
||||
ud *UeDelete
|
||||
}
|
||||
|
||||
// Where appends a list predicates to the UeDelete builder.
|
||||
func (udo *UeDeleteOne) Where(ps ...predicate.Ue) *UeDeleteOne {
|
||||
udo.ud.mutation.Where(ps...)
|
||||
return udo
|
||||
}
|
||||
|
||||
// Exec executes the deletion query.
|
||||
func (udo *UeDeleteOne) Exec(ctx context.Context) error {
|
||||
n, err := udo.ud.Exec(ctx)
|
||||
switch {
|
||||
case err != nil:
|
||||
return err
|
||||
case n == 0:
|
||||
return &NotFoundError{ue.Label}
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// ExecX is like Exec, but panics if an error occurs.
|
||||
func (udo *UeDeleteOne) ExecX(ctx context.Context) {
|
||||
if err := udo.Exec(ctx); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
613
ent/ue_query.go
Normal file
613
ent/ue_query.go
Normal file
@ -0,0 +1,613 @@
|
||||
// Code generated by ent, DO NOT EDIT.
|
||||
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/predicate"
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
// UeQuery is the builder for querying Ue entities.
|
||||
type UeQuery struct {
|
||||
config
|
||||
ctx *QueryContext
|
||||
order []ue.OrderOption
|
||||
inters []Interceptor
|
||||
predicates []predicate.Ue
|
||||
withOwner *UserQuery
|
||||
withFKs bool
|
||||
// intermediate query (i.e. traversal path).
|
||||
sql *sql.Selector
|
||||
path func(context.Context) (*sql.Selector, error)
|
||||
}
|
||||
|
||||
// Where adds a new predicate for the UeQuery builder.
|
||||
func (uq *UeQuery) Where(ps ...predicate.Ue) *UeQuery {
|
||||
uq.predicates = append(uq.predicates, ps...)
|
||||
return uq
|
||||
}
|
||||
|
||||
// Limit the number of records to be returned by this query.
|
||||
func (uq *UeQuery) Limit(limit int) *UeQuery {
|
||||
uq.ctx.Limit = &limit
|
||||
return uq
|
||||
}
|
||||
|
||||
// Offset to start from.
|
||||
func (uq *UeQuery) Offset(offset int) *UeQuery {
|
||||
uq.ctx.Offset = &offset
|
||||
return uq
|
||||
}
|
||||
|
||||
// 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 (uq *UeQuery) Unique(unique bool) *UeQuery {
|
||||
uq.ctx.Unique = &unique
|
||||
return uq
|
||||
}
|
||||
|
||||
// Order specifies how the records should be ordered.
|
||||
func (uq *UeQuery) Order(o ...ue.OrderOption) *UeQuery {
|
||||
uq.order = append(uq.order, o...)
|
||||
return uq
|
||||
}
|
||||
|
||||
// QueryOwner chains the current query on the "owner" edge.
|
||||
func (uq *UeQuery) QueryOwner() *UserQuery {
|
||||
query := (&UserClient{config: uq.config}).Query()
|
||||
query.path = func(ctx context.Context) (fromU *sql.Selector, err error) {
|
||||
if err := uq.prepareQuery(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
selector := uq.sqlQuery(ctx)
|
||||
if err := selector.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(ue.Table, ue.FieldID, selector),
|
||||
sqlgraph.To(user.Table, user.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.M2O, true, ue.OwnerTable, ue.OwnerColumn),
|
||||
)
|
||||
fromU = sqlgraph.SetNeighbors(uq.driver.Dialect(), step)
|
||||
return fromU, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// First returns the first Ue entity from the query.
|
||||
// Returns a *NotFoundError when no Ue was found.
|
||||
func (uq *UeQuery) First(ctx context.Context) (*Ue, error) {
|
||||
nodes, err := uq.Limit(1).All(setContextOp(ctx, uq.ctx, "First"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(nodes) == 0 {
|
||||
return nil, &NotFoundError{ue.Label}
|
||||
}
|
||||
return nodes[0], nil
|
||||
}
|
||||
|
||||
// FirstX is like First, but panics if an error occurs.
|
||||
func (uq *UeQuery) FirstX(ctx context.Context) *Ue {
|
||||
node, err := uq.First(ctx)
|
||||
if err != nil && !IsNotFound(err) {
|
||||
panic(err)
|
||||
}
|
||||
return node
|
||||
}
|
||||
|
||||
// FirstID returns the first Ue ID from the query.
|
||||
// Returns a *NotFoundError when no Ue ID was found.
|
||||
func (uq *UeQuery) FirstID(ctx context.Context) (id int, err error) {
|
||||
var ids []int
|
||||
if ids, err = uq.Limit(1).IDs(setContextOp(ctx, uq.ctx, "FirstID")); err != nil {
|
||||
return
|
||||
}
|
||||
if len(ids) == 0 {
|
||||
err = &NotFoundError{ue.Label}
|
||||
return
|
||||
}
|
||||
return ids[0], nil
|
||||
}
|
||||
|
||||
// FirstIDX is like FirstID, but panics if an error occurs.
|
||||
func (uq *UeQuery) FirstIDX(ctx context.Context) int {
|
||||
id, err := uq.FirstID(ctx)
|
||||
if err != nil && !IsNotFound(err) {
|
||||
panic(err)
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
// Only returns a single Ue entity found by the query, ensuring it only returns one.
|
||||
// Returns a *NotSingularError when more than one Ue entity is found.
|
||||
// Returns a *NotFoundError when no Ue entities are found.
|
||||
func (uq *UeQuery) Only(ctx context.Context) (*Ue, error) {
|
||||
nodes, err := uq.Limit(2).All(setContextOp(ctx, uq.ctx, "Only"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch len(nodes) {
|
||||
case 1:
|
||||
return nodes[0], nil
|
||||
case 0:
|
||||
return nil, &NotFoundError{ue.Label}
|
||||
default:
|
||||
return nil, &NotSingularError{ue.Label}
|
||||
}
|
||||
}
|
||||
|
||||
// OnlyX is like Only, but panics if an error occurs.
|
||||
func (uq *UeQuery) OnlyX(ctx context.Context) *Ue {
|
||||
node, err := uq.Only(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return node
|
||||
}
|
||||
|
||||
// OnlyID is like Only, but returns the only Ue ID in the query.
|
||||
// Returns a *NotSingularError when more than one Ue ID is found.
|
||||
// Returns a *NotFoundError when no entities are found.
|
||||
func (uq *UeQuery) OnlyID(ctx context.Context) (id int, err error) {
|
||||
var ids []int
|
||||
if ids, err = uq.Limit(2).IDs(setContextOp(ctx, uq.ctx, "OnlyID")); err != nil {
|
||||
return
|
||||
}
|
||||
switch len(ids) {
|
||||
case 1:
|
||||
id = ids[0]
|
||||
case 0:
|
||||
err = &NotFoundError{ue.Label}
|
||||
default:
|
||||
err = &NotSingularError{ue.Label}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// OnlyIDX is like OnlyID, but panics if an error occurs.
|
||||
func (uq *UeQuery) OnlyIDX(ctx context.Context) int {
|
||||
id, err := uq.OnlyID(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
// All executes the query and returns a list of Ues.
|
||||
func (uq *UeQuery) All(ctx context.Context) ([]*Ue, error) {
|
||||
ctx = setContextOp(ctx, uq.ctx, "All")
|
||||
if err := uq.prepareQuery(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
qr := querierAll[[]*Ue, *UeQuery]()
|
||||
return withInterceptors[[]*Ue](ctx, uq, qr, uq.inters)
|
||||
}
|
||||
|
||||
// AllX is like All, but panics if an error occurs.
|
||||
func (uq *UeQuery) AllX(ctx context.Context) []*Ue {
|
||||
nodes, err := uq.All(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return nodes
|
||||
}
|
||||
|
||||
// IDs executes the query and returns a list of Ue IDs.
|
||||
func (uq *UeQuery) IDs(ctx context.Context) (ids []int, err error) {
|
||||
if uq.ctx.Unique == nil && uq.path != nil {
|
||||
uq.Unique(true)
|
||||
}
|
||||
ctx = setContextOp(ctx, uq.ctx, "IDs")
|
||||
if err = uq.Select(ue.FieldID).Scan(ctx, &ids); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
// IDsX is like IDs, but panics if an error occurs.
|
||||
func (uq *UeQuery) IDsX(ctx context.Context) []int {
|
||||
ids, err := uq.IDs(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return ids
|
||||
}
|
||||
|
||||
// Count returns the count of the given query.
|
||||
func (uq *UeQuery) Count(ctx context.Context) (int, error) {
|
||||
ctx = setContextOp(ctx, uq.ctx, "Count")
|
||||
if err := uq.prepareQuery(ctx); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return withInterceptors[int](ctx, uq, querierCount[*UeQuery](), uq.inters)
|
||||
}
|
||||
|
||||
// CountX is like Count, but panics if an error occurs.
|
||||
func (uq *UeQuery) CountX(ctx context.Context) int {
|
||||
count, err := uq.Count(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
||||
// Exist returns true if the query has elements in the graph.
|
||||
func (uq *UeQuery) Exist(ctx context.Context) (bool, error) {
|
||||
ctx = setContextOp(ctx, uq.ctx, "Exist")
|
||||
switch _, err := uq.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 (uq *UeQuery) ExistX(ctx context.Context) bool {
|
||||
exist, err := uq.Exist(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return exist
|
||||
}
|
||||
|
||||
// Clone returns a duplicate of the UeQuery builder, including all associated steps. It can be
|
||||
// used to prepare common query builders and use them differently after the clone is made.
|
||||
func (uq *UeQuery) Clone() *UeQuery {
|
||||
if uq == nil {
|
||||
return nil
|
||||
}
|
||||
return &UeQuery{
|
||||
config: uq.config,
|
||||
ctx: uq.ctx.Clone(),
|
||||
order: append([]ue.OrderOption{}, uq.order...),
|
||||
inters: append([]Interceptor{}, uq.inters...),
|
||||
predicates: append([]predicate.Ue{}, uq.predicates...),
|
||||
withOwner: uq.withOwner.Clone(),
|
||||
// clone intermediate query.
|
||||
sql: uq.sql.Clone(),
|
||||
path: uq.path,
|
||||
}
|
||||
}
|
||||
|
||||
// WithOwner tells the query-builder to eager-load the nodes that are connected to
|
||||
// the "owner" edge. The optional arguments are used to configure the query builder of the edge.
|
||||
func (uq *UeQuery) WithOwner(opts ...func(*UserQuery)) *UeQuery {
|
||||
query := (&UserClient{config: uq.config}).Query()
|
||||
for _, opt := range opts {
|
||||
opt(query)
|
||||
}
|
||||
uq.withOwner = query
|
||||
return uq
|
||||
}
|
||||
|
||||
// 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 {
|
||||
// Limit bool `json:"limit,omitempty"`
|
||||
// Count int `json:"count,omitempty"`
|
||||
// }
|
||||
//
|
||||
// client.Ue.Query().
|
||||
// GroupBy(ue.FieldLimit).
|
||||
// Aggregate(ent.Count()).
|
||||
// Scan(ctx, &v)
|
||||
func (uq *UeQuery) GroupBy(field string, fields ...string) *UeGroupBy {
|
||||
uq.ctx.Fields = append([]string{field}, fields...)
|
||||
grbuild := &UeGroupBy{build: uq}
|
||||
grbuild.flds = &uq.ctx.Fields
|
||||
grbuild.label = ue.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 {
|
||||
// Limit bool `json:"limit,omitempty"`
|
||||
// }
|
||||
//
|
||||
// client.Ue.Query().
|
||||
// Select(ue.FieldLimit).
|
||||
// Scan(ctx, &v)
|
||||
func (uq *UeQuery) Select(fields ...string) *UeSelect {
|
||||
uq.ctx.Fields = append(uq.ctx.Fields, fields...)
|
||||
sbuild := &UeSelect{UeQuery: uq}
|
||||
sbuild.label = ue.Label
|
||||
sbuild.flds, sbuild.scan = &uq.ctx.Fields, sbuild.Scan
|
||||
return sbuild
|
||||
}
|
||||
|
||||
// Aggregate returns a UeSelect configured with the given aggregations.
|
||||
func (uq *UeQuery) Aggregate(fns ...AggregateFunc) *UeSelect {
|
||||
return uq.Select().Aggregate(fns...)
|
||||
}
|
||||
|
||||
func (uq *UeQuery) prepareQuery(ctx context.Context) error {
|
||||
for _, inter := range uq.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, uq); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, f := range uq.ctx.Fields {
|
||||
if !ue.ValidColumn(f) {
|
||||
return &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
|
||||
}
|
||||
}
|
||||
if uq.path != nil {
|
||||
prev, err := uq.path(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
uq.sql = prev
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (uq *UeQuery) sqlAll(ctx context.Context, hooks ...queryHook) ([]*Ue, error) {
|
||||
var (
|
||||
nodes = []*Ue{}
|
||||
withFKs = uq.withFKs
|
||||
_spec = uq.querySpec()
|
||||
loadedTypes = [1]bool{
|
||||
uq.withOwner != nil,
|
||||
}
|
||||
)
|
||||
if uq.withOwner != nil {
|
||||
withFKs = true
|
||||
}
|
||||
if withFKs {
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, ue.ForeignKeys...)
|
||||
}
|
||||
_spec.ScanValues = func(columns []string) ([]any, error) {
|
||||
return (*Ue).scanValues(nil, columns)
|
||||
}
|
||||
_spec.Assign = func(columns []string, values []any) error {
|
||||
node := &Ue{config: uq.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, uq.driver, _spec); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(nodes) == 0 {
|
||||
return nodes, nil
|
||||
}
|
||||
if query := uq.withOwner; query != nil {
|
||||
if err := uq.loadOwner(ctx, query, nodes, nil,
|
||||
func(n *Ue, e *User) { n.Edges.Owner = e }); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return nodes, nil
|
||||
}
|
||||
|
||||
func (uq *UeQuery) loadOwner(ctx context.Context, query *UserQuery, nodes []*Ue, init func(*Ue), assign func(*Ue, *User)) error {
|
||||
ids := make([]int, 0, len(nodes))
|
||||
nodeids := make(map[int][]*Ue)
|
||||
for i := range nodes {
|
||||
if nodes[i].user_ue == nil {
|
||||
continue
|
||||
}
|
||||
fk := *nodes[i].user_ue
|
||||
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_ue" returned %v`, n.ID)
|
||||
}
|
||||
for i := range nodes {
|
||||
assign(nodes[i], n)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (uq *UeQuery) sqlCount(ctx context.Context) (int, error) {
|
||||
_spec := uq.querySpec()
|
||||
_spec.Node.Columns = uq.ctx.Fields
|
||||
if len(uq.ctx.Fields) > 0 {
|
||||
_spec.Unique = uq.ctx.Unique != nil && *uq.ctx.Unique
|
||||
}
|
||||
return sqlgraph.CountNodes(ctx, uq.driver, _spec)
|
||||
}
|
||||
|
||||
func (uq *UeQuery) querySpec() *sqlgraph.QuerySpec {
|
||||
_spec := sqlgraph.NewQuerySpec(ue.Table, ue.Columns, sqlgraph.NewFieldSpec(ue.FieldID, field.TypeInt))
|
||||
_spec.From = uq.sql
|
||||
if unique := uq.ctx.Unique; unique != nil {
|
||||
_spec.Unique = *unique
|
||||
} else if uq.path != nil {
|
||||
_spec.Unique = true
|
||||
}
|
||||
if fields := uq.ctx.Fields; len(fields) > 0 {
|
||||
_spec.Node.Columns = make([]string, 0, len(fields))
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, ue.FieldID)
|
||||
for i := range fields {
|
||||
if fields[i] != ue.FieldID {
|
||||
_spec.Node.Columns = append(_spec.Node.Columns, fields[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
if ps := uq.predicates; len(ps) > 0 {
|
||||
_spec.Predicate = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
if limit := uq.ctx.Limit; limit != nil {
|
||||
_spec.Limit = *limit
|
||||
}
|
||||
if offset := uq.ctx.Offset; offset != nil {
|
||||
_spec.Offset = *offset
|
||||
}
|
||||
if ps := uq.order; len(ps) > 0 {
|
||||
_spec.Order = func(selector *sql.Selector) {
|
||||
for i := range ps {
|
||||
ps[i](selector)
|
||||
}
|
||||
}
|
||||
}
|
||||
return _spec
|
||||
}
|
||||
|
||||
func (uq *UeQuery) sqlQuery(ctx context.Context) *sql.Selector {
|
||||
builder := sql.Dialect(uq.driver.Dialect())
|
||||
t1 := builder.Table(ue.Table)
|
||||
columns := uq.ctx.Fields
|
||||
if len(columns) == 0 {
|
||||
columns = ue.Columns
|
||||
}
|
||||
selector := builder.Select(t1.Columns(columns...)...).From(t1)
|
||||
if uq.sql != nil {
|
||||
selector = uq.sql
|
||||
selector.Select(selector.Columns(columns...)...)
|
||||
}
|
||||
if uq.ctx.Unique != nil && *uq.ctx.Unique {
|
||||
selector.Distinct()
|
||||
}
|
||||
for _, p := range uq.predicates {
|
||||
p(selector)
|
||||
}
|
||||
for _, p := range uq.order {
|
||||
p(selector)
|
||||
}
|
||||
if offset := uq.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 := uq.ctx.Limit; limit != nil {
|
||||
selector.Limit(*limit)
|
||||
}
|
||||
return selector
|
||||
}
|
||||
|
||||
// UeGroupBy is the group-by builder for Ue entities.
|
||||
type UeGroupBy struct {
|
||||
selector
|
||||
build *UeQuery
|
||||
}
|
||||
|
||||
// Aggregate adds the given aggregation functions to the group-by query.
|
||||
func (ugb *UeGroupBy) Aggregate(fns ...AggregateFunc) *UeGroupBy {
|
||||
ugb.fns = append(ugb.fns, fns...)
|
||||
return ugb
|
||||
}
|
||||
|
||||
// Scan applies the selector query and scans the result into the given value.
|
||||
func (ugb *UeGroupBy) Scan(ctx context.Context, v any) error {
|
||||
ctx = setContextOp(ctx, ugb.build.ctx, "GroupBy")
|
||||
if err := ugb.build.prepareQuery(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
return scanWithInterceptors[*UeQuery, *UeGroupBy](ctx, ugb.build, ugb, ugb.build.inters, v)
|
||||
}
|
||||
|
||||
func (ugb *UeGroupBy) sqlScan(ctx context.Context, root *UeQuery, v any) error {
|
||||
selector := root.sqlQuery(ctx).Select()
|
||||
aggregation := make([]string, 0, len(ugb.fns))
|
||||
for _, fn := range ugb.fns {
|
||||
aggregation = append(aggregation, fn(selector))
|
||||
}
|
||||
if len(selector.SelectedColumns()) == 0 {
|
||||
columns := make([]string, 0, len(*ugb.flds)+len(ugb.fns))
|
||||
for _, f := range *ugb.flds {
|
||||
columns = append(columns, selector.C(f))
|
||||
}
|
||||
columns = append(columns, aggregation...)
|
||||
selector.Select(columns...)
|
||||
}
|
||||
selector.GroupBy(selector.Columns(*ugb.flds...)...)
|
||||
if err := selector.Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
rows := &sql.Rows{}
|
||||
query, args := selector.Query()
|
||||
if err := ugb.build.driver.Query(ctx, query, args, rows); err != nil {
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
return sql.ScanSlice(rows, v)
|
||||
}
|
||||
|
||||
// UeSelect is the builder for selecting fields of Ue entities.
|
||||
type UeSelect struct {
|
||||
*UeQuery
|
||||
selector
|
||||
}
|
||||
|
||||
// Aggregate adds the given aggregation functions to the selector query.
|
||||
func (us *UeSelect) Aggregate(fns ...AggregateFunc) *UeSelect {
|
||||
us.fns = append(us.fns, fns...)
|
||||
return us
|
||||
}
|
||||
|
||||
// Scan applies the selector query and scans the result into the given value.
|
||||
func (us *UeSelect) Scan(ctx context.Context, v any) error {
|
||||
ctx = setContextOp(ctx, us.ctx, "Select")
|
||||
if err := us.prepareQuery(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
return scanWithInterceptors[*UeQuery, *UeSelect](ctx, us.UeQuery, us, us.inters, v)
|
||||
}
|
||||
|
||||
func (us *UeSelect) sqlScan(ctx context.Context, root *UeQuery, v any) error {
|
||||
selector := root.sqlQuery(ctx)
|
||||
aggregation := make([]string, 0, len(us.fns))
|
||||
for _, fn := range us.fns {
|
||||
aggregation = append(aggregation, fn(selector))
|
||||
}
|
||||
switch n := len(*us.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 := us.driver.Query(ctx, query, args, rows); err != nil {
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
return sql.ScanSlice(rows, v)
|
||||
}
|
1400
ent/ue_update.go
Normal file
1400
ent/ue_update.go
Normal file
File diff suppressed because it is too large
Load Diff
564
ent/user.go
564
ent/user.go
@ -3,11 +3,12 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/user"
|
||||
"fmt"
|
||||
"strings"
|
||||
"t/ent/user"
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
)
|
||||
|
||||
@ -18,25 +19,122 @@ type User struct {
|
||||
ID int `json:"id,omitempty"`
|
||||
// Username holds the value of the "username" field.
|
||||
Username string `json:"username,omitempty"`
|
||||
// Did holds the value of the "did" field.
|
||||
Did string `json:"did,omitempty"`
|
||||
// Member holds the value of the "member" field.
|
||||
Member bool `json:"member,omitempty"`
|
||||
// Book holds the value of the "book" field.
|
||||
Book bool `json:"book,omitempty"`
|
||||
// Manga holds the value of the "manga" field.
|
||||
Manga bool `json:"manga,omitempty"`
|
||||
// Badge holds the value of the "badge" field.
|
||||
Badge bool `json:"badge,omitempty"`
|
||||
// Bsky holds the value of the "bsky" field.
|
||||
Bsky bool `json:"bsky,omitempty"`
|
||||
// Mastodon holds the value of the "mastodon" field.
|
||||
Mastodon bool `json:"mastodon,omitempty"`
|
||||
// Delete holds the value of the "delete" field.
|
||||
Delete bool `json:"delete,omitempty"`
|
||||
// Handle holds the value of the "handle" field.
|
||||
Handle bool `json:"handle,omitempty"`
|
||||
// Token holds the value of the "token" field.
|
||||
Token string `json:"-"`
|
||||
// Password holds the value of the "password" field.
|
||||
Password string `json:"-"`
|
||||
// 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"`
|
||||
// RaidAt holds the value of the "raid_at" field.
|
||||
RaidAt time.Time `json:"raid_at,omitempty"`
|
||||
// ServerAt holds the value of the "server_at" field.
|
||||
ServerAt time.Time `json:"server_at,omitempty"`
|
||||
// EggAt holds the value of the "egg_at" field.
|
||||
EggAt time.Time `json:"egg_at,omitempty"`
|
||||
// Luck holds the value of the "luck" field.
|
||||
Luck int `json:"luck,omitempty"`
|
||||
// LuckAt holds the value of the "luck_at" field.
|
||||
LuckAt time.Time `json:"luck_at,omitempty"`
|
||||
// Like holds the value of the "like" field.
|
||||
Like int `json:"like,omitempty"`
|
||||
// LikeRank holds the value of the "like_rank" field.
|
||||
LikeRank int `json:"like_rank,omitempty"`
|
||||
// LikeAt holds the value of the "like_at" field.
|
||||
LikeAt time.Time `json:"like_at,omitempty"`
|
||||
// Fav holds the value of the "fav" field.
|
||||
Fav int `json:"fav,omitempty"`
|
||||
// Ten holds the value of the "ten" field.
|
||||
Ten bool `json:"ten,omitempty"`
|
||||
// TenSu holds the value of the "ten_su" field.
|
||||
TenSu int `json:"ten_su,omitempty"`
|
||||
// TenKai holds the value of the "ten_kai" field.
|
||||
TenKai int `json:"ten_kai,omitempty"`
|
||||
// Aiten holds the value of the "aiten" field.
|
||||
Aiten int `json:"aiten,omitempty"`
|
||||
// TenCard holds the value of the "ten_card" field.
|
||||
TenCard string `json:"ten_card,omitempty"`
|
||||
// TenDelete holds the value of the "ten_delete" field.
|
||||
TenDelete string `json:"ten_delete,omitempty"`
|
||||
// TenPost holds the value of the "ten_post" field.
|
||||
TenPost string `json:"ten_post,omitempty"`
|
||||
// TenGet holds the value of the "ten_get" field.
|
||||
TenGet string `json:"ten_get,omitempty"`
|
||||
// TenAt holds the value of the "ten_at" field.
|
||||
TenAt time.Time `json:"ten_at,omitempty"`
|
||||
// Next holds the value of the "next" field.
|
||||
Next string `json:"next,omitempty"`
|
||||
// Room holds the value of the "room" field.
|
||||
Room int `json:"room,omitempty"`
|
||||
// Model holds the value of the "model" field.
|
||||
Model bool `json:"model,omitempty"`
|
||||
// ModelAt holds the value of the "model_at" field.
|
||||
ModelAt time.Time `json:"model_at,omitempty"`
|
||||
// ModelAttack holds the value of the "model_attack" field.
|
||||
ModelAttack int `json:"model_attack,omitempty"`
|
||||
// ModelLimit holds the value of the "model_limit" field.
|
||||
ModelLimit int `json:"model_limit,omitempty"`
|
||||
// ModelSkill holds the value of the "model_skill" field.
|
||||
ModelSkill int `json:"model_skill,omitempty"`
|
||||
// ModelMode holds the value of the "model_mode" field.
|
||||
ModelMode int `json:"model_mode,omitempty"`
|
||||
// ModelCritical holds the value of the "model_critical" field.
|
||||
ModelCritical int `json:"model_critical,omitempty"`
|
||||
// ModelCriticalD holds the value of the "model_critical_d" field.
|
||||
ModelCriticalD int `json:"model_critical_d,omitempty"`
|
||||
// Game holds the value of the "game" field.
|
||||
Game bool `json:"game,omitempty"`
|
||||
// GameTest holds the value of the "game_test" field.
|
||||
GameTest bool `json:"game_test,omitempty"`
|
||||
// GameEnd holds the value of the "game_end" field.
|
||||
GameEnd bool `json:"game_end,omitempty"`
|
||||
// GameAccount holds the value of the "game_account" field.
|
||||
GameAccount bool `json:"game_account,omitempty"`
|
||||
// GameLv holds the value of the "game_lv" field.
|
||||
GameLv int `json:"game_lv,omitempty"`
|
||||
// Coin holds the value of the "coin" field.
|
||||
Coin int `json:"coin,omitempty"`
|
||||
// CoinOpen holds the value of the "coin_open" field.
|
||||
CoinOpen bool `json:"coin_open,omitempty"`
|
||||
// CoinAt holds the value of the "coin_at" field.
|
||||
CoinAt time.Time `json:"coin_at,omitempty"`
|
||||
// Edges holds the relations/edges for other nodes in the graph.
|
||||
// The values are being populated by the UserQuery when eager-loading is set.
|
||||
Edges UserEdges `json:"edges"`
|
||||
group_users *int
|
||||
Edges UserEdges `json:"edges"`
|
||||
group_users *int
|
||||
selectValues sql.SelectValues
|
||||
}
|
||||
|
||||
// UserEdges holds the relations/edges for other nodes in the graph.
|
||||
type UserEdges struct {
|
||||
// Card holds the value of the card edge.
|
||||
Card []*Card `json:"card,omitempty"`
|
||||
// Ue holds the value of the ue edge.
|
||||
Ue []*Ue `json:"ue,omitempty"`
|
||||
// Ma holds the value of the ma edge.
|
||||
Ma []*Ma `json:"ma,omitempty"`
|
||||
// loadedTypes holds the information for reporting if a
|
||||
// type was loaded (or requested) in eager-loading or not.
|
||||
loadedTypes [1]bool
|
||||
loadedTypes [3]bool
|
||||
}
|
||||
|
||||
// CardOrErr returns the Card value or an error if the edge
|
||||
@ -48,21 +146,41 @@ func (e UserEdges) CardOrErr() ([]*Card, error) {
|
||||
return nil, &NotLoadedError{edge: "card"}
|
||||
}
|
||||
|
||||
// UeOrErr returns the Ue value or an error if the edge
|
||||
// was not loaded in eager-loading.
|
||||
func (e UserEdges) UeOrErr() ([]*Ue, error) {
|
||||
if e.loadedTypes[1] {
|
||||
return e.Ue, nil
|
||||
}
|
||||
return nil, &NotLoadedError{edge: "ue"}
|
||||
}
|
||||
|
||||
// MaOrErr returns the Ma value or an error if the edge
|
||||
// was not loaded in eager-loading.
|
||||
func (e UserEdges) MaOrErr() ([]*Ma, error) {
|
||||
if e.loadedTypes[2] {
|
||||
return e.Ma, nil
|
||||
}
|
||||
return nil, &NotLoadedError{edge: "ma"}
|
||||
}
|
||||
|
||||
// scanValues returns the types for scanning values from sql.Rows.
|
||||
func (*User) scanValues(columns []string) ([]any, error) {
|
||||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case user.FieldID:
|
||||
case user.FieldMember, user.FieldBook, user.FieldManga, user.FieldBadge, user.FieldBsky, user.FieldMastodon, user.FieldDelete, user.FieldHandle, user.FieldTen, user.FieldModel, user.FieldGame, user.FieldGameTest, user.FieldGameEnd, user.FieldGameAccount, user.FieldCoinOpen:
|
||||
values[i] = new(sql.NullBool)
|
||||
case user.FieldID, user.FieldLuck, user.FieldLike, user.FieldLikeRank, user.FieldFav, user.FieldTenSu, user.FieldTenKai, user.FieldAiten, user.FieldRoom, user.FieldModelAttack, user.FieldModelLimit, user.FieldModelSkill, user.FieldModelMode, user.FieldModelCritical, user.FieldModelCriticalD, user.FieldGameLv, user.FieldCoin:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case user.FieldUsername, user.FieldNext:
|
||||
case user.FieldUsername, user.FieldDid, user.FieldToken, user.FieldPassword, user.FieldTenCard, user.FieldTenDelete, user.FieldTenPost, user.FieldTenGet, user.FieldNext:
|
||||
values[i] = new(sql.NullString)
|
||||
case user.FieldCreatedAt, user.FieldUpdatedAt:
|
||||
case user.FieldCreatedAt, user.FieldUpdatedAt, user.FieldRaidAt, user.FieldServerAt, user.FieldEggAt, user.FieldLuckAt, user.FieldLikeAt, user.FieldTenAt, user.FieldModelAt, user.FieldCoinAt:
|
||||
values[i] = new(sql.NullTime)
|
||||
case user.ForeignKeys[0]: // group_users
|
||||
values[i] = new(sql.NullInt64)
|
||||
default:
|
||||
return nil, fmt.Errorf("unexpected column %q for type User", columns[i])
|
||||
values[i] = new(sql.UnknownType)
|
||||
}
|
||||
}
|
||||
return values, nil
|
||||
@ -88,6 +206,72 @@ func (u *User) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
u.Username = value.String
|
||||
}
|
||||
case user.FieldDid:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field did", values[i])
|
||||
} else if value.Valid {
|
||||
u.Did = value.String
|
||||
}
|
||||
case user.FieldMember:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field member", values[i])
|
||||
} else if value.Valid {
|
||||
u.Member = value.Bool
|
||||
}
|
||||
case user.FieldBook:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field book", values[i])
|
||||
} else if value.Valid {
|
||||
u.Book = value.Bool
|
||||
}
|
||||
case user.FieldManga:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field manga", values[i])
|
||||
} else if value.Valid {
|
||||
u.Manga = value.Bool
|
||||
}
|
||||
case user.FieldBadge:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field badge", values[i])
|
||||
} else if value.Valid {
|
||||
u.Badge = value.Bool
|
||||
}
|
||||
case user.FieldBsky:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field bsky", values[i])
|
||||
} else if value.Valid {
|
||||
u.Bsky = value.Bool
|
||||
}
|
||||
case user.FieldMastodon:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field mastodon", values[i])
|
||||
} else if value.Valid {
|
||||
u.Mastodon = value.Bool
|
||||
}
|
||||
case user.FieldDelete:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field delete", values[i])
|
||||
} else if value.Valid {
|
||||
u.Delete = value.Bool
|
||||
}
|
||||
case user.FieldHandle:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field handle", values[i])
|
||||
} else if value.Valid {
|
||||
u.Handle = value.Bool
|
||||
}
|
||||
case user.FieldToken:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field token", values[i])
|
||||
} else if value.Valid {
|
||||
u.Token = value.String
|
||||
}
|
||||
case user.FieldPassword:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field password", values[i])
|
||||
} else if value.Valid {
|
||||
u.Password = value.String
|
||||
}
|
||||
case user.FieldCreatedAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field created_at", values[i])
|
||||
@ -100,12 +284,222 @@ func (u *User) assignValues(columns []string, values []any) error {
|
||||
} else if value.Valid {
|
||||
u.UpdatedAt = value.Time
|
||||
}
|
||||
case user.FieldRaidAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field raid_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.RaidAt = value.Time
|
||||
}
|
||||
case user.FieldServerAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field server_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.ServerAt = value.Time
|
||||
}
|
||||
case user.FieldEggAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field egg_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.EggAt = value.Time
|
||||
}
|
||||
case user.FieldLuck:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field luck", values[i])
|
||||
} else if value.Valid {
|
||||
u.Luck = int(value.Int64)
|
||||
}
|
||||
case user.FieldLuckAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field luck_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.LuckAt = value.Time
|
||||
}
|
||||
case user.FieldLike:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field like", values[i])
|
||||
} else if value.Valid {
|
||||
u.Like = int(value.Int64)
|
||||
}
|
||||
case user.FieldLikeRank:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field like_rank", values[i])
|
||||
} else if value.Valid {
|
||||
u.LikeRank = int(value.Int64)
|
||||
}
|
||||
case user.FieldLikeAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field like_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.LikeAt = value.Time
|
||||
}
|
||||
case user.FieldFav:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field fav", values[i])
|
||||
} else if value.Valid {
|
||||
u.Fav = int(value.Int64)
|
||||
}
|
||||
case user.FieldTen:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten", values[i])
|
||||
} else if value.Valid {
|
||||
u.Ten = value.Bool
|
||||
}
|
||||
case user.FieldTenSu:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_su", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenSu = int(value.Int64)
|
||||
}
|
||||
case user.FieldTenKai:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_kai", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenKai = int(value.Int64)
|
||||
}
|
||||
case user.FieldAiten:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field aiten", values[i])
|
||||
} else if value.Valid {
|
||||
u.Aiten = int(value.Int64)
|
||||
}
|
||||
case user.FieldTenCard:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_card", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenCard = value.String
|
||||
}
|
||||
case user.FieldTenDelete:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_delete", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenDelete = value.String
|
||||
}
|
||||
case user.FieldTenPost:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_post", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenPost = value.String
|
||||
}
|
||||
case user.FieldTenGet:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_get", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenGet = value.String
|
||||
}
|
||||
case user.FieldTenAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field ten_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.TenAt = value.Time
|
||||
}
|
||||
case user.FieldNext:
|
||||
if value, ok := values[i].(*sql.NullString); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field next", values[i])
|
||||
} else if value.Valid {
|
||||
u.Next = value.String
|
||||
}
|
||||
case user.FieldRoom:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field room", values[i])
|
||||
} else if value.Valid {
|
||||
u.Room = int(value.Int64)
|
||||
}
|
||||
case user.FieldModel:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model", values[i])
|
||||
} else if value.Valid {
|
||||
u.Model = value.Bool
|
||||
}
|
||||
case user.FieldModelAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelAt = value.Time
|
||||
}
|
||||
case user.FieldModelAttack:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_attack", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelAttack = int(value.Int64)
|
||||
}
|
||||
case user.FieldModelLimit:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_limit", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelLimit = int(value.Int64)
|
||||
}
|
||||
case user.FieldModelSkill:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_skill", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelSkill = int(value.Int64)
|
||||
}
|
||||
case user.FieldModelMode:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_mode", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelMode = int(value.Int64)
|
||||
}
|
||||
case user.FieldModelCritical:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_critical", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelCritical = int(value.Int64)
|
||||
}
|
||||
case user.FieldModelCriticalD:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field model_critical_d", values[i])
|
||||
} else if value.Valid {
|
||||
u.ModelCriticalD = int(value.Int64)
|
||||
}
|
||||
case user.FieldGame:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field game", values[i])
|
||||
} else if value.Valid {
|
||||
u.Game = value.Bool
|
||||
}
|
||||
case user.FieldGameTest:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field game_test", values[i])
|
||||
} else if value.Valid {
|
||||
u.GameTest = value.Bool
|
||||
}
|
||||
case user.FieldGameEnd:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field game_end", values[i])
|
||||
} else if value.Valid {
|
||||
u.GameEnd = value.Bool
|
||||
}
|
||||
case user.FieldGameAccount:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field game_account", values[i])
|
||||
} else if value.Valid {
|
||||
u.GameAccount = value.Bool
|
||||
}
|
||||
case user.FieldGameLv:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field game_lv", values[i])
|
||||
} else if value.Valid {
|
||||
u.GameLv = int(value.Int64)
|
||||
}
|
||||
case user.FieldCoin:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field coin", values[i])
|
||||
} else if value.Valid {
|
||||
u.Coin = int(value.Int64)
|
||||
}
|
||||
case user.FieldCoinOpen:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field coin_open", values[i])
|
||||
} else if value.Valid {
|
||||
u.CoinOpen = value.Bool
|
||||
}
|
||||
case user.FieldCoinAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field coin_at", values[i])
|
||||
} else if value.Valid {
|
||||
u.CoinAt = value.Time
|
||||
}
|
||||
case user.ForeignKeys[0]:
|
||||
if value, ok := values[i].(*sql.NullInt64); !ok {
|
||||
return fmt.Errorf("unexpected type %T for edge-field group_users", value)
|
||||
@ -113,16 +507,34 @@ func (u *User) assignValues(columns []string, values []any) error {
|
||||
u.group_users = new(int)
|
||||
*u.group_users = int(value.Int64)
|
||||
}
|
||||
default:
|
||||
u.selectValues.Set(columns[i], values[i])
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Value returns the ent.Value that was dynamically selected and assigned to the User.
|
||||
// This includes values selected through modifiers, order, etc.
|
||||
func (u *User) Value(name string) (ent.Value, error) {
|
||||
return u.selectValues.Get(name)
|
||||
}
|
||||
|
||||
// QueryCard queries the "card" edge of the User entity.
|
||||
func (u *User) QueryCard() *CardQuery {
|
||||
return NewUserClient(u.config).QueryCard(u)
|
||||
}
|
||||
|
||||
// QueryUe queries the "ue" edge of the User entity.
|
||||
func (u *User) QueryUe() *UeQuery {
|
||||
return NewUserClient(u.config).QueryUe(u)
|
||||
}
|
||||
|
||||
// QueryMa queries the "ma" edge of the User entity.
|
||||
func (u *User) QueryMa() *MaQuery {
|
||||
return NewUserClient(u.config).QueryMa(u)
|
||||
}
|
||||
|
||||
// Update returns a builder for updating this User.
|
||||
// Note that you need to call User.Unwrap() before calling this method if this User
|
||||
// was returned from a transaction, and the transaction was committed or rolled back.
|
||||
@ -149,14 +561,150 @@ func (u *User) String() string {
|
||||
builder.WriteString("username=")
|
||||
builder.WriteString(u.Username)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("did=")
|
||||
builder.WriteString(u.Did)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("member=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Member))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("book=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Book))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("manga=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Manga))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("badge=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Badge))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("bsky=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Bsky))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("mastodon=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Mastodon))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("delete=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Delete))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("handle=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Handle))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("token=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("password=<sensitive>")
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(u.CreatedAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("updated_at=")
|
||||
builder.WriteString(u.UpdatedAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("raid_at=")
|
||||
builder.WriteString(u.RaidAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("server_at=")
|
||||
builder.WriteString(u.ServerAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("egg_at=")
|
||||
builder.WriteString(u.EggAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("luck=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Luck))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("luck_at=")
|
||||
builder.WriteString(u.LuckAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("like=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Like))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("like_rank=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.LikeRank))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("like_at=")
|
||||
builder.WriteString(u.LikeAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("fav=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Fav))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Ten))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_su=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.TenSu))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_kai=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.TenKai))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("aiten=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Aiten))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_card=")
|
||||
builder.WriteString(u.TenCard)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_delete=")
|
||||
builder.WriteString(u.TenDelete)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_post=")
|
||||
builder.WriteString(u.TenPost)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_get=")
|
||||
builder.WriteString(u.TenGet)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("ten_at=")
|
||||
builder.WriteString(u.TenAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("next=")
|
||||
builder.WriteString(u.Next)
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("room=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Room))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Model))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_at=")
|
||||
builder.WriteString(u.ModelAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_attack=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.ModelAttack))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_limit=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.ModelLimit))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_skill=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.ModelSkill))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_mode=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.ModelMode))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_critical=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.ModelCritical))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("model_critical_d=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.ModelCriticalD))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("game=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Game))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("game_test=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.GameTest))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("game_end=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.GameEnd))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("game_account=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.GameAccount))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("game_lv=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.GameLv))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("coin=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.Coin))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("coin_open=")
|
||||
builder.WriteString(fmt.Sprintf("%v", u.CoinOpen))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("coin_at=")
|
||||
builder.WriteString(u.CoinAt.Format(time.ANSIC))
|
||||
builder.WriteByte(')')
|
||||
return builder.String()
|
||||
}
|
||||
|
524
ent/user/user.go
524
ent/user/user.go
@ -4,6 +4,9 @@ package user
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -13,14 +16,110 @@ const (
|
||||
FieldID = "id"
|
||||
// FieldUsername holds the string denoting the username field in the database.
|
||||
FieldUsername = "username"
|
||||
// FieldDid holds the string denoting the did field in the database.
|
||||
FieldDid = "did"
|
||||
// FieldMember holds the string denoting the member field in the database.
|
||||
FieldMember = "member"
|
||||
// FieldBook holds the string denoting the book field in the database.
|
||||
FieldBook = "book"
|
||||
// FieldManga holds the string denoting the manga field in the database.
|
||||
FieldManga = "manga"
|
||||
// FieldBadge holds the string denoting the badge field in the database.
|
||||
FieldBadge = "badge"
|
||||
// FieldBsky holds the string denoting the bsky field in the database.
|
||||
FieldBsky = "bsky"
|
||||
// FieldMastodon holds the string denoting the mastodon field in the database.
|
||||
FieldMastodon = "mastodon"
|
||||
// FieldDelete holds the string denoting the delete field in the database.
|
||||
FieldDelete = "delete"
|
||||
// FieldHandle holds the string denoting the handle field in the database.
|
||||
FieldHandle = "handle"
|
||||
// FieldToken holds the string denoting the token field in the database.
|
||||
FieldToken = "token"
|
||||
// FieldPassword holds the string denoting the password field in the database.
|
||||
FieldPassword = "password"
|
||||
// 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"
|
||||
// FieldRaidAt holds the string denoting the raid_at field in the database.
|
||||
FieldRaidAt = "raid_at"
|
||||
// FieldServerAt holds the string denoting the server_at field in the database.
|
||||
FieldServerAt = "server_at"
|
||||
// FieldEggAt holds the string denoting the egg_at field in the database.
|
||||
FieldEggAt = "egg_at"
|
||||
// FieldLuck holds the string denoting the luck field in the database.
|
||||
FieldLuck = "luck"
|
||||
// FieldLuckAt holds the string denoting the luck_at field in the database.
|
||||
FieldLuckAt = "luck_at"
|
||||
// FieldLike holds the string denoting the like field in the database.
|
||||
FieldLike = "like"
|
||||
// FieldLikeRank holds the string denoting the like_rank field in the database.
|
||||
FieldLikeRank = "like_rank"
|
||||
// FieldLikeAt holds the string denoting the like_at field in the database.
|
||||
FieldLikeAt = "like_at"
|
||||
// FieldFav holds the string denoting the fav field in the database.
|
||||
FieldFav = "fav"
|
||||
// FieldTen holds the string denoting the ten field in the database.
|
||||
FieldTen = "ten"
|
||||
// FieldTenSu holds the string denoting the ten_su field in the database.
|
||||
FieldTenSu = "ten_su"
|
||||
// FieldTenKai holds the string denoting the ten_kai field in the database.
|
||||
FieldTenKai = "ten_kai"
|
||||
// FieldAiten holds the string denoting the aiten field in the database.
|
||||
FieldAiten = "aiten"
|
||||
// FieldTenCard holds the string denoting the ten_card field in the database.
|
||||
FieldTenCard = "ten_card"
|
||||
// FieldTenDelete holds the string denoting the ten_delete field in the database.
|
||||
FieldTenDelete = "ten_delete"
|
||||
// FieldTenPost holds the string denoting the ten_post field in the database.
|
||||
FieldTenPost = "ten_post"
|
||||
// FieldTenGet holds the string denoting the ten_get field in the database.
|
||||
FieldTenGet = "ten_get"
|
||||
// FieldTenAt holds the string denoting the ten_at field in the database.
|
||||
FieldTenAt = "ten_at"
|
||||
// FieldNext holds the string denoting the next field in the database.
|
||||
FieldNext = "next"
|
||||
// FieldRoom holds the string denoting the room field in the database.
|
||||
FieldRoom = "room"
|
||||
// FieldModel holds the string denoting the model field in the database.
|
||||
FieldModel = "model"
|
||||
// FieldModelAt holds the string denoting the model_at field in the database.
|
||||
FieldModelAt = "model_at"
|
||||
// FieldModelAttack holds the string denoting the model_attack field in the database.
|
||||
FieldModelAttack = "model_attack"
|
||||
// FieldModelLimit holds the string denoting the model_limit field in the database.
|
||||
FieldModelLimit = "model_limit"
|
||||
// FieldModelSkill holds the string denoting the model_skill field in the database.
|
||||
FieldModelSkill = "model_skill"
|
||||
// FieldModelMode holds the string denoting the model_mode field in the database.
|
||||
FieldModelMode = "model_mode"
|
||||
// FieldModelCritical holds the string denoting the model_critical field in the database.
|
||||
FieldModelCritical = "model_critical"
|
||||
// FieldModelCriticalD holds the string denoting the model_critical_d field in the database.
|
||||
FieldModelCriticalD = "model_critical_d"
|
||||
// FieldGame holds the string denoting the game field in the database.
|
||||
FieldGame = "game"
|
||||
// FieldGameTest holds the string denoting the game_test field in the database.
|
||||
FieldGameTest = "game_test"
|
||||
// FieldGameEnd holds the string denoting the game_end field in the database.
|
||||
FieldGameEnd = "game_end"
|
||||
// FieldGameAccount holds the string denoting the game_account field in the database.
|
||||
FieldGameAccount = "game_account"
|
||||
// FieldGameLv holds the string denoting the game_lv field in the database.
|
||||
FieldGameLv = "game_lv"
|
||||
// FieldCoin holds the string denoting the coin field in the database.
|
||||
FieldCoin = "coin"
|
||||
// FieldCoinOpen holds the string denoting the coin_open field in the database.
|
||||
FieldCoinOpen = "coin_open"
|
||||
// FieldCoinAt holds the string denoting the coin_at field in the database.
|
||||
FieldCoinAt = "coin_at"
|
||||
// EdgeCard holds the string denoting the card edge name in mutations.
|
||||
EdgeCard = "card"
|
||||
// EdgeUe holds the string denoting the ue edge name in mutations.
|
||||
EdgeUe = "ue"
|
||||
// EdgeMa holds the string denoting the ma edge name in mutations.
|
||||
EdgeMa = "ma"
|
||||
// Table holds the table name of the user in the database.
|
||||
Table = "users"
|
||||
// CardTable is the table that holds the card relation/edge.
|
||||
@ -30,15 +129,75 @@ const (
|
||||
CardInverseTable = "cards"
|
||||
// CardColumn is the table column denoting the card relation/edge.
|
||||
CardColumn = "user_card"
|
||||
// UeTable is the table that holds the ue relation/edge.
|
||||
UeTable = "ues"
|
||||
// UeInverseTable is the table name for the Ue entity.
|
||||
// It exists in this package in order to avoid circular dependency with the "ue" package.
|
||||
UeInverseTable = "ues"
|
||||
// UeColumn is the table column denoting the ue relation/edge.
|
||||
UeColumn = "user_ue"
|
||||
// MaTable is the table that holds the ma relation/edge.
|
||||
MaTable = "mas"
|
||||
// MaInverseTable is the table name for the Ma entity.
|
||||
// It exists in this package in order to avoid circular dependency with the "ma" package.
|
||||
MaInverseTable = "mas"
|
||||
// MaColumn is the table column denoting the ma relation/edge.
|
||||
MaColumn = "user_ma"
|
||||
)
|
||||
|
||||
// Columns holds all SQL columns for user fields.
|
||||
var Columns = []string{
|
||||
FieldID,
|
||||
FieldUsername,
|
||||
FieldDid,
|
||||
FieldMember,
|
||||
FieldBook,
|
||||
FieldManga,
|
||||
FieldBadge,
|
||||
FieldBsky,
|
||||
FieldMastodon,
|
||||
FieldDelete,
|
||||
FieldHandle,
|
||||
FieldToken,
|
||||
FieldPassword,
|
||||
FieldCreatedAt,
|
||||
FieldUpdatedAt,
|
||||
FieldRaidAt,
|
||||
FieldServerAt,
|
||||
FieldEggAt,
|
||||
FieldLuck,
|
||||
FieldLuckAt,
|
||||
FieldLike,
|
||||
FieldLikeRank,
|
||||
FieldLikeAt,
|
||||
FieldFav,
|
||||
FieldTen,
|
||||
FieldTenSu,
|
||||
FieldTenKai,
|
||||
FieldAiten,
|
||||
FieldTenCard,
|
||||
FieldTenDelete,
|
||||
FieldTenPost,
|
||||
FieldTenGet,
|
||||
FieldTenAt,
|
||||
FieldNext,
|
||||
FieldRoom,
|
||||
FieldModel,
|
||||
FieldModelAt,
|
||||
FieldModelAttack,
|
||||
FieldModelLimit,
|
||||
FieldModelSkill,
|
||||
FieldModelMode,
|
||||
FieldModelCritical,
|
||||
FieldModelCriticalD,
|
||||
FieldGame,
|
||||
FieldGameTest,
|
||||
FieldGameEnd,
|
||||
FieldGameAccount,
|
||||
FieldGameLv,
|
||||
FieldCoin,
|
||||
FieldCoinOpen,
|
||||
FieldCoinAt,
|
||||
}
|
||||
|
||||
// ForeignKeys holds the SQL foreign-keys that are owned by the "users"
|
||||
@ -65,10 +224,375 @@ func ValidColumn(column string) bool {
|
||||
var (
|
||||
// UsernameValidator is a validator for the "username" field. It is called by the builders before save.
|
||||
UsernameValidator func(string) error
|
||||
// DefaultMember holds the default value on creation for the "member" field.
|
||||
DefaultMember bool
|
||||
// DefaultBook holds the default value on creation for the "book" field.
|
||||
DefaultBook bool
|
||||
// DefaultManga holds the default value on creation for the "manga" field.
|
||||
DefaultManga bool
|
||||
// DefaultBadge holds the default value on creation for the "badge" field.
|
||||
DefaultBadge bool
|
||||
// DefaultBsky holds the default value on creation for the "bsky" field.
|
||||
DefaultBsky bool
|
||||
// DefaultMastodon holds the default value on creation for the "mastodon" field.
|
||||
DefaultMastodon bool
|
||||
// DefaultDelete holds the default value on creation for the "delete" field.
|
||||
DefaultDelete bool
|
||||
// DefaultHandle holds the default value on creation for the "handle" field.
|
||||
DefaultHandle bool
|
||||
// PasswordValidator is a validator for the "password" field. It is called by the builders before save.
|
||||
PasswordValidator func(string) error
|
||||
// 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
|
||||
// DefaultRaidAt holds the default value on creation for the "raid_at" field.
|
||||
DefaultRaidAt func() time.Time
|
||||
// DefaultServerAt holds the default value on creation for the "server_at" field.
|
||||
DefaultServerAt func() time.Time
|
||||
// DefaultEggAt holds the default value on creation for the "egg_at" field.
|
||||
DefaultEggAt func() time.Time
|
||||
// DefaultLuckAt holds the default value on creation for the "luck_at" field.
|
||||
DefaultLuckAt func() time.Time
|
||||
// DefaultLikeAt holds the default value on creation for the "like_at" field.
|
||||
DefaultLikeAt func() time.Time
|
||||
// DefaultTenAt holds the default value on creation for the "ten_at" field.
|
||||
DefaultTenAt func() time.Time
|
||||
// DefaultNext holds the default value on creation for the "next" field.
|
||||
DefaultNext string
|
||||
// DefaultModelAt holds the default value on creation for the "model_at" field.
|
||||
DefaultModelAt func() time.Time
|
||||
// DefaultGame holds the default value on creation for the "game" field.
|
||||
DefaultGame bool
|
||||
// DefaultGameTest holds the default value on creation for the "game_test" field.
|
||||
DefaultGameTest bool
|
||||
// DefaultGameEnd holds the default value on creation for the "game_end" field.
|
||||
DefaultGameEnd bool
|
||||
// DefaultGameAccount holds the default value on creation for the "game_account" field.
|
||||
DefaultGameAccount bool
|
||||
// DefaultCoinOpen holds the default value on creation for the "coin_open" field.
|
||||
DefaultCoinOpen bool
|
||||
// DefaultCoinAt holds the default value on creation for the "coin_at" field.
|
||||
DefaultCoinAt func() time.Time
|
||||
)
|
||||
|
||||
// OrderOption defines the ordering options for the User queries.
|
||||
type OrderOption func(*sql.Selector)
|
||||
|
||||
// ByID orders the results by the id field.
|
||||
func ByID(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldID, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByUsername orders the results by the username field.
|
||||
func ByUsername(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldUsername, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByDid orders the results by the did field.
|
||||
func ByDid(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldDid, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByMember orders the results by the member field.
|
||||
func ByMember(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldMember, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByBook orders the results by the book field.
|
||||
func ByBook(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldBook, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByManga orders the results by the manga field.
|
||||
func ByManga(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldManga, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByBadge orders the results by the badge field.
|
||||
func ByBadge(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldBadge, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByBsky orders the results by the bsky field.
|
||||
func ByBsky(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldBsky, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByMastodon orders the results by the mastodon field.
|
||||
func ByMastodon(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldMastodon, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByDelete orders the results by the delete field.
|
||||
func ByDelete(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldDelete, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByHandle orders the results by the handle field.
|
||||
func ByHandle(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldHandle, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByToken orders the results by the token field.
|
||||
func ByToken(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldToken, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByPassword orders the results by the password field.
|
||||
func ByPassword(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldPassword, 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()
|
||||
}
|
||||
|
||||
// ByRaidAt orders the results by the raid_at field.
|
||||
func ByRaidAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldRaidAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByServerAt orders the results by the server_at field.
|
||||
func ByServerAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldServerAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByEggAt orders the results by the egg_at field.
|
||||
func ByEggAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldEggAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLuck orders the results by the luck field.
|
||||
func ByLuck(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLuck, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLuckAt orders the results by the luck_at field.
|
||||
func ByLuckAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLuckAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLike orders the results by the like field.
|
||||
func ByLike(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLike, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLikeRank orders the results by the like_rank field.
|
||||
func ByLikeRank(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLikeRank, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByLikeAt orders the results by the like_at field.
|
||||
func ByLikeAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldLikeAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByFav orders the results by the fav field.
|
||||
func ByFav(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldFav, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTen orders the results by the ten field.
|
||||
func ByTen(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTen, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenSu orders the results by the ten_su field.
|
||||
func ByTenSu(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenSu, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenKai orders the results by the ten_kai field.
|
||||
func ByTenKai(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenKai, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByAiten orders the results by the aiten field.
|
||||
func ByAiten(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldAiten, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenCard orders the results by the ten_card field.
|
||||
func ByTenCard(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenCard, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenDelete orders the results by the ten_delete field.
|
||||
func ByTenDelete(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenDelete, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenPost orders the results by the ten_post field.
|
||||
func ByTenPost(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenPost, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenGet orders the results by the ten_get field.
|
||||
func ByTenGet(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenGet, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByTenAt orders the results by the ten_at field.
|
||||
func ByTenAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldTenAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByNext orders the results by the next field.
|
||||
func ByNext(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldNext, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByRoom orders the results by the room field.
|
||||
func ByRoom(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldRoom, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModel orders the results by the model field.
|
||||
func ByModel(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModel, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelAt orders the results by the model_at field.
|
||||
func ByModelAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelAttack orders the results by the model_attack field.
|
||||
func ByModelAttack(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelAttack, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelLimit orders the results by the model_limit field.
|
||||
func ByModelLimit(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelLimit, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelSkill orders the results by the model_skill field.
|
||||
func ByModelSkill(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelSkill, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelMode orders the results by the model_mode field.
|
||||
func ByModelMode(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelMode, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelCritical orders the results by the model_critical field.
|
||||
func ByModelCritical(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelCritical, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByModelCriticalD orders the results by the model_critical_d field.
|
||||
func ByModelCriticalD(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldModelCriticalD, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByGame orders the results by the game field.
|
||||
func ByGame(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldGame, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByGameTest orders the results by the game_test field.
|
||||
func ByGameTest(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldGameTest, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByGameEnd orders the results by the game_end field.
|
||||
func ByGameEnd(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldGameEnd, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByGameAccount orders the results by the game_account field.
|
||||
func ByGameAccount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldGameAccount, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByGameLv orders the results by the game_lv field.
|
||||
func ByGameLv(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldGameLv, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCoin orders the results by the coin field.
|
||||
func ByCoin(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCoin, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCoinOpen orders the results by the coin_open field.
|
||||
func ByCoinOpen(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCoinOpen, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCoinAt orders the results by the coin_at field.
|
||||
func ByCoinAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCoinAt, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCardCount orders the results by card count.
|
||||
func ByCardCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborsCount(s, newCardStep(), opts...)
|
||||
}
|
||||
}
|
||||
|
||||
// ByCard orders the results by card terms.
|
||||
func ByCard(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newCardStep(), append([]sql.OrderTerm{term}, terms...)...)
|
||||
}
|
||||
}
|
||||
|
||||
// ByUeCount orders the results by ue count.
|
||||
func ByUeCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborsCount(s, newUeStep(), opts...)
|
||||
}
|
||||
}
|
||||
|
||||
// ByUe orders the results by ue terms.
|
||||
func ByUe(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newUeStep(), append([]sql.OrderTerm{term}, terms...)...)
|
||||
}
|
||||
}
|
||||
|
||||
// ByMaCount orders the results by ma count.
|
||||
func ByMaCount(opts ...sql.OrderTermOption) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborsCount(s, newMaStep(), opts...)
|
||||
}
|
||||
}
|
||||
|
||||
// ByMa orders the results by ma terms.
|
||||
func ByMa(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption {
|
||||
return func(s *sql.Selector) {
|
||||
sqlgraph.OrderByNeighborTerms(s, newMaStep(), append([]sql.OrderTerm{term}, terms...)...)
|
||||
}
|
||||
}
|
||||
func newCardStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(CardInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, CardTable, CardColumn),
|
||||
)
|
||||
}
|
||||
func newUeStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(UeInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, UeTable, UeColumn),
|
||||
)
|
||||
}
|
||||
func newMaStep() *sqlgraph.Step {
|
||||
return sqlgraph.NewStep(
|
||||
sqlgraph.From(Table, FieldID),
|
||||
sqlgraph.To(MaInverseTable, FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, MaTable, MaColumn),
|
||||
)
|
||||
}
|
||||
|
2293
ent/user/where.go
2293
ent/user/where.go
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -3,9 +3,9 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/predicate"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"t/ent/predicate"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
|
@ -3,13 +3,15 @@
|
||||
package ent
|
||||
|
||||
import (
|
||||
"api/ent/card"
|
||||
"api/ent/ma"
|
||||
"api/ent/predicate"
|
||||
"api/ent/ue"
|
||||
"api/ent/user"
|
||||
"context"
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
"math"
|
||||
"t/ent/card"
|
||||
"t/ent/predicate"
|
||||
"t/ent/user"
|
||||
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
@ -20,10 +22,12 @@ import (
|
||||
type UserQuery struct {
|
||||
config
|
||||
ctx *QueryContext
|
||||
order []OrderFunc
|
||||
order []user.OrderOption
|
||||
inters []Interceptor
|
||||
predicates []predicate.User
|
||||
withCard *CardQuery
|
||||
withUe *UeQuery
|
||||
withMa *MaQuery
|
||||
withFKs bool
|
||||
// intermediate query (i.e. traversal path).
|
||||
sql *sql.Selector
|
||||
@ -56,7 +60,7 @@ func (uq *UserQuery) Unique(unique bool) *UserQuery {
|
||||
}
|
||||
|
||||
// Order specifies how the records should be ordered.
|
||||
func (uq *UserQuery) Order(o ...OrderFunc) *UserQuery {
|
||||
func (uq *UserQuery) Order(o ...user.OrderOption) *UserQuery {
|
||||
uq.order = append(uq.order, o...)
|
||||
return uq
|
||||
}
|
||||
@ -83,6 +87,50 @@ func (uq *UserQuery) QueryCard() *CardQuery {
|
||||
return query
|
||||
}
|
||||
|
||||
// QueryUe chains the current query on the "ue" edge.
|
||||
func (uq *UserQuery) QueryUe() *UeQuery {
|
||||
query := (&UeClient{config: uq.config}).Query()
|
||||
query.path = func(ctx context.Context) (fromU *sql.Selector, err error) {
|
||||
if err := uq.prepareQuery(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
selector := uq.sqlQuery(ctx)
|
||||
if err := selector.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(user.Table, user.FieldID, selector),
|
||||
sqlgraph.To(ue.Table, ue.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, user.UeTable, user.UeColumn),
|
||||
)
|
||||
fromU = sqlgraph.SetNeighbors(uq.driver.Dialect(), step)
|
||||
return fromU, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// QueryMa chains the current query on the "ma" edge.
|
||||
func (uq *UserQuery) QueryMa() *MaQuery {
|
||||
query := (&MaClient{config: uq.config}).Query()
|
||||
query.path = func(ctx context.Context) (fromU *sql.Selector, err error) {
|
||||
if err := uq.prepareQuery(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
selector := uq.sqlQuery(ctx)
|
||||
if err := selector.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
step := sqlgraph.NewStep(
|
||||
sqlgraph.From(user.Table, user.FieldID, selector),
|
||||
sqlgraph.To(ma.Table, ma.FieldID),
|
||||
sqlgraph.Edge(sqlgraph.O2M, false, user.MaTable, user.MaColumn),
|
||||
)
|
||||
fromU = sqlgraph.SetNeighbors(uq.driver.Dialect(), step)
|
||||
return fromU, nil
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
// First returns the first User entity from the query.
|
||||
// Returns a *NotFoundError when no User was found.
|
||||
func (uq *UserQuery) First(ctx context.Context) (*User, error) {
|
||||
@ -272,10 +320,12 @@ func (uq *UserQuery) Clone() *UserQuery {
|
||||
return &UserQuery{
|
||||
config: uq.config,
|
||||
ctx: uq.ctx.Clone(),
|
||||
order: append([]OrderFunc{}, uq.order...),
|
||||
order: append([]user.OrderOption{}, uq.order...),
|
||||
inters: append([]Interceptor{}, uq.inters...),
|
||||
predicates: append([]predicate.User{}, uq.predicates...),
|
||||
withCard: uq.withCard.Clone(),
|
||||
withUe: uq.withUe.Clone(),
|
||||
withMa: uq.withMa.Clone(),
|
||||
// clone intermediate query.
|
||||
sql: uq.sql.Clone(),
|
||||
path: uq.path,
|
||||
@ -293,6 +343,28 @@ func (uq *UserQuery) WithCard(opts ...func(*CardQuery)) *UserQuery {
|
||||
return uq
|
||||
}
|
||||
|
||||
// WithUe tells the query-builder to eager-load the nodes that are connected to
|
||||
// the "ue" edge. The optional arguments are used to configure the query builder of the edge.
|
||||
func (uq *UserQuery) WithUe(opts ...func(*UeQuery)) *UserQuery {
|
||||
query := (&UeClient{config: uq.config}).Query()
|
||||
for _, opt := range opts {
|
||||
opt(query)
|
||||
}
|
||||
uq.withUe = query
|
||||
return uq
|
||||
}
|
||||
|
||||
// WithMa tells the query-builder to eager-load the nodes that are connected to
|
||||
// the "ma" edge. The optional arguments are used to configure the query builder of the edge.
|
||||
func (uq *UserQuery) WithMa(opts ...func(*MaQuery)) *UserQuery {
|
||||
query := (&MaClient{config: uq.config}).Query()
|
||||
for _, opt := range opts {
|
||||
opt(query)
|
||||
}
|
||||
uq.withMa = query
|
||||
return uq
|
||||
}
|
||||
|
||||
// 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.
|
||||
//
|
||||
@ -372,8 +444,10 @@ func (uq *UserQuery) sqlAll(ctx context.Context, hooks ...queryHook) ([]*User, e
|
||||
nodes = []*User{}
|
||||
withFKs = uq.withFKs
|
||||
_spec = uq.querySpec()
|
||||
loadedTypes = [1]bool{
|
||||
loadedTypes = [3]bool{
|
||||
uq.withCard != nil,
|
||||
uq.withUe != nil,
|
||||
uq.withMa != nil,
|
||||
}
|
||||
)
|
||||
if withFKs {
|
||||
@ -404,6 +478,20 @@ func (uq *UserQuery) sqlAll(ctx context.Context, hooks ...queryHook) ([]*User, e
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if query := uq.withUe; query != nil {
|
||||
if err := uq.loadUe(ctx, query, nodes,
|
||||
func(n *User) { n.Edges.Ue = []*Ue{} },
|
||||
func(n *User, e *Ue) { n.Edges.Ue = append(n.Edges.Ue, e) }); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if query := uq.withMa; query != nil {
|
||||
if err := uq.loadMa(ctx, query, nodes,
|
||||
func(n *User) { n.Edges.Ma = []*Ma{} },
|
||||
func(n *User, e *Ma) { n.Edges.Ma = append(n.Edges.Ma, e) }); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return nodes, nil
|
||||
}
|
||||
|
||||
@ -419,7 +507,7 @@ func (uq *UserQuery) loadCard(ctx context.Context, query *CardQuery, nodes []*Us
|
||||
}
|
||||
query.withFKs = true
|
||||
query.Where(predicate.Card(func(s *sql.Selector) {
|
||||
s.Where(sql.InValues(user.CardColumn, fks...))
|
||||
s.Where(sql.InValues(s.C(user.CardColumn), fks...))
|
||||
}))
|
||||
neighbors, err := query.All(ctx)
|
||||
if err != nil {
|
||||
@ -432,7 +520,69 @@ func (uq *UserQuery) loadCard(ctx context.Context, query *CardQuery, nodes []*Us
|
||||
}
|
||||
node, ok := nodeids[*fk]
|
||||
if !ok {
|
||||
return fmt.Errorf(`unexpected foreign-key "user_card" returned %v for node %v`, *fk, n.ID)
|
||||
return fmt.Errorf(`unexpected referenced foreign-key "user_card" returned %v for node %v`, *fk, n.ID)
|
||||
}
|
||||
assign(node, n)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (uq *UserQuery) loadUe(ctx context.Context, query *UeQuery, nodes []*User, init func(*User), assign func(*User, *Ue)) error {
|
||||
fks := make([]driver.Value, 0, len(nodes))
|
||||
nodeids := make(map[int]*User)
|
||||
for i := range nodes {
|
||||
fks = append(fks, nodes[i].ID)
|
||||
nodeids[nodes[i].ID] = nodes[i]
|
||||
if init != nil {
|
||||
init(nodes[i])
|
||||
}
|
||||
}
|
||||
query.withFKs = true
|
||||
query.Where(predicate.Ue(func(s *sql.Selector) {
|
||||
s.Where(sql.InValues(s.C(user.UeColumn), fks...))
|
||||
}))
|
||||
neighbors, err := query.All(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, n := range neighbors {
|
||||
fk := n.user_ue
|
||||
if fk == nil {
|
||||
return fmt.Errorf(`foreign-key "user_ue" is nil for node %v`, n.ID)
|
||||
}
|
||||
node, ok := nodeids[*fk]
|
||||
if !ok {
|
||||
return fmt.Errorf(`unexpected referenced foreign-key "user_ue" returned %v for node %v`, *fk, n.ID)
|
||||
}
|
||||
assign(node, n)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (uq *UserQuery) loadMa(ctx context.Context, query *MaQuery, nodes []*User, init func(*User), assign func(*User, *Ma)) error {
|
||||
fks := make([]driver.Value, 0, len(nodes))
|
||||
nodeids := make(map[int]*User)
|
||||
for i := range nodes {
|
||||
fks = append(fks, nodes[i].ID)
|
||||
nodeids[nodes[i].ID] = nodes[i]
|
||||
if init != nil {
|
||||
init(nodes[i])
|
||||
}
|
||||
}
|
||||
query.withFKs = true
|
||||
query.Where(predicate.Ma(func(s *sql.Selector) {
|
||||
s.Where(sql.InValues(s.C(user.MaColumn), fks...))
|
||||
}))
|
||||
neighbors, err := query.All(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, n := range neighbors {
|
||||
fk := n.user_ma
|
||||
if fk == nil {
|
||||
return fmt.Errorf(`foreign-key "user_ma" is nil for node %v`, n.ID)
|
||||
}
|
||||
node, ok := nodeids[*fk]
|
||||
if !ok {
|
||||
return fmt.Errorf(`unexpected referenced foreign-key "user_ma" returned %v for node %v`, *fk, n.ID)
|
||||
}
|
||||
assign(node, n)
|
||||
}
|
||||
|
3022
ent/user_update.go
3022
ent/user_update.go
File diff suppressed because it is too large
Load Diff
25
go.mod
25
go.mod
@ -1,15 +1,14 @@
|
||||
module t
|
||||
module api
|
||||
|
||||
go 1.19
|
||||
go 1.21
|
||||
|
||||
//replace ariga.io/ogent => ../../
|
||||
|
||||
require (
|
||||
entgo.io/ent v0.11.9
|
||||
entgo.io/ent v0.12.2
|
||||
github.com/go-faster/errors v0.6.1
|
||||
github.com/go-faster/jx v0.42.0-alpha.1
|
||||
github.com/mattn/go-sqlite3 v1.14.16
|
||||
github.com/mazen160/go-random v0.0.0-20210308102632-d2b501c85c03
|
||||
github.com/ogen-go/ogen v0.59.0
|
||||
go.opentelemetry.io/otel v1.13.0
|
||||
go.opentelemetry.io/otel/metric v0.36.0
|
||||
@ -18,10 +17,9 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
ariga.io/atlas v0.9.1 // indirect
|
||||
ariga.io/entviz v0.0.0-20230125130633-6c9be8e08c7c // indirect
|
||||
ariga.io/ogent v0.0.0-20230309073626-8dc564a6a73e // indirect
|
||||
entgo.io/contrib v0.3.5 // indirect
|
||||
ariga.io/atlas v0.10.0 // indirect
|
||||
ariga.io/ogent v0.0.0-20230621041143-ed3e5d4da458 // indirect
|
||||
entgo.io/contrib v0.4.5 // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // indirect
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
||||
github.com/dlclark/regexp2 v1.8.0 // indirect
|
||||
@ -31,26 +29,21 @@ require (
|
||||
github.com/go-logr/logr v1.2.3 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-openapi/inflect v0.19.0 // indirect
|
||||
github.com/golang/mock v1.6.0 // indirect
|
||||
github.com/google/go-cmp v0.5.9 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.15.0 // indirect
|
||||
github.com/kyokomi/lottery v1.2.0 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.17 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/segmentio/asm v1.2.0 // indirect
|
||||
github.com/sergi/go-diff v1.1.0 // indirect
|
||||
github.com/stoewer/go-strcase v1.2.0 // indirect
|
||||
github.com/zclconf/go-cty v1.12.1 // indirect
|
||||
go.uber.org/atomic v1.10.0 // indirect
|
||||
go.uber.org/zap v1.24.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20230206171751-46f607a40771 // indirect
|
||||
golang.org/x/mod v0.8.0 // indirect
|
||||
golang.org/x/net v0.7.0 // indirect
|
||||
golang.org/x/mod v0.9.0 // indirect
|
||||
golang.org/x/sync v0.1.0 // indirect
|
||||
golang.org/x/sys v0.5.0 // indirect
|
||||
golang.org/x/text v0.7.0 // indirect
|
||||
golang.org/x/tools v0.6.1-0.20230222164832-25d2519c8696 // indirect
|
||||
golang.org/x/sys v0.6.0 // indirect
|
||||
golang.org/x/text v0.8.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
)
|
||||
|
80
go.sum
80
go.sum
@ -1,20 +1,23 @@
|
||||
ariga.io/atlas v0.9.1 h1:EpoPMnwsQG0vn9c0sYExpwSYtr7bvuSUXzQclU2pMjc=
|
||||
ariga.io/atlas v0.9.1/go.mod h1:T230JFcENj4ZZzMkZrXFDSkv+2kXkUgpJ5FQQ5hMcKU=
|
||||
ariga.io/entviz v0.0.0-20230125130633-6c9be8e08c7c h1:7FbOjKKWKqD7FZXQq3qWcRlvGFO1LGYvVZIWQ2D9Evs=
|
||||
ariga.io/entviz v0.0.0-20230125130633-6c9be8e08c7c/go.mod h1:wArXZPqbbWBcOmkqwmIF6hIcW+3T1NLDde0iRhW6an8=
|
||||
ariga.io/ogent v0.0.0-20230309073626-8dc564a6a73e h1:8mxC+4Y7pVKgfoUJIMdChrS95d+TcJ6xuhw49nVYIAY=
|
||||
ariga.io/ogent v0.0.0-20230309073626-8dc564a6a73e/go.mod h1:95vCbvAYAW6NsWUrSL23k2SQykuf/yjellmwV1X+svI=
|
||||
entgo.io/contrib v0.3.5 h1:wY85TgRp3j5ix/SZ9IE6Ob5lObHFmVUYH0ZFw1D5Hzc=
|
||||
entgo.io/contrib v0.3.5/go.mod h1:R5HiFszVD8OVOZKFGRbqYogRxK7z1ruzWyEEesjQwE0=
|
||||
entgo.io/ent v0.11.9 h1:dbbCkAiPVTRBIJwoZctiSYjB7zxQIBOzVSU5H9VYIQI=
|
||||
entgo.io/ent v0.11.9/go.mod h1:KWHOcDZn1xk3mz3ipWdKrQpMvwqa/9B69TUuAPP9W6g=
|
||||
ariga.io/atlas v0.9.2-0.20230303073438-03a4779a6338 h1:8kmSV3mbQKn0niZ/EdE11uhFvFKiW1VlaqVBIYOyahM=
|
||||
ariga.io/atlas v0.9.2-0.20230303073438-03a4779a6338/go.mod h1:T230JFcENj4ZZzMkZrXFDSkv+2kXkUgpJ5FQQ5hMcKU=
|
||||
ariga.io/atlas v0.10.0 h1:B1aCP6gSDQET6j8ybn7m6MArjQuoLH5d4DQBT+NP5k8=
|
||||
ariga.io/atlas v0.10.0/go.mod h1:+TR129FJZ5Lvzms6dvCeGWh1yR6hMvmXBhug4hrNIGk=
|
||||
ariga.io/ogent v0.0.0-20230621041143-ed3e5d4da458 h1:FShFeMszKX8VcySiTRgshmj98jQWMv2GjQgMJcHJJi4=
|
||||
ariga.io/ogent v0.0.0-20230621041143-ed3e5d4da458/go.mod h1:95vCbvAYAW6NsWUrSL23k2SQykuf/yjellmwV1X+svI=
|
||||
entgo.io/contrib v0.4.5 h1:BFaOHwFLE8WZjVJadP0XHCIaxgcC1BAtUvAyw7M/GHk=
|
||||
entgo.io/contrib v0.4.5/go.mod h1:wpZyq2DJgthugFvDBlaqMXj9mV4/9ebyGEn7xlTVQqE=
|
||||
entgo.io/ent v0.11.10 h1:iqn32ybY5HRW3xSAyMNdNKpZhKgMf1Zunsej9yPKUI8=
|
||||
entgo.io/ent v0.11.10/go.mod h1:mzTZ0trE+jCQw/fnzijbm5Mck/l8Gbg7gC/+L1COyzM=
|
||||
entgo.io/ent v0.12.2 h1:Ndl/JvCX76xCtUDlrUfMnOKBRodAtxE5yfGYxjbOxmM=
|
||||
entgo.io/ent v0.12.2/go.mod h1:OA1Y5bNE8EtlxKv4IyzWwt4jgvGbkoKMcwp668iEKQE=
|
||||
github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
|
||||
github.com/Khan/genqlient v0.5.0 h1:TMZJ+tl/BpbmGyIBiXzKzUftDhw4ZWxQZ+1ydn0gyII=
|
||||
github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
|
||||
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
|
||||
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -37,10 +40,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
|
||||
github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
|
||||
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
|
||||
github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
|
||||
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
@ -49,13 +50,13 @@ github.com/hashicorp/hcl/v2 v2.15.0 h1:CPDXO6+uORPjKflkWCCwoWc9uRp+zSIPcCQ+BrxV7
|
||||
github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4=
|
||||
github.com/kyokomi/lottery v1.2.0 h1:oW9YxYv5j/nu/Kkf8K5tu7Vn8dAoZTjluDxihTPX/68=
|
||||
github.com/kyokomi/lottery v1.2.0/go.mod h1:TkKpJrFrOJNHpblUqYu0bAQWil3NMwKMBluHyqFfU6Y=
|
||||
github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
|
||||
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
@ -63,13 +64,12 @@ github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPn
|
||||
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
|
||||
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
github.com/mazen160/go-random v0.0.0-20210308102632-d2b501c85c03 h1:iM7JTVzKOYKWjzhGcgHAgFVQt5QfiHIVrRUaWPfh0Q4=
|
||||
github.com/mazen160/go-random v0.0.0-20210308102632-d2b501c85c03/go.mod h1:APoDd0B2pYeB5kU/g7Mw14mFsljp5HfzrC7arsKbi8U=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
github.com/ogen-go/ogen v0.59.0 h1:9aSSZ1KCLJIcRyjkO7IHrG0vAI6l1BO877LwTbMcX+k=
|
||||
github.com/ogen-go/ogen v0.59.0/go.mod h1:0MHLcWEbxwdvR+R9E05paQSRh/2vHtVSJgKqmwYyW8M=
|
||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
|
||||
@ -80,10 +80,8 @@ github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ai
|
||||
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
|
||||
github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc=
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/zclconf/go-cty v1.12.1 h1:PcupnljUm9EIvbgSHQnHhUr3fO6oFmkOrvs2BAFNXXY=
|
||||
github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA=
|
||||
go.opentelemetry.io/otel v1.13.0 h1:1ZAKnNQKwBBxFtww/GwxNUyTf0AxkZzrukO8MeXqe4Y=
|
||||
@ -95,47 +93,32 @@ go.opentelemetry.io/otel/trace v1.13.0/go.mod h1:muCvmmO9KKpvuXSf3KKAXXB2ygNYHQ+
|
||||
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
|
||||
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
|
||||
go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
|
||||
go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
|
||||
go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
|
||||
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
|
||||
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/exp v0.0.0-20230206171751-46f607a40771 h1:xP7rWLUr1e1n2xkK5YB4LI0hPEy3LJC6Wk+D4pGlOJg=
|
||||
golang.org/x/exp v0.0.0-20230206171751-46f607a40771/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
|
||||
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
|
||||
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.6.1-0.20230222164832-25d2519c8696 h1:8985/C5IvACpd9DDXckSnjSBLKDgbxXiyODgi94zOPM=
|
||||
golang.org/x/tools v0.6.1-0.20230222164832-25d2519c8696/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
|
||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
|
||||
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
@ -144,3 +127,4 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
BIN
icon/api.png
Normal file
BIN
icon/api.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
icon/card.png
Normal file
BIN
icon/card.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
BIN
icon/db.png
Normal file
BIN
icon/db.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 44 KiB |
17
main.go
17
main.go
@ -5,10 +5,11 @@ import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"t/ent"
|
||||
"t/ent/ogent"
|
||||
"api/ent"
|
||||
"api/ent/ogent"
|
||||
"entgo.io/ent/dialect"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"entgo.io/ent/dialect/sql/schema"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -50,14 +51,20 @@ func (h handler) DrawDone(ctx context.Context, params ogent.DrawDoneParams) erro
|
||||
|
||||
func main() {
|
||||
// Create ent client.
|
||||
client, err := ent.Open(dialect.SQLite, "file:/data/ent.sqlite?_fk=1")
|
||||
client, err := ent.Open(dialect.SQLite, "file:/app/data/new.sqlite?_fk=1")
|
||||
//client, err := ent.Open(dialect.SQLite, "file:data/new.sqlite?_fk=1")
|
||||
//client, err := ent.Open(dialect.SQLite, "file:data?mode=memory&cache=shared&_fk=1")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
// Run the migrations.
|
||||
if err := client.Schema.Create(context.Background()); err != nil {
|
||||
log.Fatal(err)
|
||||
//if err := client.Schema.Create(context.Background()); err != nil {
|
||||
// log.Fatal(err)
|
||||
//}
|
||||
ctx := context.Background()
|
||||
err = client.Schema.Create(ctx, schema.WithAtlas(true))
|
||||
if err != nil {
|
||||
log.Fatalf("failed creating schema resources: %v", err)
|
||||
}
|
||||
// Create the handler.
|
||||
h := handler{
|
||||
|
72
readme.md
72
readme.md
@ -1,71 +1,15 @@
|
||||
### build
|
||||
## ai `api`
|
||||
|
||||
<img src="./icon/card.png" width="100">
|
||||
|
||||
- name : ai `api`
|
||||
- host : [card.syui.ai](https://card.syui.ai)
|
||||
|
||||
```sh
|
||||
$ vim ent/entc.go
|
||||
$ vim ent/schema/users.go
|
||||
$ go generate ./...
|
||||
$ go build
|
||||
$ ./card
|
||||
|
||||
$ go generate ./...
|
||||
$ go run -mod=mod main.go
|
||||
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"syui"}' localhost:8080/users
|
||||
$ curl -X POST -H "Content-Type: application/json" -d '{"owner":1}' localhost:8080/cards
|
||||
$ curl localhost:8080/users
|
||||
$ curl localhost:8080/cards
|
||||
$ curl localhost:8080/users/1
|
||||
$ curl localhost:8080/users/1/card
|
||||
```
|
||||
|
||||
### use
|
||||
|
||||
```sh
|
||||
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"syui"}' https://api.syui.ai/users
|
||||
|
||||
# onconflict
|
||||
$ !!
|
||||
|
||||
$ curl -sL https://api.syui.ai/users/1
|
||||
```
|
||||
|
||||
### ref
|
||||
## link
|
||||
|
||||
```sh
|
||||
$ vim ./ent/ogent/ogent.go
|
||||
// 新規登録の停止
|
||||
// CreateUsers handles POST /users-slice requests.
|
||||
func (h *OgentHandler) CreateUsers(ctx context.Context, req CreateUsersReq) (CreateUsersRes, error) {
|
||||
b := h.client.Users.Create()
|
||||
//b.SetUser(req.User)
|
||||
b.SetUser("syui")
|
||||
}
|
||||
|
||||
// 削除の無効
|
||||
// DeleteUsers handles DELETE /users-slice/{id} requests.
|
||||
func (h *OgentHandler) DeleteUsers(ctx context.Context, params DeleteUsersParams) (DeleteUsersRes, error) {
|
||||
if params.ID != 1 {
|
||||
err := h.client.Users.DeleteOneID(params.ID).Exec(ctx)
|
||||
}
|
||||
return new(DeleteUsersNoContent), nil
|
||||
}
|
||||
|
||||
// 要素の書き換えの禁止
|
||||
// UpdateUsers handles PATCH /users-slice/{id} requests.
|
||||
func (h *OgentHandler) UpdateUsers(ctx context.Context, req UpdateUsersReq, params UpdateUsersParams) (UpdateUsersRes, error) {
|
||||
b := h.client.Users.UpdateOneID(params.ID)
|
||||
// Add all fields.
|
||||
//if v, ok := req.Hp.Get(); ok {
|
||||
// b.SetHp(v)
|
||||
//}
|
||||
```
|
||||
|
||||
### link
|
||||
|
||||
- https://entgo.io/ja/blog/2022/02/15/generate-rest-crud-with-ent-and-ogen/
|
||||
|
||||
- https://github.com/ariga/ogent/blob/main/example/todo/ent/entc.go
|
||||
|
||||
- https://github.com/ent/ent/blob/master/dialect/sql/schema/postgres_test.go
|
||||
|
||||
- https://github.com/go-kratos/beer-shop/tree/main/app/catalog/service/internal/data/ent
|
||||
- https://github.com/ariga/ogent
|
||||
|
||||
|
1
scpt
Submodule
1
scpt
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 87e087752df18aa2b12e123aaebc1812c8a4ebd1
|
2088
tmp/ogent/oas_response_encoders_gen.go
Normal file
2088
tmp/ogent/oas_response_encoders_gen.go
Normal file
File diff suppressed because it is too large
Load Diff
1673
tmp/ogent/ogent.go
Normal file
1673
tmp/ogent/ogent.go
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user