3
0
corteza/server/system/auth_oa2token.cue
2023-03-17 10:58:46 +01:00

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" } ] },
]
}
}
}