Class: SimpleUser
Simple user offers groups and roles management
Groups and roles are defined just as string, no models
Extends
Constructors
new SimpleUser()
new SimpleUser():
SimpleUser
Returns
Inherited from
Source
packages/core/src/models/coremodel.ts:683
Properties
__class
__class:
CoreModelDefinition
<SimpleUser
>
Class reference to the object
Inherited from
Source
packages/core/src/models/coremodel.ts:640
__ctx
__ctx:
OperationContext
<any
,any
>
Object context
@TJS-ignore
Inherited from
Source
packages/core/src/models/coremodel.ts:655
__dirty
__dirty:
Set
<string
|symbol
>
Inherited from
Source
packages/core/src/models/coremodel.ts:665
__password?
__password?:
string
Password of the user if defined
Inherited from
Source
packages/core/src/models/user.ts:15
__store
__store:
Store
<SimpleUser
,StoreParameters
,StoreEvents
>
If object is attached to its store
@TJS-ignore
Inherited from
Source
packages/core/src/models/coremodel.ts:662
__type
__type:
string
Type name
Inherited from
Source
packages/core/src/models/coremodel.ts:644
__types
__types:
string
[]
Types name
Inherited from
Source
packages/core/src/models/coremodel.ts:648
_avatar?
_avatar?:
string
Define the user avatar if exists
Inherited from
Source
packages/core/src/models/user.ts:29
_creationDate
_creationDate:
Date
Creation date
Inherited from
Source
packages/core/src/models/coremodel.ts:670
_groups
_groups:
string
[] =[]
Groups for a user
Source
packages/core/src/models/user.ts:131
_idents
_idents: readonly
ModelMapLoader
<Ident
,"uuid"
|"email"
|"_type"
>[] =[]
Normal ident
Source
packages/core/src/models/user.ts:139
_lastPasswordRecovery?
_lastPasswordRecovery?:
number
=0
Last time the password was recovered
Inherited from
Source
packages/core/src/models/user.ts:24
_lastUpdate
_lastUpdate:
Date
Last update date
Inherited from
Source
packages/core/src/models/coremodel.ts:675
_roles
_roles:
string
[] =[]
Roles of the user
Source
packages/core/src/models/user.ts:135
displayName
displayName:
string
Display name for this user
Optional
Inherited from
Source
packages/core/src/models/user.ts:20
email?
email?:
string
Contain main user email if exists
Inherited from
Source
packages/core/src/models/user.ts:37
locale?
locale?:
string
Contains the locale of the user if known
Inherited from
Source
packages/core/src/models/user.ts:33
Methods
_onDelete()
_onDelete():
Promise
<void
>
Called when object is about to be deleted
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1593
_onDeleted()
_onDeleted():
Promise
<void
>
Called when object has been deleted
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1600
_onGet()
_onGet():
Promise
<void
>
Called when object is retrieved
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1607
_onSave()
_onSave():
Promise
<void
>
Called when object is about to be saved
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1614
_onSaved()
_onSaved():
Promise
<void
>
Called when object is saved
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1621
_onUpdate()
_onUpdate(
_updates
):Promise
<void
>
Called when object is about to be updates
Parameters
• _updates: any
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1630
_onUpdated()
_onUpdated():
Promise
<void
>
Called when object is updated
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1637
_toJSON()
_toJSON(
secure
):any
Remove the specific attributes if not secure
Parameters
• secure: any
serialize server fields also
Returns
any
filtered object to be serialized
Inherited from
Source
packages/core/src/models/coremodel.ts:1562
addGroup()
addGroup(
group
):void
Parameters
• group: string
Returns
void
Source
packages/core/src/models/user.ts:149
addRole()
addRole(
role
):void
Parameters
• role: string
Returns
void
Source
packages/core/src/models/user.ts:179
attributePermission()
attributePermission(
key
,value
,mode
,context
?):any
Allow to define custom permission per attribute
This method allows you to do permission based attribute But also a mask destructive attribute
Parameters
• key: string
• value: any
• mode: "READ"
| "WRITE"
• context?: OperationContext
<any
, any
>
Returns
any
updated value
Inherited from
Source
packages/core/src/models/coremodel.ts:1306
canAct()
canAct(
ctx
,_action
):Promise
<string
|boolean
>
By default nothing is permitted on a CoreModel
Parameters
• ctx: OperationContext
<any
, any
>
• _action: string
Returns
Promise
<string
| boolean
>
Inherited from
Source
packages/core/src/models/user.ts:91
checkAct()
checkAct(
context
,action
):Promise
<void
>
Parameters
• context: OperationContext
<any
, any
>
• action: string
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1197
delete()
delete():
Promise
<void
>
Delete this object
Returns
Promise
<void
>
Inherited from
Throws
Error if the object is not coming from a store
Source
packages/core/src/models/coremodel.ts:1457
generateUid()
generateUid(
_object
):string
Generate uuid for the object
Parameters
• _object: any
= undefined
Returns
string
Inherited from
Source
packages/core/src/models/coremodel.ts:1526
get()
get():
Promise
<SimpleUser
>
Get the object
Returns
Promise
<SimpleUser
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1428
getContext()
getContext<
T
>():T
Get object context
Global object does not belong to a request
Type parameters
• T extends OperationContext
<any
, any
>
Returns
T
Inherited from
Source
packages/core/src/models/coremodel.ts:1413
getDisplayName()
getDisplayName():
string
Returns
string
Inherited from
Source
packages/core/src/models/user.ts:71
getEmail()
getEmail():
string
Return user email if known or guessable
Returns
string
Inherited from
Source
packages/core/src/models/user.ts:42
getFullUuid()
getFullUuid():
string
Return a unique reference within the application to the object
It contains the Store containing it
Returns
string
Inherited from
Source
packages/core/src/models/coremodel.ts:1270
getGroups()
getGroups():
string
[]
Returns
string
[]
Overrides
Source
packages/core/src/models/user.ts:171
getIdents()
getIdents(): readonly
ModelMapLoader
<Ident
,"uuid"
|"email"
|"_type"
>[]
Return idents
Returns
readonly ModelMapLoader
<Ident
, "uuid"
| "email"
| "_type"
>[]
Overrides
Source
packages/core/src/models/user.ts:145
getPassword()
getPassword():
string
Returns
string
Inherited from
Source
packages/core/src/models/user.ts:83
getProxy()
getProxy():
this
Return a proxy to the object to detect if dirty
Returns
this
Inherited from
Source
packages/core/src/models/coremodel.ts:1093
getRef()
getRef<
T
>():ModelRef
<T
>
Return a model ref
Type parameters
• T extends SimpleUser
Returns
ModelRef
<T
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1673
getRoles()
getRoles():
string
[]
Returns
string
[]
Overrides
Source
packages/core/src/models/user.ts:175
getService()
getService<
T
>(service
):T
Get a pre typed service
Type parameters
• T extends Service
<ServiceParameters
, Events
>
Parameters
• service: any
to retrieve WARNING: Only object attached to a store can retrieve service
Returns
T
Inherited from
Source
packages/core/src/models/coremodel.ts:1550
getStore()
getStore():
Store
<SimpleUser
,StoreParameters
,StoreEvents
>
Return the object registered store
Returns
Store
<SimpleUser
, StoreParameters
, StoreEvents
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1420
getUuid()
getUuid():
string
Returns
string
the uuid of the object
Inherited from
Source
packages/core/src/models/coremodel.ts:1152
handleRelations()
protected
handleRelations():void
Patch every attribute that is based on a relation to add all the helpers
Returns
void
Inherited from
Source
packages/core/src/models/coremodel.ts:1353
hasRole()
hasRole(
role
):boolean
Parameters
• role: string
Returns
boolean
Source
packages/core/src/models/user.ts:186
inGroup()
inGroup(
group
):boolean
Parameters
• group: string
Returns
boolean
Source
packages/core/src/models/user.ts:156
incrementAttribute()
incrementAttribute(
property
,value
):Promise
<void
>
Increment an attribute both in store and object
Parameters
• property: "_lastPasswordRecovery"
• value: number
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1665
incrementAttributes()
incrementAttributes(
info
):Promise
<void
>
Increment a attributes both in store and object
Parameters
• info: Object
[]
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1681
isDirty()
isDirty():
boolean
Return true if needs a save
Returns
boolean
Inherited from
Source
packages/core/src/models/coremodel.ts:1144
lastPasswordRecoveryBefore()
lastPasswordRecoveryBefore(
timestamp
):boolean
Parameters
• timestamp: number
Returns
boolean
Inherited from
User
.lastPasswordRecoveryBefore
Source
packages/core/src/models/user.ts:79
load()
load(
raw
,secure
,relations
):this
Load an object from RAW
Parameters
• raw: RawModel
<SimpleUser
>
data
• secure: boolean
= false
if false will ignore any _ variable
• relations: boolean
= true
Returns
this
Inherited from
Source
packages/core/src/models/coremodel.ts:1320
patch()
patch(
obj
,conditionField
?,conditionValue
?):Promise
<void
>
Patch current object with this update
Parameters
• obj: Partial
<SimpleUser
>
• conditionField?: keyof SimpleUser
if null no condition used otherwise fallback to lastUpdate
• conditionValue?: any
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1467
refresh()
refresh():
Promise
<SimpleUser
>
Get the object again
Returns
Promise
<SimpleUser
>
Inherited from
Throws
Error if the object is not coming from a store
Source
packages/core/src/models/coremodel.ts:1437
removeAttribute()
removeAttribute(
property
):Promise
<void
>
Remove attribute from both the object and db
Parameters
• property: keyof SimpleUser
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1655
removeGroup()
removeGroup(
group
):void
Parameters
• group: string
Returns
void
Source
packages/core/src/models/user.ts:163
removeRole()
removeRole(
role
):void
Parameters
• role: string
Returns
void
Source
packages/core/src/models/user.ts:190
save()
save(
full
?, ...args
?):Promise
<SimpleUser
>
Save this object
Parameters
• full?: boolean
| keyof SimpleUser
• ...args?: keyof SimpleUser
[]
Returns
Promise
<SimpleUser
>
Inherited from
Throws
Error if the object is not coming from a store
Source
packages/core/src/models/coremodel.ts:1482
setAttribute()
setAttribute(
property
,value
):Promise
<void
>
Set attribute on the object and database
Parameters
• property: keyof SimpleUser
• value: any
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1646
setContext()
setContext(
ctx
):this
Context of the request
Parameters
• ctx: OperationContext
<any
, any
>
Returns
this
Inherited from
Source
packages/core/src/models/coremodel.ts:1403
setPassword()
setPassword(
password
):void
Parameters
• password: string
Returns
void
Inherited from
Source
packages/core/src/models/user.ts:87
setUuid()
setUuid(
uuid
,target
):this
Parameters
• uuid: string
• target: SimpleUser
= undefined
Returns
this
Inherited from
Source
packages/core/src/models/coremodel.ts:1162
toJSON()
toJSON():
any
Return the object without sensitive attributes
Returns
any
Object to serialize
Inherited from
Source
packages/core/src/models/coremodel.ts:1586
toPublicEntry()
toPublicEntry():
any
Return displayable public entry
Returns
any
Inherited from
Source
packages/core/src/models/user.ts:53
toStoredJSON()
toStoredJSON(
stringify
):any
Return the object to be serialized without the __store
Parameters
• stringify: boolean
= false
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:1536
unflat()
unflat<
T
>(split
):T
Create subobject for a model
Useful for counters
Type parameters
• T
Parameters
• split: string
= "#"
Returns
T
Inherited from
Source
packages/core/src/models/coremodel.ts:986
validate()
validate(
ctx
,updates
,ignoreRequired
):Promise
<boolean
>
Validate objet modification
Parameters
• ctx: OperationContext
<any
, any
>
• updates: any
• ignoreRequired: boolean
= false
Returns
Promise
<boolean
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1515
addListener()
static
addListener<Key
>(event
,listener
):any
Type parameters
• Key extends keyof StoreEvents
Parameters
• event: Key
• listener: (...args
) => void
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:790
authorizeClientEvent()
static
authorizeClientEvent(_event
,context
,model
?):boolean
Only current user can see its own events
Parameters
• _event: string
• context: OperationContext
<any
, any
>
• model?: CoreModel
Returns
boolean
Inherited from
Source
packages/core/src/models/user.ts:113
completeQuery()
static
protected
completeQuery(query
,includeSubclass
):string
Complete the query with __type/__types
Parameters
• query: string
• includeSubclass: boolean
= true
Returns
string
Inherited from
Source
packages/core/src/models/coremodel.ts:1028
completeUid()
static
completeUid(uid
):string
Complete the uid with prefix if any
Useful when object are stored with a prefix for full uuid
Parameters
• uid: string
Returns
string
Inherited from
Source
packages/core/src/models/coremodel.ts:894
create()
static
create<T
>(this
,data
):Promise
<T
>
Get a reference to a model
Type parameters
• T extends CoreModel
Parameters
• this: Constructor
<T
, []>
• data: RawModel
<T
>
Returns
Promise
<T
>
Inherited from
Source
packages/core/src/models/coremodel.ts:923
emit()
static
emit<T
,Key
>(this
,event
,evt
):void
Emit an event for this class
Type parameters
• T extends CoreModel
• Key extends keyof StoreEvents
Parameters
• this: Constructor
<T
, []>
• event: Key
• evt: StoreEvents
[Key
]
Returns
void
Inherited from
Source
packages/core/src/models/coremodel.ts:727
emitSync()
static
emitSync<T
,Key
>(this
,event
,evt
):Promise
<void
>
Emit an event for this class and wait for all listeners to finish
Type parameters
• T extends CoreModel
• Key extends keyof StoreEvents
Parameters
• this: Constructor
<T
, []>
• event: Key
• evt: StoreEvents
[Key
]
Returns
Promise
<void
>
Inherited from
Source
packages/core/src/models/coremodel.ts:753
emitter()
static
emitter(method
, ...args
):any
Parameters
• method: any
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:794
eventNames()
static
eventNames(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:846
factory()
static
factory<T
>(this
,object
,context
?):T
Create an object
Type parameters
• T extends CoreModel
Parameters
• this: Constructor
<T
, []>
• object: Partial
<T
>
• context?: OperationContext
<any
, any
>
Returns
T
Inherited from
Source
packages/core/src/models/coremodel.ts:1249
flat()
static
flat(target
,data
,split
,prefix
):any
Flat an object into another
{ a: { b: 1 }, c: 1 }
become
{ "a#b": 1 "c": 1 }
Parameters
• target: any
• data: any
• split: string
= "#"
• prefix: string
= ""
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:1012
fromFullUuid()
static
fromFullUuid<T
>(fullUuid
,core
,partials
?):Promise
<T
>
Get an object from the full uuid
Type parameters
• T extends CoreModel
= CoreModel
Parameters
• fullUuid: string
• core: Core
<CoreEvents
>= undefined
• partials?: any
Returns
Promise
<T
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1281
getActions()
static
getActions<T
>(this
):ModelActions
Get actions callable on an object
This will expose them by the Store with /storeUrl/{uuid}/{action}
Type parameters
• T
Parameters
• this: Constructor
<T
, []>
Returns
Inherited from
Source
packages/core/src/models/coremodel.ts:1172
getClientEvents()
static
getClientEvents():string
[]
Add a login/logout event
Returns
string
[]
Inherited from
Source
packages/core/src/models/user.ts:102
getHierarchy()
static
getHierarchy():Object
Get the model hierarchy
Ancestors will contain every model it inherits from Children will contain every model that inherits from this model in a tree structure
Returns
Object
ancestors
ancestors:
string
[]children
children:
ModelsTree
Inherited from
Source
packages/core/src/models/coremodel.ts:946
getIdentifier()
static
getIdentifier(short
):string
Get identifier for this model
Parameters
• short: boolean
= true
Returns
string
Inherited from
Source
packages/core/src/models/coremodel.ts:931
getMaxListeners()
static
getMaxListeners(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:822
getPermissionQuery()
static
getPermissionQuery(_ctx
):Object
Return the expressable query for permission
Parameters
• _ctx: OperationContext
<any
, any
>
Returns
Object
partial
partial:
boolean
query
query:
string
Inherited from
Source
packages/core/src/models/coremodel.ts:1193
getRelations()
static
getRelations():ModelGraph
Returns
Inherited from
Source
packages/core/src/models/coremodel.ts:853
getSchema()
static
getSchema():JSONSchema7
Return the known schema
Returns
JSONSchema7
Inherited from
Source
packages/core/src/models/coremodel.ts:902
getUuidField()
static
getUuidField():string
Get the UUID property
Returns
string
Inherited from
Source
packages/core/src/models/coremodel.ts:1241
instanceOf()
static
instanceOf(object
):boolean
Detect what looks like a CoreModel but can be from different version
Parameters
• object: any
Returns
boolean
Inherited from
Source
packages/core/src/models/coremodel.ts:1258
iterate()
static
iterate<T
>(this
,query
,includeSubclass
,context
?):AsyncGenerator
<T
,any
,unknown
>
Iterate through the model
How to use a iterator is:
for await (const model of CoreModel.iterate()) {
// Do something with my model
}
Type parameters
• T extends CoreModel
Parameters
• this: Constructor
<T
, []>
• query: string
= ""
• includeSubclass: boolean
= true
• context?: OperationContext
<any
, any
>
Returns
AsyncGenerator
<T
, any
, unknown
>
Inherited from
Source
packages/core/src/models/coremodel.ts:1060
listenerCount()
static
listenerCount(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:834
listeners()
static
listeners(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:826
off()
static
off(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:806
on()
static
on<T
,Key
>(this
,event
,listener
,async
):any
Listen to events on the model
Type parameters
• T extends CoreModel
• Key extends keyof StoreEvents
Parameters
• this: Constructor
<T
, []>
• event: Key
• listener: (evt
) => any
• async: boolean
= false
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:701
onAsync()
static
onAsync<Key
>(event
,listener
,queue
?):any
Listen to events on the model asynchronously
Type parameters
• Key extends keyof StoreEvents
Parameters
• event: Key
• listener: (evt
) => any
• queue?: string
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:780
once()
static
once(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:810
prependListener()
static
prependListener(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:838
prependOnceListener()
static
prependOnceListener(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:842
query()
static
query<T
>(this
,query
,includeSubclass
,context
?):Promise
<Object
>
Query for models
Type parameters
• T extends CoreModel
Parameters
• this: Constructor
<T
, []>
• query: string
= ""
• includeSubclass: boolean
= true
• context?: OperationContext
<any
, any
>
Returns
Promise
<Object
>
continuationToken?
continuationToken?:
string
results
results:
T
[]
Inherited from
Source
packages/core/src/models/coremodel.ts:1076
rawListeners()
static
rawListeners(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:830
ref()
static
ref<T
>(this
,uid
):ModelRefWithCreate
<T
>
Get a reference to a model
Type parameters
• T extends CoreModel
Parameters
• this: Constructor
<T
, []>
• uid: string
Returns
Inherited from
Source
packages/core/src/models/coremodel.ts:913
removeAllListeners()
static
removeAllListeners(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:814
removeListener()
static
removeListener(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:802
setMaxListeners()
static
setMaxListeners(...args
):any
Parameters
• ...args: any
[]
Returns
any
Inherited from
Source
packages/core/src/models/coremodel.ts:818
store()
static
store<T
>(this
):Store
<T
,StoreParameters
,StoreEvents
>
Get Store for this model
Type parameters
• T extends CoreModel
Parameters
• this: Constructor
<T
, []>
Returns
Store
<T
, StoreParameters
, StoreEvents
>
Inherited from
Source
packages/core/src/models/coremodel.ts:880
unflat()
static
unflat<T
>(data
,split
):T
Unflat an object
Type parameters
• T = any
Parameters
• data: any
• split: string
= "#"
Returns
T