Add dialects

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
This commit is contained in:
m.nabokikh
2021-09-13 17:48:02 +04:00
parent eae3219e4d
commit fb38e1235d
64 changed files with 1198 additions and 596 deletions

View File

@@ -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(""),

View File

@@ -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).

View File

@@ -28,6 +28,7 @@ func (OAuth2Client) Fields() []ent.Field {
return []ent.Field{
field.Text("id").
SchemaType(textSchema).
MaxLen(100).
NotEmpty().
Unique(),
field.Text("secret").

View File

@@ -26,6 +26,7 @@ func (Connector) Fields() []ent.Field {
return []ent.Field{
field.Text("id").
SchemaType(textSchema).
MaxLen(100).
NotEmpty().
Unique(),
field.Text("type").

View File

@@ -40,7 +40,8 @@ func (DeviceRequest) Fields() []ent.Field {
NotEmpty(),
field.JSON("scopes", []string{}).
Optional(),
field.Time("expiry"),
field.Time("expiry").
SchemaType(timeSchema),
}
}

View File

@@ -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"),
}
}

View 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)",
}

View File

@@ -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),
}
}

View File

@@ -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),
}
}

View File

@@ -1,9 +0,0 @@
package schema
import (
"entgo.io/ent/dialect"
)
var textSchema = map[string]string{
dialect.SQLite: "text",
}