The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OrgUser = new Mongo . Collection ( 'orgUser' ) ;
/ * *
* A Organization User in wekan
* /
OrgUser . attachSchema (
new SimpleSchema ( {
_id : {
/ * *
* the organization user ' s id
* /
type : Number ,
optional : true ,
// eslint-disable-next-line consistent-return
autoValue ( ) {
if ( this . isInsert && ! this . isSet ) {
return incrementCounter ( 'counters' , 'orgUserId' , 1 ) ;
}
} ,
} ,
orgId : {
/ * *
* the organization id
* /
type : Number ,
optional : true ,
} ,
userId : {
/ * *
* the user id
* /
type : Number ,
optional : true ,
} ,
role : {
/ * *
* the role of user
* /
type : String ,
optional : true ,
max : 20 ,
} ,
createdAt : {
/ * *
* creation date of the organization user
* /
type : Date ,
// eslint-disable-next-line consistent-return
autoValue ( ) {
if ( this . isInsert ) {
return new Date ( ) ;
} else if ( this . isUpsert ) {
return { $setOnInsert : new Date ( ) } ;
} else {
this . unset ( ) ;
}
} ,
} ,
modifiedAt : {
type : Date ,
denyUpdate : false ,
// eslint-disable-next-line consistent-return
autoValue ( ) {
if ( this . isInsert || this . isUpsert || this . isUpdate ) {
return new Date ( ) ;
} else {
this . unset ( ) ;
}
} ,
} ,
} ) ,
) ;
if ( Meteor . isServer ) {
// Index for Organization User.
Meteor . startup ( ( ) => {
OrgUser . _collection . _ensureIndex ( { orgId : - 1 } ) ;
OrgUser . _collection . _ensureIndex ( { orgId : - 1 , userId : - 1 } ) ;
} ) ;
}
export default OrgUser ;