Blame view

imports/collections/staff/index.js 2.6 KB
925ffa9d3   Deepak   changed teachers ...
1
  // import {Staffs } from '/imports/collections/staff/index'
d75229d74   Deepak   fixed dob issue a...
2
3
4
5
6
7
8
9
  
  import _                                  from 'lodash';
  import { Meteor }                         from 'meteor/meteor';
  import { Mongo }                          from 'meteor/mongo';
  import { SimpleSchema }                   from 'meteor/aldeed:simple-schema';
  
  import { Orgs }                           from '/imports/collections/orgs/index';
  import { Users }                          from '/imports/collections/users/index';
925ffa9d3   Deepak   changed teachers ...
10
  class Staff {
d75229d74   Deepak   fixed dob issue a...
11
12
13
14
15
16
17
18
    constructor(doc) {
      _.assign(this, doc);
    };
  
    getUserIds() {
      return _.filter(_.map(this.users, 'userId'));
    };
  };
925ffa9d3   Deepak   changed teachers ...
19
  export { Staff };
d75229d74   Deepak   fixed dob issue a...
20

925ffa9d3   Deepak   changed teachers ...
21
  class StaffsCollection extends Mongo.Collection {
d75229d74   Deepak   fixed dob issue a...
22
23
24
25
26
27
28
    insert(item, callback) {
      _.assign(item, {
        createdAt:        new Date().getTime(),
      });
      return super.insert(item, callback);
    };
  };
925ffa9d3   Deepak   changed teachers ...
29
  export const Staffs = new StaffsCollection('Teachers', {
d75229d74   Deepak   fixed dob issue a...
30
    transform: (item) => {
925ffa9d3   Deepak   changed teachers ...
31
      return new Staff(item);
d75229d74   Deepak   fixed dob issue a...
32
33
    },
  });
925ffa9d3   Deepak   changed teachers ...
34
35
  _.assign(Staffs, {
    allStaffs: () => {
d75229d74   Deepak   fixed dob issue a...
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
      const user = Users.current();
      if(!user) return null;
      return Orgs.find({'users.userId': user._id});
    },
    current: () => {
      const user = Users.current();
      if(!user) return null;
      return Orgs.findOne({_id: user.orgId});
    },
    currentOrgUsers: () => {
      const OrgsArr = Orgs.current();
      if(!OrgsArr) return null;
      return OrgsArr.users;
    },
  
  });
925ffa9d3   Deepak   changed teachers ...
52
  Staffs.deny({
d75229d74   Deepak   fixed dob issue a...
53
54
55
56
    insert() { return true; },
    update() { return true; },
    remove() { return true; },
  });
925ffa9d3   Deepak   changed teachers ...
57
  Staffs.schema = new SimpleSchema({
d75229d74   Deepak   fixed dob issue a...
58
59
    userId:               { type: String },
    orgId:                { type: String },
ec5f044a9   Deepak   Finished add teac...
60
61
62
63
    employeeId:           { type: String },
    martialStatus:        { type: String },
    dob:                  { type: String },
    teaching:             { type: String },
d75229d74   Deepak   fixed dob issue a...
64
65
    type:                 { type: String },
    gender:               { type: String, optional: true },
ec5f044a9   Deepak   Finished add teac...
66
67
68
69
70
    qualifaication:       { type: String, optional: true },
    specialization:       { type: String, optional: true },
    university:           { type: String, optional: true },
    degreeFrom:           { type: String, optional: true },
    degreeEnded:          { type: String, optional: true },
d75229d74   Deepak   fixed dob issue a...
71
72
73
74
75
76
77
78
79
80
81
    services: {
      type: Object,
      optional: true,
      blackbox: true,
    },
  
    isMetaUser:           { type: Boolean, optional: true },
  
    createdAt:            { type: Date, autoValue: function(){return new Date();}}
  
  });
925ffa9d3   Deepak   changed teachers ...
82
  Staffs.attachSchema(Staffs.schema);
d75229d74   Deepak   fixed dob issue a...
83

925ffa9d3   Deepak   changed teachers ...
84
  Staffs.privateFields = {
d75229d74   Deepak   fixed dob issue a...
85
    orgId:              1,
d75229d74   Deepak   fixed dob issue a...
86
87
88
89
  
    isMetaUser:         1,
    createdAt:          1,
  };
925ffa9d3   Deepak   changed teachers ...
90
  Staffs.publicFields = {
d75229d74   Deepak   fixed dob issue a...
91
92
93
94
95
96
    firstName:          1,
    lastName:           1,
    emails:             1,
  
    createdAt:          1,
  };