mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-02 21:59:00 +02:00
75a138c5d1
allow combined group policies GitOrigin-RevId: b23fb0454f794e9094e8e15e732b4322a48ac1ee
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const mongoose = require('../infrastructure/Mongoose')
|
|
|
|
const { Schema } = mongoose
|
|
|
|
const GroupPolicySchema = new Schema(
|
|
{
|
|
// User can't delete their own account
|
|
userCannotDeleteOwnAccount: Boolean,
|
|
|
|
// User can't add a secondary email address, or affiliation
|
|
userCannotHaveSecondaryEmail: Boolean,
|
|
|
|
// User can't have an active (currently auto-renewing) personal subscription, nor can they start one
|
|
userCannotHaveSubscription: Boolean,
|
|
|
|
// User can't choose to leave the group subscription they are managed by
|
|
userCannotLeaveManagingGroupSubscription: Boolean,
|
|
|
|
// User can't have a Google SSO account, nor can they link it to their account
|
|
userCannotHaveGoogleSSO: Boolean,
|
|
|
|
// User can't have other third-party SSO (e.g. ORCID/IEEE) active on their account, nor can they link it to their account
|
|
userCannotHaveOtherThirdPartySSO: Boolean,
|
|
|
|
// User can't use any of our AI features, such as the compile-assistant
|
|
userCannotUseAIFeatures: Boolean,
|
|
},
|
|
{ minimize: false }
|
|
)
|
|
|
|
exports.GroupPolicy = mongoose.model('GroupPolicy', GroupPolicySchema)
|
|
exports.GroupPolicySchema = GroupPolicySchema
|