scanValues returns the types for scanning values from sql.Rows.
(columns []string)
| 67 | |
| 68 | // scanValues returns the types for scanning values from sql.Rows. |
| 69 | func (*User) scanValues(columns []string) ([]any, error) { |
| 70 | values := make([]any, len(columns)) |
| 71 | for i := range columns { |
| 72 | switch columns[i] { |
| 73 | case user.FieldHasRestrictedAccess: |
| 74 | values[i] = new(sql.NullBool) |
| 75 | case user.FieldEmail, user.FieldFirstName, user.FieldLastName: |
| 76 | values[i] = new(sql.NullString) |
| 77 | case user.FieldCreatedAt, user.FieldUpdatedAt: |
| 78 | values[i] = new(sql.NullTime) |
| 79 | case user.FieldID: |
| 80 | values[i] = new(uuid.UUID) |
| 81 | default: |
| 82 | values[i] = new(sql.UnknownType) |
| 83 | } |
| 84 | } |
| 85 | return values, nil |
| 86 | } |
| 87 | |
| 88 | // assignValues assigns the values that were returned from sql.Rows (after scanning) |
| 89 | // to the User fields. |