mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 06:03:45 +01:00
Merge pull request #22188 from overleaf/ar-convert-modules-group-settings-to-es-modules
Convert modules/group-settings to es modules GitOrigin-RevId: 3f1768fb91148722c0f0c181ab9b5a5a9174deca
This commit is contained in:
+5
-5
@@ -1,7 +1,7 @@
|
||||
const FeaturesHelper = require('./FeaturesHelper')
|
||||
const PlanLocator = require('./PlansLocator')
|
||||
import FeaturesHelper from './FeaturesHelper.js'
|
||||
import PlanLocator from './PlansLocator.js'
|
||||
|
||||
function isProfessionalPlan(planCode) {
|
||||
export function isProfessionalPlan(planCode) {
|
||||
const plan = PlanLocator.findLocalPlanInSettings(planCode)
|
||||
// only identify "modern" professional group plans as eligible, and do not include legacy plans
|
||||
return Boolean(
|
||||
@@ -10,12 +10,12 @@ function isProfessionalPlan(planCode) {
|
||||
)
|
||||
}
|
||||
|
||||
function isProfessionalGroupPlan(subscription) {
|
||||
export function isProfessionalGroupPlan(subscription) {
|
||||
const isProfessional = isProfessionalPlan(subscription.planCode)
|
||||
return subscription.groupPlan && isProfessional
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
isProfessionalPlan,
|
||||
isProfessionalGroupPlan,
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import User from './helpers/User.js'
|
||||
import Subscription from './helpers/Subscription.js'
|
||||
import Subscription from './helpers/Subscription.mjs'
|
||||
import request from './helpers/request.js'
|
||||
import async from 'async'
|
||||
import { expect } from 'chai'
|
||||
|
||||
@@ -3,7 +3,7 @@ import Settings from '@overleaf/settings'
|
||||
import { expect } from 'chai'
|
||||
import Features from '../../../app/src/infrastructure/Features.js'
|
||||
import MockV1ApiClass from './mocks/MockV1Api.js'
|
||||
import SubscriptionHelper from './helpers/Subscription.js'
|
||||
import SubscriptionHelper from './helpers/Subscription.mjs'
|
||||
|
||||
const Subscription = SubscriptionHelper.promises
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import { expect } from 'chai'
|
||||
import async from 'async'
|
||||
import User from './helpers/User.js'
|
||||
import Institution from './helpers/Institution.mjs'
|
||||
import Subscription from './helpers/Subscription.js'
|
||||
import Subscription from './helpers/Subscription.mjs'
|
||||
import Publisher from './helpers/Publisher.js'
|
||||
|
||||
describe('UserMembershipAuthorization', function () {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import MockSubscription from './Subscription.js'
|
||||
import MockSubscription from './Subscription.mjs'
|
||||
import SubscriptionUpdater from '../../../../app/src/Features/Subscription/SubscriptionUpdater.js'
|
||||
import { Subscription as SubscriptionModel } from '../../../../app/src/models/Subscription.js'
|
||||
import { DeletedSubscription as DeletedSubscriptionModel } from '../../../../app/src/models/DeletedSubscription.js'
|
||||
|
||||
+9
-7
@@ -1,9 +1,10 @@
|
||||
const { ObjectId } = require('mongodb-legacy')
|
||||
const Subscription = require('./Subscription')
|
||||
const MockRecurlyApiClass = require('../mocks/MockRecurlyApi')
|
||||
const RecurlyWrapper = require('../../../../app/src/Features/Subscription/RecurlyWrapper')
|
||||
const { promisifyClass } = require('@overleaf/promise-utils')
|
||||
import mongodb from 'mongodb-legacy'
|
||||
import Subscription from './Subscription.mjs'
|
||||
import MockRecurlyApiClass from '../mocks/MockRecurlyApi.js'
|
||||
import RecurlyWrapper from '../../../../app/src/Features/Subscription/RecurlyWrapper.js'
|
||||
import { promisifyClass } from '@overleaf/promise-utils'
|
||||
|
||||
const { ObjectId } = mongodb
|
||||
let MockRecurlyApi
|
||||
|
||||
before(function () {
|
||||
@@ -57,7 +58,8 @@ class RecurlySubscription {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = RecurlySubscription
|
||||
module.exports.promises = promisifyClass(RecurlySubscription, {
|
||||
export default RecurlySubscription
|
||||
|
||||
export const promises = promisifyClass(RecurlySubscription, {
|
||||
without: ['buildCallbackXml'],
|
||||
})
|
||||
+10
-12
@@ -1,14 +1,12 @@
|
||||
const { db, ObjectId } = require('../../../../app/src/infrastructure/mongodb')
|
||||
const { expect } = require('chai')
|
||||
const { callbackifyClass } = require('@overleaf/promise-utils')
|
||||
const SubscriptionUpdater = require('../../../../app/src/Features/Subscription/SubscriptionUpdater')
|
||||
const PermissionsManager = require('../../../../app/src/Features/Authorization/PermissionsManager')
|
||||
const SSOConfigManager = require('../../../../modules/group-settings/app/src/sso/SSOConfigManager')
|
||||
const SubscriptionModel =
|
||||
require('../../../../app/src/models/Subscription').Subscription
|
||||
const DeletedSubscriptionModel =
|
||||
require('../../../../app/src/models/DeletedSubscription').DeletedSubscription
|
||||
const Modules = require('../../../../app/src/infrastructure/Modules')
|
||||
import { db, ObjectId } from '../../../../app/src/infrastructure/mongodb.js'
|
||||
import { expect } from 'chai'
|
||||
import { callbackifyClass } from '@overleaf/promise-utils'
|
||||
import SubscriptionUpdater from '../../../../app/src/Features/Subscription/SubscriptionUpdater.js'
|
||||
import PermissionsManager from '../../../../app/src/Features/Authorization/PermissionsManager.js'
|
||||
import SSOConfigManager from '../../../../modules/group-settings/app/src/sso/SSOConfigManager.mjs'
|
||||
import { Subscription as SubscriptionModel } from '../../../../app/src/models/Subscription.js'
|
||||
import { DeletedSubscription as DeletedSubscriptionModel } from '../../../../app/src/models/DeletedSubscription.js'
|
||||
import Modules from '../../../../app/src/infrastructure/Modules.js'
|
||||
|
||||
class PromisifiedSubscription {
|
||||
constructor(options = {}) {
|
||||
@@ -178,4 +176,4 @@ const Subscription = callbackifyClass(PromisifiedSubscription, {
|
||||
})
|
||||
Subscription.promises = class extends PromisifiedSubscription {}
|
||||
|
||||
module.exports = Subscription
|
||||
export default Subscription
|
||||
+21
-20
@@ -1,18 +1,19 @@
|
||||
const fs = require('fs')
|
||||
const Path = require('path')
|
||||
const User = require('./User').promises
|
||||
const Subscription = require('./Subscription').promises
|
||||
const { SSOConfig } = require('../../../../app/src/models/SSOConfig')
|
||||
const UserHelper = require('./UserHelper')
|
||||
const SAMLHelper = require('./SAMLHelper')
|
||||
const Settings = require('@overleaf/settings')
|
||||
const {
|
||||
getProviderId,
|
||||
} = require('../../../../app/src/Features/Subscription/GroupUtils')
|
||||
const UserGetter = require('../../../../app/src/Features/User/UserGetter')
|
||||
const {
|
||||
Subscription: SubscriptionModel,
|
||||
} = require('../../../../app/src/models/Subscription')
|
||||
import fs from 'fs'
|
||||
import Path from 'path'
|
||||
import UserModule from './User.js'
|
||||
import SubscriptionHelper from './Subscription.mjs'
|
||||
import { SSOConfig } from '../../../../app/src/models/SSOConfig.js'
|
||||
import UserHelper from './UserHelper.js'
|
||||
import SAMLHelper from './SAMLHelper.js'
|
||||
import Settings from '@overleaf/settings'
|
||||
import { getProviderId } from '../../../../app/src/Features/Subscription/GroupUtils.js'
|
||||
import UserGetter from '../../../../app/src/Features/User/UserGetter.js'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { Subscription as SubscriptionModel } from '../../../../app/src/models/Subscription.js'
|
||||
|
||||
const { promises: User } = UserModule
|
||||
const { promises: Subscription } = SubscriptionHelper
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
|
||||
const SAML_TEST_CERT = fs
|
||||
.readFileSync(Path.resolve(__dirname, '../../files/saml-cert.crt'), 'utf8')
|
||||
@@ -26,14 +27,14 @@ function getEnrollmentUrl(groupId) {
|
||||
|
||||
const userIdAttribute = 'nameID'
|
||||
|
||||
const baseSsoConfig = {
|
||||
export const baseSsoConfig = {
|
||||
entryPoint: 'http://example-sso.com/saml',
|
||||
certificates: [SAML_TEST_CERT],
|
||||
signatureAlgorithm: 'sha256',
|
||||
userIdAttribute,
|
||||
} // the database also sets enabled and validated, but we cannot set that in the POST request for /manage/groups/:ID/settings/sso
|
||||
|
||||
async function createGroupSSO() {
|
||||
export async function createGroupSSO() {
|
||||
const nonSSOMemberHelper = await UserHelper.createUser()
|
||||
const nonSSOMember = nonSSOMemberHelper.user
|
||||
|
||||
@@ -91,7 +92,7 @@ async function createGroupSSO() {
|
||||
}
|
||||
}
|
||||
|
||||
async function linkGroupMember(
|
||||
export async function linkGroupMember(
|
||||
userEmail,
|
||||
userPassword,
|
||||
groupId,
|
||||
@@ -165,7 +166,7 @@ async function linkGroupMember(
|
||||
return userHelper
|
||||
}
|
||||
|
||||
async function setConfigAndEnableSSO(
|
||||
export async function setConfigAndEnableSSO(
|
||||
subscriptionHelper,
|
||||
adminEmailPassword,
|
||||
config
|
||||
@@ -211,7 +212,7 @@ async function setConfigAndEnableSSO(
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
createGroupSSO,
|
||||
linkGroupMember,
|
||||
baseSsoConfig,
|
||||
Reference in New Issue
Block a user