-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
offlinesession.go
138 lines (127 loc) · 4.56 KB
/
offlinesession.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
// Code generated by ent, DO NOT EDIT.
package db
import (
"fmt"
"strings"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"github.com/dexidp/dex/storage/ent/db/offlinesession"
)
// OfflineSession is the model entity for the OfflineSession schema.
type OfflineSession struct {
config `json:"-"`
// ID of the ent.
ID string `json:"id,omitempty"`
// UserID holds the value of the "user_id" field.
UserID string `json:"user_id,omitempty"`
// ConnID holds the value of the "conn_id" field.
ConnID string `json:"conn_id,omitempty"`
// Refresh holds the value of the "refresh" field.
Refresh []byte `json:"refresh,omitempty"`
// ConnectorData holds the value of the "connector_data" field.
ConnectorData *[]byte `json:"connector_data,omitempty"`
selectValues sql.SelectValues
}
// scanValues returns the types for scanning values from sql.Rows.
func (*OfflineSession) scanValues(columns []string) ([]any, error) {
values := make([]any, len(columns))
for i := range columns {
switch columns[i] {
case offlinesession.FieldRefresh, offlinesession.FieldConnectorData:
values[i] = new([]byte)
case offlinesession.FieldID, offlinesession.FieldUserID, offlinesession.FieldConnID:
values[i] = new(sql.NullString)
default:
values[i] = new(sql.UnknownType)
}
}
return values, nil
}
// assignValues assigns the values that were returned from sql.Rows (after scanning)
// to the OfflineSession fields.
func (os *OfflineSession) 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 offlinesession.FieldID:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field id", values[i])
} else if value.Valid {
os.ID = value.String
}
case offlinesession.FieldUserID:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field user_id", values[i])
} else if value.Valid {
os.UserID = value.String
}
case offlinesession.FieldConnID:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field conn_id", values[i])
} else if value.Valid {
os.ConnID = value.String
}
case offlinesession.FieldRefresh:
if value, ok := values[i].(*[]byte); !ok {
return fmt.Errorf("unexpected type %T for field refresh", values[i])
} else if value != nil {
os.Refresh = *value
}
case offlinesession.FieldConnectorData:
if value, ok := values[i].(*[]byte); !ok {
return fmt.Errorf("unexpected type %T for field connector_data", values[i])
} else if value != nil {
os.ConnectorData = value
}
default:
os.selectValues.Set(columns[i], values[i])
}
}
return nil
}
// Value returns the ent.Value that was dynamically selected and assigned to the OfflineSession.
// This includes values selected through modifiers, order, etc.
func (os *OfflineSession) Value(name string) (ent.Value, error) {
return os.selectValues.Get(name)
}
// Update returns a builder for updating this OfflineSession.
// Note that you need to call OfflineSession.Unwrap() before calling this method if this OfflineSession
// was returned from a transaction, and the transaction was committed or rolled back.
func (os *OfflineSession) Update() *OfflineSessionUpdateOne {
return NewOfflineSessionClient(os.config).UpdateOne(os)
}
// Unwrap unwraps the OfflineSession 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 (os *OfflineSession) Unwrap() *OfflineSession {
_tx, ok := os.config.driver.(*txDriver)
if !ok {
panic("db: OfflineSession is not a transactional entity")
}
os.config.driver = _tx.drv
return os
}
// String implements the fmt.Stringer.
func (os *OfflineSession) String() string {
var builder strings.Builder
builder.WriteString("OfflineSession(")
builder.WriteString(fmt.Sprintf("id=%v, ", os.ID))
builder.WriteString("user_id=")
builder.WriteString(os.UserID)
builder.WriteString(", ")
builder.WriteString("conn_id=")
builder.WriteString(os.ConnID)
builder.WriteString(", ")
builder.WriteString("refresh=")
builder.WriteString(fmt.Sprintf("%v", os.Refresh))
builder.WriteString(", ")
if v := os.ConnectorData; v != nil {
builder.WriteString("connector_data=")
builder.WriteString(fmt.Sprintf("%v", *v))
}
builder.WriteByte(')')
return builder.String()
}
// OfflineSessions is a parsable slice of OfflineSession.
type OfflineSessions []*OfflineSession