MCPcopy Index your code
hub / github.com/cloudreve/cloudreve / assignValues

Method assignValues

ent/node.go:93–179  ·  view source on GitHub ↗

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

(columns []string, values []any)

Source from the content-addressed store, hash-verified

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

Callers 1

sqlAllMethod · 0.95

Calls 3

StatusTypeAlias · 0.92
TypeTypeAlias · 0.92
SetMethod · 0.65

Tested by

no test coverage detected