mirror of https://github.com/wekan/wekan
reviewable/pr3976/r1
parent
8e142dfdcf
commit
9bb1425a81
@ -0,0 +1,73 @@ |
||||
TableVisibilityModeSettings = new Mongo.Collection('tableVisibilityModeSettings'); |
||||
|
||||
TableVisibilityModeSettings.attachSchema( |
||||
new SimpleSchema({ |
||||
_id: { |
||||
type: String, |
||||
}, |
||||
booleanValue: { |
||||
type: Boolean, |
||||
optional: true, |
||||
}, |
||||
sort: { |
||||
type: Number, |
||||
decimal: true, |
||||
}, |
||||
createdAt: { |
||||
type: Date, |
||||
optional: true, |
||||
// 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(); |
||||
} |
||||
}, |
||||
}, |
||||
}), |
||||
); |
||||
|
||||
TableVisibilityModeSettings.allow({ |
||||
update(userId) { |
||||
const user = Users.findOne(userId); |
||||
return user && user.isAdmin; |
||||
}, |
||||
}); |
||||
|
||||
if (Meteor.isServer) { |
||||
Meteor.startup(() => { |
||||
TableVisibilityModeSettings._collection._ensureIndex({ modifiedAt: -1 }); |
||||
TableVisibilityModeSettings.upsert( |
||||
{ _id: 'tableVisibilityMode-allowPrivateOnly' }, |
||||
{ |
||||
$setOnInsert: { |
||||
booleanValue: false, |
||||
sort: 0, |
||||
}, |
||||
}, |
||||
); |
||||
}); |
||||
} |
||||
|
||||
TableVisibilityModeSettings.helpers({ |
||||
allowPrivateOnly() { |
||||
return TableVisibilityModeSettings.findOne('tableVisibilityMode-allowPrivateOnly').booleanValue; |
||||
}, |
||||
}); |
||||
|
||||
export default TableVisibilityModeSettings; |
@ -0,0 +1,3 @@ |
||||
Meteor.publish('tableVisibilityModeSettings', function() { |
||||
return TableVisibilityModeSettings.find(); |
||||
}); |
Loading…
Reference in new issue