mirror of https://github.com/wekan/wekan
Merge branch 'master' of https://github.com/wekan/wekan
commit
223fb78bd8
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,90 @@ |
||||
Team = new Mongo.Collection('team'); |
||||
|
||||
/** |
||||
* A Team in Wekan. Organization in Trello. |
||||
*/ |
||||
Team.attachSchema( |
||||
new SimpleSchema({ |
||||
_id: { |
||||
/** |
||||
* the organization id |
||||
*/ |
||||
type: Number, |
||||
optional: true, |
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() { |
||||
if (this.isInsert && !this.isSet) { |
||||
return incrementCounter('counters', 'orgId', 1); |
||||
} |
||||
}, |
||||
}, |
||||
displayName: { |
||||
/** |
||||
* the name to display for the team |
||||
*/ |
||||
type: String, |
||||
optional: true, |
||||
}, |
||||
desc: { |
||||
/** |
||||
* the description the team |
||||
*/ |
||||
type: String, |
||||
optional: true, |
||||
max: 190, |
||||
}, |
||||
name: { |
||||
/** |
||||
* short name of the team |
||||
*/ |
||||
type: String, |
||||
optional: true, |
||||
max: 255, |
||||
}, |
||||
website: { |
||||
/** |
||||
* website of the team |
||||
*/ |
||||
type: String, |
||||
optional: true, |
||||
max: 255, |
||||
}, |
||||
createdAt: { |
||||
/** |
||||
* creation date of the team |
||||
*/ |
||||
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 Team name.
|
||||
Meteor.startup(() => { |
||||
Team._collection._ensureIndex({ name: -1 }); |
||||
}); |
||||
} |
||||
|
||||
export default Team; |
@ -0,0 +1,27 @@ |
||||
Meteor.publish('org', function(query, limit) { |
||||
check(query, Match.OneOf(Object, null)); |
||||
check(limit, Number); |
||||
|
||||
if (!Match.test(this.userId, String)) { |
||||
return []; |
||||
} |
||||
|
||||
const user = Users.findOne(this.userId); |
||||
if (user && user.isAdmin) { |
||||
return Org.find(query, { |
||||
limit, |
||||
sort: { createdAt: -1 }, |
||||
fields: { |
||||
displayName: 1, |
||||
desc: 1, |
||||
name: 1, |
||||
website: 1, |
||||
teams: 1, |
||||
createdAt: 1, |
||||
loginDisabled: 1, |
||||
}, |
||||
}); |
||||
} |
||||
|
||||
return []; |
||||
}); |
@ -0,0 +1,27 @@ |
||||
Meteor.publish('team', function(query, limit) { |
||||
check(query, Match.OneOf(Object, null)); |
||||
check(limit, Number); |
||||
|
||||
if (!Match.test(this.userId, String)) { |
||||
return []; |
||||
} |
||||
|
||||
const user = Users.findOne(this.userId); |
||||
if (user && user.isAdmin) { |
||||
return Team.find(query, { |
||||
limit, |
||||
sort: { createdAt: -1 }, |
||||
fields: { |
||||
displayName: 1, |
||||
desc: 1, |
||||
name: 1, |
||||
website: 1, |
||||
teams: 1, |
||||
createdAt: 1, |
||||
loginDisabled: 1, |
||||
}, |
||||
}); |
||||
} |
||||
|
||||
return []; |
||||
}); |
Loading…
Reference in new issue