-
Notifications
You must be signed in to change notification settings - Fork 0
/
picture.go
139 lines (128 loc) · 4.25 KB
/
picture.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
// Code generated by entc, DO NOT EDIT.
package ent
import (
"fmt"
"strings"
"entgo.io/ent/dialect/sql"
"github.com/joelschutz/gomecoma/src/ent/picture"
)
// Picture is the model entity for the Picture schema.
type Picture struct {
config `json:"-"`
// ID of the ent.
ID int `json:"id,omitempty"`
// Name holds the value of the "name" field.
Name string `json:"name,omitempty"`
// Filename holds the value of the "filename" field.
Filename string `json:"filename,omitempty"`
// Path holds the value of the "path" field.
Path string `json:"path,omitempty"`
artist_pictures *int
movie_fanart *int
}
// scanValues returns the types for scanning values from sql.Rows.
func (*Picture) scanValues(columns []string) ([]interface{}, error) {
values := make([]interface{}, len(columns))
for i := range columns {
switch columns[i] {
case picture.FieldID:
values[i] = new(sql.NullInt64)
case picture.FieldName, picture.FieldFilename, picture.FieldPath:
values[i] = new(sql.NullString)
case picture.ForeignKeys[0]: // artist_pictures
values[i] = new(sql.NullInt64)
case picture.ForeignKeys[1]: // movie_fanart
values[i] = new(sql.NullInt64)
default:
return nil, fmt.Errorf("unexpected column %q for type Picture", columns[i])
}
}
return values, nil
}
// assignValues assigns the values that were returned from sql.Rows (after scanning)
// to the Picture fields.
func (pi *Picture) assignValues(columns []string, values []interface{}) 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 picture.FieldID:
value, ok := values[i].(*sql.NullInt64)
if !ok {
return fmt.Errorf("unexpected type %T for field id", value)
}
pi.ID = int(value.Int64)
case picture.FieldName:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field name", values[i])
} else if value.Valid {
pi.Name = value.String
}
case picture.FieldFilename:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field filename", values[i])
} else if value.Valid {
pi.Filename = value.String
}
case picture.FieldPath:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field path", values[i])
} else if value.Valid {
pi.Path = value.String
}
case picture.ForeignKeys[0]:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for edge-field artist_pictures", value)
} else if value.Valid {
pi.artist_pictures = new(int)
*pi.artist_pictures = int(value.Int64)
}
case picture.ForeignKeys[1]:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for edge-field movie_fanart", value)
} else if value.Valid {
pi.movie_fanart = new(int)
*pi.movie_fanart = int(value.Int64)
}
}
}
return nil
}
// Update returns a builder for updating this Picture.
// Note that you need to call Picture.Unwrap() before calling this method if this Picture
// was returned from a transaction, and the transaction was committed or rolled back.
func (pi *Picture) Update() *PictureUpdateOne {
return (&PictureClient{config: pi.config}).UpdateOne(pi)
}
// Unwrap unwraps the Picture 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 (pi *Picture) Unwrap() *Picture {
tx, ok := pi.config.driver.(*txDriver)
if !ok {
panic("ent: Picture is not a transactional entity")
}
pi.config.driver = tx.drv
return pi
}
// String implements the fmt.Stringer.
func (pi *Picture) String() string {
var builder strings.Builder
builder.WriteString("Picture(")
builder.WriteString(fmt.Sprintf("id=%v", pi.ID))
builder.WriteString(", name=")
builder.WriteString(pi.Name)
builder.WriteString(", filename=")
builder.WriteString(pi.Filename)
builder.WriteString(", path=")
builder.WriteString(pi.Path)
builder.WriteByte(')')
return builder.String()
}
// Pictures is a parsable slice of Picture.
type Pictures []*Picture
func (pi Pictures) config(cfg config) {
for _i := range pi {
pi[_i].config = cfg
}
}