Переглянути джерело

Merge pull request #22188 from overleaf/ar-convert-modules-group-settings-to-es-modules

Convert modules/group-settings to es modules

GitOrigin-RevId: 3f1768fb91148722c0f0c181ab9b5a5a9174deca
Andrew Rumble 1 рік тому
батько
коміт
8417267075

+ 5 - 5
services/web/app/src/Features/Subscription/PlansHelper.js → services/web/app/src/Features/Subscription/PlansHelper.mjs

@@ -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 - 1
services/web/test/acceptance/src/DeletionTests.mjs

@@ -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'

+ 1 - 1
services/web/test/acceptance/src/PrimaryEmailCheckTests.mjs

@@ -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
 

+ 1 - 1
services/web/test/acceptance/src/UserMembershipAuthorizationTests.mjs

@@ -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 - 1
services/web/test/acceptance/src/helpers/DeletedSubscription.mjs

@@ -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
services/web/test/acceptance/src/helpers/RecurlySubscription.js → services/web/test/acceptance/src/helpers/RecurlySubscription.mjs

@@ -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
services/web/test/acceptance/src/helpers/Subscription.js → services/web/test/acceptance/src/helpers/Subscription.mjs

@@ -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
services/web/test/acceptance/src/helpers/groupSSO.js → services/web/test/acceptance/src/helpers/groupSSO.mjs

@@ -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,