MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / assignValues

Method assignValues

ent/task.go:94–168  ·  view source on GitHub ↗

assignValues assigns the values that were returned from sql.Rows (after scanning) to the Task fields.

(columns []string, values []any)

Source from the content-addressed store, hash-verified

92// assignValues assigns the values that were returned from sql.Rows (after scanning)
93// to the Task fields.
94func (t *Task) assignValues(columns []string, values []any) error {
95 if m, n := len(values), len(columns); m < n {
96 return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
97 }
98 for i := range columns {
99 switch columns[i] {
100 case task.FieldID:
101 value, ok := values[i].(*sql.NullInt64)
102 if !ok {
103 return fmt.Errorf("unexpected type %T for field id", value)
104 }
105 t.ID = int(value.Int64)
106 case task.FieldCreatedAt:
107 if value, ok := values[i].(*sql.NullTime); !ok {
108 return fmt.Errorf("unexpected type %T for field created_at", values[i])
109 } else if value.Valid {
110 t.CreatedAt = value.Time
111 }
112 case task.FieldUpdatedAt:
113 if value, ok := values[i].(*sql.NullTime); !ok {
114 return fmt.Errorf("unexpected type %T for field updated_at", values[i])
115 } else if value.Valid {
116 t.UpdatedAt = value.Time
117 }
118 case task.FieldDeletedAt:
119 if value, ok := values[i].(*sql.NullTime); !ok {
120 return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
121 } else if value.Valid {
122 t.DeletedAt = new(time.Time)
123 *t.DeletedAt = value.Time
124 }
125 case task.FieldType:
126 if value, ok := values[i].(*sql.NullString); !ok {
127 return fmt.Errorf("unexpected type %T for field type", values[i])
128 } else if value.Valid {
129 t.Type = value.String
130 }
131 case task.FieldStatus:
132 if value, ok := values[i].(*sql.NullString); !ok {
133 return fmt.Errorf("unexpected type %T for field status", values[i])
134 } else if value.Valid {
135 t.Status = task.Status(value.String)
136 }
137 case task.FieldPublicState:
138 if value, ok := values[i].(*[]byte); !ok {
139 return fmt.Errorf("unexpected type %T for field public_state", values[i])
140 } else if value != nil && len(*value) > 0 {
141 if err := json.Unmarshal(*value, &t.PublicState); err != nil {
142 return fmt.Errorf("unmarshal field public_state: %w", err)
143 }
144 }
145 case task.FieldPrivateState:
146 if value, ok := values[i].(*sql.NullString); !ok {
147 return fmt.Errorf("unexpected type %T for field private_state", values[i])
148 } else if value.Valid {
149 t.PrivateState = value.String
150 }
151 case task.FieldCorrelationID:

Callers 1

sqlAllMethod · 0.95

Calls 2

StatusTypeAlias · 0.92
SetMethod · 0.65

Tested by

no test coverage detected