| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | 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;
 |