94 lines
1.9 KiB
CUE
94 lines
1.9 KiB
CUE
package system
|
|
|
|
import (
|
|
"github.com/cortezaproject/corteza/server/codegen/schema"
|
|
)
|
|
|
|
auth_oa2token: {
|
|
features: {
|
|
labels: false
|
|
paging: false
|
|
sorting: false
|
|
checkFn: false
|
|
}
|
|
|
|
model: {
|
|
omitGetterSetter: true
|
|
|
|
attributes: {
|
|
id: schema.IdField
|
|
code: {
|
|
dal: { type: "Text", length: 48 }
|
|
}
|
|
access: {
|
|
dal: { type: "Text", length: 2048 }
|
|
}
|
|
refresh: {
|
|
dal: { type: "Text", length: 48 }
|
|
}
|
|
data: {
|
|
goType: "rawJson"
|
|
dal: { type: "JSON", defaultEmptyObject: true }
|
|
}
|
|
remote_addr: {
|
|
dal: { type: "Text", length: 64 }
|
|
}
|
|
user_agent: {
|
|
dal: {}
|
|
}
|
|
client_id: {
|
|
goType: "uint64",
|
|
ident: "clientID",
|
|
storeIdent: "rel_client"
|
|
dal: { type: "Ref", refModelResType: "corteza::system:auth-client", default: 0 }
|
|
}
|
|
user_id: {
|
|
goType: "uint64",
|
|
ident: "userID",
|
|
storeIdent: "rel_user"
|
|
dal: { type: "Ref", refModelResType: "corteza::system:user", default: 0 }
|
|
}
|
|
created_at: schema.SortableTimestampNowField
|
|
expires_at: schema.SortableTimestampField
|
|
}
|
|
|
|
indexes: {
|
|
"primary": { attribute: "id" }
|
|
"client_id": { attribute: "client_id" }
|
|
"code": { attribute: "code" }
|
|
"refresh": { attribute: "refresh" }
|
|
}
|
|
}
|
|
|
|
filter: {
|
|
struct: {
|
|
user_id: { goType: "uint64", ident: "userID" }
|
|
}
|
|
|
|
byValue: ["user_id"]
|
|
}
|
|
|
|
envoy: {
|
|
omit: true
|
|
}
|
|
|
|
store: {
|
|
api: {
|
|
lookups: [
|
|
{ fields: ["id"] },
|
|
{ fields: ["code"] },
|
|
{ fields: ["access"] },
|
|
{ fields: ["refresh"] },
|
|
]
|
|
|
|
functions: [
|
|
{ expIdent: "DeleteExpiredAuthOA2Tokens" },
|
|
{ expIdent: "DeleteAuthOA2TokenByCode", args: [ { ident: "code", goType: "string" } ] },
|
|
{ expIdent: "DeleteAuthOA2TokenByAccess", args: [ { ident: "access", goType: "string" } ] },
|
|
{ expIdent: "DeleteAuthOA2TokenByRefresh", args: [ { ident: "refresh", goType: "string" } ] },
|
|
{ expIdent: "DeleteAuthOA2TokenByUserID", args: [ { ident: "userID", goType: "uint64" } ] },
|
|
]
|
|
}
|
|
}
|
|
}
|