@@ -73,7 +73,8 @@ func (AuthCode) Fields() []ent.Field {
|
||||
field.Bytes("connector_data").
|
||||
Nillable().
|
||||
Optional(),
|
||||
field.Time("expiry"),
|
||||
field.Time("expiry").
|
||||
SchemaType(timeSchema),
|
||||
field.Text("code_challenge").
|
||||
SchemaType(textSchema).
|
||||
Default(""),
|
||||
|
@@ -77,7 +77,8 @@ func (AuthRequest) Fields() []ent.Field {
|
||||
field.Bytes("connector_data").
|
||||
Nillable().
|
||||
Optional(),
|
||||
field.Time("expiry"),
|
||||
field.Time("expiry").
|
||||
SchemaType(timeSchema),
|
||||
|
||||
field.Text("code_challenge").
|
||||
SchemaType(textSchema).
|
||||
|
@@ -28,6 +28,7 @@ func (OAuth2Client) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.Text("id").
|
||||
SchemaType(textSchema).
|
||||
MaxLen(100).
|
||||
NotEmpty().
|
||||
Unique(),
|
||||
field.Text("secret").
|
||||
|
@@ -26,6 +26,7 @@ func (Connector) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.Text("id").
|
||||
SchemaType(textSchema).
|
||||
MaxLen(100).
|
||||
NotEmpty().
|
||||
Unique(),
|
||||
field.Text("type").
|
||||
|
@@ -40,7 +40,8 @@ func (DeviceRequest) Fields() []ent.Field {
|
||||
NotEmpty(),
|
||||
field.JSON("scopes", []string{}).
|
||||
Optional(),
|
||||
field.Time("expiry"),
|
||||
field.Time("expiry").
|
||||
SchemaType(timeSchema),
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -33,8 +33,10 @@ func (DeviceToken) Fields() []ent.Field {
|
||||
SchemaType(textSchema).
|
||||
NotEmpty(),
|
||||
field.Bytes("token").Nillable().Optional(),
|
||||
field.Time("expiry"),
|
||||
field.Time("last_request"),
|
||||
field.Time("expiry").
|
||||
SchemaType(timeSchema),
|
||||
field.Time("last_request").
|
||||
SchemaType(timeSchema),
|
||||
field.Int("poll_interval"),
|
||||
}
|
||||
}
|
||||
|
21
storage/ent/schema/dialects.go
Normal file
21
storage/ent/schema/dialects.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"entgo.io/ent/dialect"
|
||||
)
|
||||
|
||||
var textSchema = map[string]string{
|
||||
dialect.Postgres: "text",
|
||||
dialect.SQLite: "text",
|
||||
// MySQL doesn't support indices on text fields w/o
|
||||
// specifying key length. Use varchar instead (767 byte
|
||||
// is the max key length for InnoDB with 4k pages).
|
||||
// For compound indexes (with two keys) even less.
|
||||
dialect.MySQL: "varchar(384)",
|
||||
}
|
||||
|
||||
var timeSchema = map[string]string{
|
||||
dialect.Postgres: "timestamptz",
|
||||
dialect.SQLite: "timestamp",
|
||||
dialect.MySQL: "datetime(3)",
|
||||
}
|
@@ -34,7 +34,8 @@ func (Keys) Fields() []ent.Field {
|
||||
field.JSON("verification_keys", []storage.VerificationKey{}),
|
||||
field.JSON("signing_key", jose.JSONWebKey{}),
|
||||
field.JSON("signing_key_pub", jose.JSONWebKey{}),
|
||||
field.Time("next_rotation"),
|
||||
field.Time("next_rotation").
|
||||
SchemaType(timeSchema),
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -81,8 +81,10 @@ func (RefreshToken) Fields() []ent.Field {
|
||||
Default(""),
|
||||
|
||||
field.Time("created_at").
|
||||
SchemaType(timeSchema).
|
||||
Default(time.Now),
|
||||
field.Time("last_used").
|
||||
SchemaType(timeSchema).
|
||||
Default(time.Now),
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +0,0 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"entgo.io/ent/dialect"
|
||||
)
|
||||
|
||||
var textSchema = map[string]string{
|
||||
dialect.SQLite: "text",
|
||||
}
|
Reference in New Issue
Block a user