Merge pull request #29656 from overleaf/revert-29521-ar-models-es-conversion

Revert "[web] Convert models and self-referential test files to ESM "

GitOrigin-RevId: 5455cccbb513bd9ca36ce526ff1553065f83d233
This commit is contained in:
Andrew Rumble
2025-11-12 16:45:42 +00:00
committed by Copybot
parent e7cc70baf7
commit ae6dec9dcb
202 changed files with 846 additions and 804 deletions

View File

@@ -24,7 +24,7 @@ import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import Modules from '../../infrastructure/Modules.js'
import { expressify, promisify } from '@overleaf/promise-utils'
import { handleAuthenticateErrors } from './AuthenticationErrors.js'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
const { hasAdminAccess } = AdminAuthorizationHelper

View File

@@ -1,8 +1,8 @@
import Settings from '@overleaf/settings'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import { db, ObjectId } from '../../infrastructure/mongodb.js'
import bcrypt from 'bcrypt'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import {
InvalidEmailError,
@@ -16,7 +16,7 @@ import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
import HaveIBeenPwned from './HaveIBeenPwned.mjs'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import logger from '@overleaf/logger'
import DiffHelper from '../Helpers/DiffHelper.mjs'
import DiffHelper from '../Helpers/DiffHelper.js'
import Metrics from '@overleaf/metrics'
const BCRYPT_ROUNDS = Settings.security.bcryptRounds || 12

View File

@@ -4,7 +4,7 @@ import Features from '../../infrastructure/Features.js'
import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs'
import CollaboratorsHandler from '../Collaborators/CollaboratorsHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import PrivilegeLevels from './PrivilegeLevels.js'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.mjs'
import PublicAccessLevels from './PublicAccessLevels.mjs'

View File

@@ -6,7 +6,7 @@ import OError from '@overleaf/o-error'
import DeviceHistory from './DeviceHistory.mjs'
import AuthenticationController from '../Authentication/AuthenticationController.mjs'
import { expressify } from '@overleaf/promise-utils'
import EmailsHelper from '../Helpers/EmailHelper.mjs'
import EmailsHelper from '../Helpers/EmailHelper.js'
function respondInvalidCaptcha(req, res) {
res.status(400).json({

View File

@@ -1,5 +1,5 @@
import { callbackify } from 'node:util'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import Settings from '@overleaf/settings'

View File

@@ -4,7 +4,7 @@ import { callbackify } from 'node:util'
import pLimit from 'p-limit'
import mongodb from 'mongodb-legacy'
import OError from '@overleaf/o-error'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import UserGetter from '../User/UserGetter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'

View File

@@ -1,6 +1,6 @@
import { callbackify } from 'node:util'
import OError from '@overleaf/o-error'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import logger from '@overleaf/logger'
import ContactManager from '../Contacts/ContactManager.mjs'

View File

@@ -6,7 +6,7 @@ import CollaboratorsInviteHandler from './CollaboratorsInviteHandler.mjs'
import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.mjs'
import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'

View File

@@ -1,5 +1,5 @@
import logger from '@overleaf/logger'
import { ProjectInvite } from '../../models/ProjectInvite.mjs'
import { ProjectInvite } from '../../models/ProjectInvite.js'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import CollaboratorsInviteHelper from './CollaboratorsInviteHelper.mjs'

View File

@@ -1,5 +1,5 @@
import { callbackify } from 'node:util'
import { ProjectInvite } from '../../models/ProjectInvite.mjs'
import { ProjectInvite } from '../../models/ProjectInvite.js'
import logger from '@overleaf/logger'
import CollaboratorsEmailHandler from './CollaboratorsEmailHandler.mjs'
import CollaboratorsHandler from './CollaboratorsHandler.mjs'

View File

@@ -1,5 +1,5 @@
import logger from '@overleaf/logger'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import UserGetter from '../User/UserGetter.mjs'
import CollaboratorsHandler from './CollaboratorsHandler.mjs'

View File

@@ -1,7 +1,7 @@
import RedisWrapper from '../../infrastructure/RedisWrapper.js'
import logger from '@overleaf/logger'
import { promisify } from '@overleaf/promise-utils'
const RedisWrapper = require('../../infrastructure/RedisWrapper')
const rclient = RedisWrapper.client('cooldown')
const logger = require('@overleaf/logger')
const { promisify } = require('@overleaf/promise-utils')
const COOLDOWN_IN_SECONDS = 60 * 10
@@ -45,4 +45,4 @@ CooldownManager.promises = {
isProjectOnCooldown: promisify(CooldownManager.isProjectOnCooldown),
}
export default CooldownManager
module.exports = CooldownManager

View File

@@ -10,7 +10,7 @@
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
import CooldownManager from './CooldownManager.mjs'
import CooldownManager from './CooldownManager.js'
import logger from '@overleaf/logger'
let CooldownMiddleware

View File

@@ -4,7 +4,7 @@ import Async from 'async'
import FileHashManager from './FileHashManager.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs'
import { File } from '../../models/File.mjs'
import { File } from '../../models/File.js'
import OError from '@overleaf/o-error'
import { promisifyAll } from '@overleaf/promise-utils'
import Modules from '../../infrastructure/Modules.js'

View File

@@ -1,4 +1,4 @@
import { GlobalMetric } from '../../models/GlobalMetric.mjs'
import { GlobalMetric } from '../../models/GlobalMetric.js'
/**
* A Generic collection used to track metrics shared across the entirety of the application
* examples:

View File

@@ -1,4 +1,4 @@
import { UserSchema } from '../../models/User.mjs'
import { UserSchema } from '../../models/User.js'
export default {
hasAnyStaffAccess,

View File

@@ -17,7 +17,7 @@ function _calculateRatio(matches, length) {
* corresponding (approximatey) to the overlap between the strings.
* Identical strings produce 1.0, completely different strings produce 0.0
* */
export function stringSimilarity(a, b) {
function stringSimilarity(a, b) {
if (
typeof a !== 'string' ||
typeof b !== 'string' ||
@@ -50,6 +50,6 @@ export function stringSimilarity(a, b) {
return _calculateRatio(matches, a.length + b.length)
}
export default {
module.exports = {
stringSimilarity,
}

View File

@@ -1,6 +1,4 @@
import emailAddresses from 'email-addresses'
const { parseOneAddress } = emailAddresses
const { parseOneAddress } = require('email-addresses')
// available for frontend in https://github.com/overleaf/internal/blob/19d432c70b173752ee7c6d8978dd6be16b042921/services/web/frontend/js/shared/utils/email.tsx#L4
const EMAIL_REGEXP =
@@ -38,7 +36,7 @@ function parseEmail(email, parseRfcAddress = false) {
return matched[0]
}
export default {
module.exports = {
getDomain,
parseEmail,
}

View File

@@ -4,7 +4,7 @@ import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectUpdateHandler from '../Project/ProjectUpdateHandler.mjs'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import Modules from '../../infrastructure/Modules.js'
import { READ_PREFERENCE_SECONDARY } from '../../infrastructure/mongodb.js'
import { callbackifyAll } from '@overleaf/promise-utils'

View File

@@ -10,8 +10,8 @@ import UserGetter from '../User/UserGetter.mjs'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import NotificationsHandler from '../Notifications/NotificationsHandler.mjs'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'
import { Institution } from '../../models/Institution.mjs'
import { Subscription } from '../../models/Subscription.mjs'
import { Institution } from '../../models/Institution.js'
import { Subscription } from '../../models/Subscription.js'
import OError from '@overleaf/o-error'
const { ObjectId } = mongodb

View File

@@ -1,7 +1,7 @@
import FileWriter from '../../infrastructure/FileWriter.js'
import EditorController from '../Editor/EditorController.mjs'
import ProjectLocator from '../Project/ProjectLocator.mjs'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import LinkedFilesErrors from './LinkedFilesErrors.mjs'
import { callbackifyAll } from '@overleaf/promise-utils'

View File

@@ -1,4 +1,4 @@
import OnboardingDataCollectionModel from '../../models/OnboardingDataCollection.mjs'
import OnboardingDataCollectionModel from '../../models/OnboardingDataCollection.js'
import OError from '@overleaf/o-error'
const { OnboardingDataCollection, OnboardingDataCollectionSchema } =

View File

@@ -6,7 +6,7 @@ import UserGetter from '../User/UserGetter.mjs'
import UserUpdater from '../User/UserUpdater.mjs'
import UserSessionsManager from '../User/UserSessionsManager.mjs'
import OError from '@overleaf/o-error'
import EmailsHelper from '../Helpers/EmailHelper.mjs'
import EmailsHelper from '../Helpers/EmailHelper.js'
import { expressify } from '@overleaf/promise-utils'
import { z, validateReq } from '../../infrastructure/Validation.js'

View File

@@ -1,7 +1,7 @@
import settings from '@overleaf/settings'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import UserGetter from '../User/UserGetter.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import AuthenticationManager from '../Authentication/AuthenticationManager.mjs'
import { callbackify, promisify } from 'node:util'

View File

@@ -3,9 +3,13 @@
* `folder.folders` or `folder.fileRefs` are missing it returns an
* empty array.
*/
export function iterablePaths(folder, field) {
function iterablePaths(folder, field) {
if (!folder) {
return []
}
return folder[field] || []
}
module.exports = {
iterablePaths,
}

View File

@@ -1,5 +1,5 @@
import logger from '@overleaf/logger'
import { ProjectAuditLogEntry } from '../../models/ProjectAuditLogEntry.mjs'
import { ProjectAuditLogEntry } from '../../models/ProjectAuditLogEntry.js'
import { callbackify } from '@overleaf/promise-utils'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'

View File

@@ -1,6 +1,6 @@
import mongodb from 'mongodb-legacy'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import { callbackifyAll } from '@overleaf/promise-utils'
const { ObjectId } = mongodb

View File

@@ -12,9 +12,9 @@ import ProjectCreationHandler from './ProjectCreationHandler.mjs'
import EditorController from '../Editor/EditorController.mjs'
import ProjectHelper from './ProjectHelper.mjs'
import metrics from '@overleaf/metrics'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'
import SubscriptionHelper from '../Subscription/SubscriptionHelper.mjs'
import { isPaidSubscription } from '../Subscription/SubscriptionHelper.js'
import LimitationsManager from '../Subscription/LimitationsManager.mjs'
import Settings from '@overleaf/settings'
import AuthorizationManager from '../Authorization/AuthorizationManager.mjs'
@@ -52,7 +52,6 @@ import SubscriptionController from '../Subscription/SubscriptionController.mjs'
import { formatCurrency } from '../../util/currency.js'
import UserSettingsHelper from './UserSettingsHelper.mjs'
const { isPaidSubscription } = SubscriptionHelper
const { hasAdminAccess } = AdminAuthorizationHelper
const { ObjectId } = mongodb
/**

View File

@@ -3,12 +3,12 @@ import metrics from '@overleaf/metrics'
import Settings from '@overleaf/settings'
import mongodb from 'mongodb-legacy'
import Features from '../../infrastructure/Features.js'
import { Project } from '../../models/Project.mjs'
import { Folder } from '../../models/Folder.mjs'
import { Project } from '../../models/Project.js'
import { Folder } from '../../models/Folder.js'
import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.mjs'
import ProjectDetailsHandler from './ProjectDetailsHandler.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import fs from 'node:fs'
import path from 'node:path'
import { callbackify } from 'node:util'

View File

@@ -6,9 +6,9 @@ import {
} from '../../infrastructure/mongodb.js'
import Modules from '../../infrastructure/Modules.js'
import { callbackify } from 'node:util'
import { Project } from '../../models/Project.mjs'
import { DeletedProject } from '../../models/DeletedProject.mjs'
import { ProjectAuditLogEntry } from '../../models/ProjectAuditLogEntry.mjs'
import { Project } from '../../models/Project.js'
import { DeletedProject } from '../../models/DeletedProject.js'
import { ProjectAuditLogEntry } from '../../models/ProjectAuditLogEntry.js'
import Errors from '../Errors/Errors.js'
import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'

View File

@@ -1,7 +1,7 @@
import _ from 'lodash'
import ProjectGetter from './ProjectGetter.mjs'
import UserGetter from '../User/UserGetter.mjs'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import logger from '@overleaf/logger'
import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'

View File

@@ -3,8 +3,8 @@ import Path from 'node:path'
import logger from '@overleaf/logger'
import OError from '@overleaf/o-error'
import { promiseMapWithLimit } from '@overleaf/promise-utils'
import { Doc } from '../../models/Doc.mjs'
import { File } from '../../models/File.mjs'
import { Doc } from '../../models/Doc.js'
import { File } from '../../models/File.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import HistoryManager from '../History/HistoryManager.mjs'

View File

@@ -4,7 +4,7 @@ import Errors from '../Errors/Errors.js'
import ProjectGetter from './ProjectGetter.mjs'
import { callbackifyAll } from '@overleaf/promise-utils'
import OError from '@overleaf/o-error'
import { iterablePaths } from './IterablePath.mjs'
import { iterablePaths } from './IterablePath.js'
async function getAllDocs(projectId) {
// We get the path and name info from the project, and the lines and

View File

@@ -5,17 +5,17 @@ import path from 'node:path'
import mongodb from 'mongodb-legacy'
import Settings from '@overleaf/settings'
import OError from '@overleaf/o-error'
import CooldownManager from '../Cooldown/CooldownManager.mjs'
import CooldownManager from '../Cooldown/CooldownManager.js'
import Errors from '../Errors/Errors.js'
import { Folder } from '../../models/Folder.mjs'
import { Folder } from '../../models/Folder.js'
import LockManager from '../../infrastructure/LockManager.js'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectEntityHandler from './ProjectEntityHandler.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import ProjectLocator from './ProjectLocator.mjs'
import FolderStructureBuilder from './FolderStructureBuilder.mjs'
import SafePath from './SafePath.mjs'
import { iterablePaths } from './IterablePath.mjs'
import { iterablePaths } from './IterablePath.js'
const { ObjectId } = mongodb

View File

@@ -4,13 +4,13 @@ import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import Path from 'node:path'
import fs from 'node:fs'
import { Doc } from '../../models/Doc.mjs'
import { Doc } from '../../models/Doc.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentUpdaterHandler from '../../Features/DocumentUpdater/DocumentUpdaterHandler.mjs'
import Errors from '../Errors/Errors.js'
import FileStoreHandler from '../FileStore/FileStoreHandler.mjs'
import LockManager from '../../infrastructure/LockManager.js'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectEntityHandler from './ProjectEntityHandler.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import ProjectLocator from './ProjectLocator.mjs'
@@ -22,7 +22,7 @@ import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import FileWriter from '../../infrastructure/FileWriter.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import { callbackifyMultiResult, callbackify } from '@overleaf/promise-utils'
import { iterablePaths } from './IterablePath.mjs'
import { iterablePaths } from './IterablePath.js'
const LOCK_NAMESPACE = 'sequentialProjectStructureUpdateLock'
const VALID_ROOT_DOC_EXTENSIONS = Settings.validRootDocExtensions

View File

@@ -1,9 +1,9 @@
import { db } from '../../infrastructure/mongodb.js'
import { normalizeQuery } from '../Helpers/Mongo.js'
import OError from '@overleaf/o-error'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import LockManager from '../../infrastructure/LockManager.js'
import { DeletedProject } from '../../models/DeletedProject.mjs'
import { DeletedProject } from '../../models/DeletedProject.js'
import { callbackifyAll } from '@overleaf/promise-utils'
import ProjectEntityMongoUpdateHandler from './ProjectEntityMongoUpdateHandler.mjs'
import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs'

View File

@@ -1,4 +1,4 @@
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectDetailsHandler from './ProjectDetailsHandler.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.mjs'

View File

@@ -19,7 +19,7 @@ import SubscriptionViewModelBuilder from '../Subscription/SubscriptionViewModelB
import NotificationsHandler from '../Notifications/NotificationsHandler.mjs'
import Modules from '../../infrastructure/Modules.js'
import { OError, V1ConnectionError } from '../Errors/Errors.js'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import UserPrimaryEmailCheckHandler from '../User/UserPrimaryEmailCheckHandler.mjs'
import UserController from '../User/UserController.mjs'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
@@ -27,10 +27,10 @@ import GeoIpLookup from '../../infrastructure/GeoIpLookup.mjs'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.mjs'
import TutorialHandler from '../Tutorial/TutorialHandler.mjs'
import SubscriptionHelper from '../Subscription/SubscriptionHelper.mjs'
import SubscriptionHelper from '../Subscription/SubscriptionHelper.js'
import PermissionsManager from '../Authorization/PermissionsManager.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import { OnboardingDataCollection } from '../../models/OnboardingDataCollection.mjs'
import { OnboardingDataCollection } from '../../models/OnboardingDataCollection.js'
import UserSettingsHelper from './UserSettingsHelper.mjs'
/**

View File

@@ -5,7 +5,7 @@ import async from 'async'
import ProjectGetter from './ProjectGetter.mjs'
import Errors from '../Errors/Errors.js'
import { promisifyMultiResult } from '@overleaf/promise-utils'
import { iterablePaths } from './IterablePath.mjs'
import { iterablePaths } from './IterablePath.js'
/**
* @param project

View File

@@ -1,4 +1,4 @@
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import settings from '@overleaf/settings'
import { callbackify } from 'node:util'
import { db, ObjectId } from '../../infrastructure/mongodb.js'

View File

@@ -1,4 +1,4 @@
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import { callbackify } from 'node:util'
const ProjectUpdateHandler = {

View File

@@ -1,5 +1,5 @@
import OError from '@overleaf/o-error'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.mjs'
import { callbackify } from '@overleaf/promise-utils'

View File

@@ -1,6 +1,6 @@
import _ from 'lodash'
import { callbackify } from 'node:util'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import Settings from '@overleaf/settings'
const ReferalFeatures = {

View File

@@ -1,5 +1,5 @@
import { callbackify } from '@overleaf/promise-utils'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
async function getReferedUsers(userId) {
const projection = { refered_users: 1, refered_user_count: 1 }

View File

@@ -1,4 +1,4 @@
import { SamlLog } from '../../models/SamlLog.mjs'
import { SamlLog } from '../../models/SamlLog.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import logger from '@overleaf/logger'
import loggerSerializers from '@overleaf/logger/serializers.js'

View File

@@ -1,7 +1,7 @@
import crypto from 'node:crypto'
import { db } from '../../infrastructure/mongodb.js'
import Errors from '../Errors/Errors.js'
import { callbackify } from 'node:util'
const crypto = require('crypto')
const { db } = require('../../infrastructure/mongodb')
const Errors = require('../Errors/Errors')
const { callbackify } = require('util')
const ONE_HOUR_IN_S = 60 * 60
@@ -119,4 +119,4 @@ const OneTimeTokenHandler = {
},
}
export default OneTimeTokenHandler
module.exports = OneTimeTokenHandler

View File

@@ -6,7 +6,7 @@ import crypto from 'node:crypto'
import _ from 'lodash'
import { callbackify } from 'node:util'
import SplitTestCache from './SplitTestCache.mjs'
import { SplitTest } from '../../models/SplitTest.mjs'
import { SplitTest } from '../../models/SplitTest.js'
import UserAnalyticsIdCache from '../Analytics/UserAnalyticsIdCache.mjs'
import Features from '../../infrastructure/Features.js'
import SplitTestUtils from './SplitTestUtils.mjs'

View File

@@ -1,4 +1,4 @@
import { SplitTest } from '../../models/SplitTest.mjs'
import { SplitTest } from '../../models/SplitTest.js'
import SplitTestUtils from './SplitTestUtils.mjs'
import OError from '@overleaf/o-error'
import _ from 'lodash'

View File

@@ -3,7 +3,7 @@ import { callbackify } from 'node:util'
import { callbackifyMultiResult } from '@overleaf/promise-utils'
import PlansLocator from './PlansLocator.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import UserFeaturesUpdater from './UserFeaturesUpdater.mjs'
import FeaturesHelper from './FeaturesHelper.mjs'
import Settings from '@overleaf/settings'

View File

@@ -20,7 +20,7 @@ import OError from '@overleaf/o-error'
import { DuplicateAddOnError, AddOnNotPresentError } from './Errors.js'
import PlansLocator from './PlansLocator.mjs'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import { AI_ADD_ON_CODE, isStandaloneAiAddOnPlanCode } from './AiHelper.js'
export const MEMBERS_LIMIT_ADD_ON_CODE = 'additional-license'

View File

@@ -2,7 +2,7 @@
import SessionManager from '../Authentication/SessionManager.mjs'
import SubscriptionHandler from './SubscriptionHandler.mjs'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import SubscriptionViewModelBuilder from './SubscriptionViewModelBuilder.mjs'
import LimitationsManager from './LimitationsManager.mjs'
import RecurlyWrapper from './RecurlyWrapper.mjs'
@@ -28,7 +28,7 @@ import {
subscriptionChangeIsAiAssistUpgrade,
} from './AiHelper.js'
import PlansLocator from './PlansLocator.mjs'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import UserGetter from '../User/UserGetter.mjs'
import PermissionsManager from '../Authorization/PermissionsManager.mjs'
import { sanitizeSessionUserForFrontEnd } from '../../infrastructure/FrontEndUser.mjs'

View File

@@ -8,7 +8,7 @@ import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
import Modules from '../../infrastructure/Modules.js'
import UserGetter from '../User/UserGetter.mjs'
import { Subscription } from '../../models/Subscription.mjs'
import { Subscription } from '../../models/Subscription.js'
import { z, validateReq } from '../../infrastructure/Validation.js'
import { isProfessionalGroupPlan } from './PlansHelper.mjs'
import {

View File

@@ -4,9 +4,9 @@ import OError from '@overleaf/o-error'
import SubscriptionUpdater from './SubscriptionUpdater.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SubscriptionController from './SubscriptionController.mjs'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import { Subscription } from '../../models/Subscription.mjs'
import { User } from '../../models/User.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import { Subscription } from '../../models/Subscription.js'
import { User } from '../../models/User.js'
import PlansLocator from './PlansLocator.mjs'
import TeamInvitesHandler from './TeamInvitesHandler.mjs'
import GroupPlansData from './GroupPlansData.js'
@@ -19,7 +19,7 @@ import {
HasPastDueInvoiceError,
HasNoAdditionalLicenseWhenManuallyCollectedError,
} from './Errors.js'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import { InvalidEmailError } from '../Errors/Errors.js'
const MEMBERS_LIMIT_ADD_ON_CODE =

View File

@@ -3,9 +3,9 @@
import RecurlyWrapper from './RecurlyWrapper.mjs'
import RecurlyClient from './RecurlyClient.mjs'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import logger from '@overleaf/logger'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import SubscriptionUpdater from './SubscriptionUpdater.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import LimitationsManager from './LimitationsManager.mjs'

View File

@@ -1,7 +1,7 @@
import { formatCurrency } from '../../util/currency.js'
import GroupPlansData from './GroupPlansData.js'
import { isStandaloneAiAddOnPlanCode } from './AiHelper.js'
import { Subscription } from '../../models/Subscription.mjs'
const { formatCurrency } = require('../../util/currency')
const GroupPlansData = require('./GroupPlansData')
const { isStandaloneAiAddOnPlanCode } = require('./AiHelper')
const { Subscription } = require('../../models/Subscription')
const MILLISECONDS = 1_000
/**
@@ -196,7 +196,7 @@ function isInTrial(trialEndsAt) {
return trialEndsAt.getTime() > Date.now()
}
export default {
module.exports = {
shouldPlanChangeAtTermEnd,
generateInitialLocalizedGroupPrice,
isPaidSubscription,

View File

@@ -4,9 +4,9 @@
import { callbackifyAll } from '@overleaf/promise-utils'
import { Subscription } from '../../models/Subscription.mjs'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import { DeletedSubscription } from '../../models/DeletedSubscription.mjs'
import { Subscription } from '../../models/Subscription.js'
import SubscriptionHelper from './SubscriptionHelper.js'
import { DeletedSubscription } from '../../models/DeletedSubscription.js'
import logger from '@overleaf/logger'
import { AI_ADD_ON_CODE, isStandaloneAiAddOnPlanCode } from './AiHelper.js'
import './GroupPlansData.js' // make sure dynamic group plans are loaded

View File

@@ -1,18 +1,18 @@
import { db, ObjectId } from '../../infrastructure/mongodb.js'
import { callbackify } from '@overleaf/promise-utils'
import { Subscription } from '../../models/Subscription.mjs'
import { Subscription } from '../../models/Subscription.js'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import PlansLocator from './PlansLocator.mjs'
import FeaturesUpdater from './FeaturesUpdater.mjs'
import FeaturesHelper from './FeaturesHelper.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import { DeletedSubscription } from '../../models/DeletedSubscription.mjs'
import { DeletedSubscription } from '../../models/DeletedSubscription.js'
import logger from '@overleaf/logger'
import Features from '../../infrastructure/Features.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import UserUpdater from '../User/UserUpdater.mjs'
import AccountMappingHelper from '../Analytics/AccountMappingHelper.mjs'
import { SSOConfig } from '../../models/SSOConfig.mjs'
import { SSOConfig } from '../../models/SSOConfig.js'
import mongoose from '../../infrastructure/Mongoose.js'
import Modules from '../../infrastructure/Modules.js'

View File

@@ -12,7 +12,7 @@ import PublishersGetter from '../Publishers/PublishersGetter.mjs'
import sanitizeHtml from 'sanitize-html'
import _ from 'lodash'
import async from 'async'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import { callbackify } from '@overleaf/promise-utils'
import { V1ConnectionError } from '../Errors/Errors.js'
import FeaturesHelper from './FeaturesHelper.mjs'

View File

@@ -4,9 +4,9 @@ import OError from '@overleaf/o-error'
import TeamInvitesHandler from './TeamInvitesHandler.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SubscriptionHelper from './SubscriptionHelper.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import ErrorController from '../Errors/ErrorController.mjs'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import UserGetter from '../User/UserGetter.mjs'
import { expressify } from '@overleaf/promise-utils'
import HttpErrorHandler from '../Errors/HttpErrorHandler.mjs'

View File

@@ -3,14 +3,14 @@ import crypto from 'node:crypto'
import settings from '@overleaf/settings'
import Modules from '../../infrastructure/Modules.js'
import mongodb from 'mongodb-legacy'
import { Subscription } from '../../models/Subscription.mjs'
import { SSOConfig } from '../../models/SSOConfig.mjs'
import { Subscription } from '../../models/Subscription.js'
import { SSOConfig } from '../../models/SSOConfig.js'
import UserGetter from '../User/UserGetter.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SubscriptionUpdater from './SubscriptionUpdater.mjs'
import LimitationsManager from './LimitationsManager.mjs'
import EmailHandler from '../Email/EmailHandler.mjs'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import Errors from '../Errors/Errors.js'
import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'

View File

@@ -1,4 +1,4 @@
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import { callbackify } from 'node:util'
import Settings from '@overleaf/settings'

View File

@@ -1,5 +1,5 @@
import SurveyManager from './SurveyManager.mjs'
import { Survey } from '../../models/Survey.mjs'
import { Survey } from '../../models/Survey.js'
import { CacheLoader } from 'cache-flow'
class SurveyCache extends CacheLoader {

View File

@@ -1,4 +1,4 @@
import { Survey } from '../../models/Survey.mjs'
import { Survey } from '../../models/Survey.js'
import OError from '@overleaf/o-error'
async function getSurvey() {

View File

@@ -1,4 +1,4 @@
import { SystemMessage } from '../../models/SystemMessage.mjs'
import { SystemMessage } from '../../models/SystemMessage.js'
import { addRequiredCleanupHandlerBeforeDrainingConnections } from '../../infrastructure/GracefulShutdown.js'
import { callbackifyAll } from '@overleaf/promise-utils'
import logger from '@overleaf/logger'

View File

@@ -1,4 +1,4 @@
import { Tag } from '../../models/Tag.mjs'
import { Tag } from '../../models/Tag.js'
import { callbackify } from '@overleaf/promise-utils'
const MAX_TAG_LENGTH = 50

View File

@@ -1,4 +1,4 @@
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs'
import ProjectOptionsHandlerModule from '../Project/ProjectOptionsHandler.mjs'
import ProjectRootDocManagerModule from '../Project/ProjectRootDocManager.mjs'

View File

@@ -3,7 +3,7 @@ import logger from '@overleaf/logger'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs'
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import TpdsUpdateSender from './TpdsUpdateSender.mjs'
import OError from '@overleaf/o-error'

View File

@@ -8,7 +8,7 @@ import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectHelper from '../Project/ProjectHelper.mjs'
import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs'
import FileTypeManager from '../Uploads/FileTypeManager.mjs'
import CooldownManager from '../Cooldown/CooldownManager.mjs'
import CooldownManager from '../Cooldown/CooldownManager.js'
import Errors from '../Errors/Errors.js'
import Modules from '../../infrastructure/Modules.js'

View File

@@ -1,4 +1,4 @@
import { Project } from '../../models/Project.mjs'
import { Project } from '../../models/Project.js'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import mongodb from 'mongodb-legacy'

View File

@@ -2,7 +2,7 @@ import Path from 'node:path'
import fs from 'node:fs'
import { callbackify } from 'node:util'
import ArchiveManager from './ArchiveManager.mjs'
import { Doc } from '../../models/Doc.mjs'
import { Doc } from '../../models/Doc.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentHelper from '../Documents/DocumentHelper.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'

View File

@@ -9,7 +9,7 @@ import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import UserGetter from '../User/UserGetter.mjs'
import UserUpdater from '../User/UserUpdater.mjs'
import logger from '@overleaf/logger'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import { promiseMapWithLimit } from '@overleaf/promise-utils'
const { ObjectId } = mongodb

View File

@@ -5,7 +5,7 @@ import Errors from '../Errors/Errors.js'
import _ from 'lodash'
import logger from '@overleaf/logger'
import settings from '@overleaf/settings'
import { User } from '../../../../app/src/models/User.mjs'
import { User } from '../../../../app/src/models/User.js'
import { callbackify } from '@overleaf/promise-utils'
import OError from '@overleaf/o-error'

View File

@@ -1,6 +1,6 @@
import OError from '@overleaf/o-error'
import logger from '@overleaf/logger'
import { UserAuditLogEntry } from '../../models/UserAuditLogEntry.mjs'
import { UserAuditLogEntry } from '../../models/UserAuditLogEntry.js'
import { callbackify } from 'node:util'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'

View File

@@ -1,7 +1,7 @@
import UserHandler from './UserHandler.mjs'
import UserDeleter from './UserDeleter.mjs'
import UserGetter from './UserGetter.mjs'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import NewsletterManager from '../Newsletter/NewsletterManager.mjs'
import logger from '@overleaf/logger'
import metrics from '@overleaf/metrics'
@@ -21,7 +21,7 @@ import { promisify } from 'node:util'
import { expressify } from '@overleaf/promise-utils'
import { acceptsJson } from '../../infrastructure/RequestContentTypeDetection.js'
import Modules from '../../infrastructure/Modules.js'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.js'
async function _sendSecurityAlertClearedSessions(user) {
const emailOptions = {

View File

@@ -2,7 +2,7 @@ import logger from '@overleaf/logger'
import util from 'node:util'
import { AffiliationError } from '../Errors/Errors.js'
import Features from '../../infrastructure/Features.js'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import UserDeleter from './UserDeleter.mjs'
import UserGetter from './UserGetter.mjs'
import UserUpdater from './UserUpdater.mjs'

View File

@@ -1,10 +1,10 @@
import { callbackify } from 'node:util'
import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import { User } from '../../models/User.mjs'
import { DeletedUser } from '../../models/DeletedUser.mjs'
import { UserAuditLogEntry } from '../../models/UserAuditLogEntry.mjs'
import { Feedback } from '../../models/Feedback.mjs'
import { User } from '../../models/User.js'
import { DeletedUser } from '../../models/DeletedUser.js'
import { UserAuditLogEntry } from '../../models/UserAuditLogEntry.js'
import { Feedback } from '../../models/Feedback.js'
import NewsletterManager from '../Newsletter/NewsletterManager.mjs'
import ProjectDeleter from '../Project/ProjectDeleter.mjs'
import SubscriptionHandler from '../Subscription/SubscriptionHandler.mjs'

View File

@@ -1,6 +1,6 @@
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.js'
import settings from '@overleaf/settings'
import Errors from '../Errors/Errors.js'
import UserUpdater from './UserUpdater.mjs'

View File

@@ -6,7 +6,7 @@ import UserGetter from './UserGetter.mjs'
import UserUpdater from './UserUpdater.mjs'
import UserSessionsManager from './UserSessionsManager.mjs'
import EmailHandler from '../Email/EmailHandler.mjs'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import UserEmailsConfirmationHandler from './UserEmailsConfirmationHandler.mjs'
import InstitutionsAPI from '../Institutions/InstitutionsAPI.mjs'
import Errors from '../Errors/Errors.js'

View File

@@ -6,7 +6,7 @@ import InstitutionsAPI from '../Institutions/InstitutionsAPI.mjs'
import InstitutionsHelper from '../Institutions/InstitutionsHelper.mjs'
import Errors from '../Errors/Errors.js'
import Features from '../../infrastructure/Features.js'
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import { normalizeQuery, normalizeMultiQuery } from '../Helpers/Mongo.js'
import Modules from '../../infrastructure/Modules.js'
import FeaturesHelper from '../Subscription/FeaturesHelper.mjs'

View File

@@ -1,4 +1,4 @@
import { User } from '../../models/User.mjs'
import { User } from '../../models/User.js'
import UserCreator from './UserCreator.mjs'
import UserGetter from './UserGetter.mjs'
import AuthenticationManager from '../Authentication/AuthenticationManager.mjs'
@@ -6,9 +6,9 @@ import NewsletterManager from '../Newsletter/NewsletterManager.mjs'
import logger from '@overleaf/logger'
import crypto from 'node:crypto'
import EmailHandler from '../Email/EmailHandler.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.js'
import settings from '@overleaf/settings'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
import OError from '@overleaf/o-error'

View File

@@ -8,7 +8,7 @@ import InstitutionsAPI from '../Institutions/InstitutionsAPI.mjs'
import Features from '../../infrastructure/Features.js'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.mjs'
import EmailHandler from '../Email/EmailHandler.mjs'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import Errors from '../Errors/Errors.js'
import NewsletterManager from '../Newsletter/NewsletterManager.mjs'
import UserAuditLogHandler from './UserAuditLogHandler.mjs'

View File

@@ -1,10 +1,10 @@
import SessionManager from '../Authentication/SessionManager.mjs'
import UserMembershipHandler from './UserMembershipHandler.mjs'
import Errors from '../Errors/Errors.js'
import EmailHelper from '../Helpers/EmailHelper.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import { csvAttachment } from '../../infrastructure/Response.js'
import UserMembershipErrors from './UserMembershipErrors.mjs'
import { SSOConfig } from '../../models/SSOConfig.mjs'
import { SSOConfig } from '../../models/SSOConfig.js'
import { Parser as CSVParser } from 'json2csv'
import { expressify } from '@overleaf/promise-utils'
import PlansLocator from '../Subscription/PlansLocator.mjs'

View File

@@ -1,8 +1,8 @@
import mongodb from 'mongodb-legacy'
import { callbackify } from '@overleaf/promise-utils'
import { Institution } from '../../models/Institution.mjs'
import { Subscription } from '../../models/Subscription.mjs'
import { Publisher } from '../../models/Publisher.mjs'
import { Institution } from '../../models/Institution.js'
import { Subscription } from '../../models/Subscription.js'
import { Publisher } from '../../models/Publisher.js'
import UserMembershipViewModel from './UserMembershipViewModel.mjs'
import UserGetter from '../User/UserGetter.mjs'
import UserMembershipErrors from './UserMembershipErrors.mjs'

View File

@@ -13,9 +13,9 @@ import async from 'async'
import { promisifyAll } from '@overleaf/promise-utils'
import UserMembershipEntityConfigs from './UserMembershipEntityConfigs.mjs'
import * as InstitutionModel from '../../models/Institution.mjs'
import * as SubscriptionModel from '../../models/Subscription.mjs'
import * as PublisherModel from '../../models/Publisher.mjs'
import InstitutionModel from '../../models/Institution.js'
import SubscriptionModel from '../../models/Subscription.js'
import PublisherModel from '../../models/Publisher.js'
const EntityModels = {
Institution: InstitutionModel.Institution,

View File

@@ -1,10 +1,10 @@
import mongoose from '../infrastructure/Mongoose.js'
import { ProjectSchema } from './Project.mjs'
const mongoose = require('../infrastructure/Mongoose')
const { ProjectSchema } = require('./Project')
const { Schema } = mongoose
const { ObjectId } = Schema
export const DeleterDataSchema = new Schema({
const DeleterDataSchema = new Schema({
deleterId: { type: ObjectId, ref: 'User' },
deleterIpAddress: { type: String },
deletedAt: { type: Date },
@@ -30,7 +30,5 @@ const DeletedProjectSchema = new Schema(
{ collection: 'deletedProjects', minimize: false }
)
export const DeletedProject = mongoose.model(
'DeletedProject',
DeletedProjectSchema
)
exports.DeletedProject = mongoose.model('DeletedProject', DeletedProjectSchema)
exports.DeletedProjectSchema = DeletedProjectSchema

View File

@@ -1,10 +1,10 @@
import mongoose from '../infrastructure/Mongoose.js'
import { SubscriptionSchema } from './Subscription.mjs'
const mongoose = require('../infrastructure/Mongoose')
const { SubscriptionSchema } = require('./Subscription')
const { Schema } = mongoose
const { ObjectId } = Schema
export const DeleterDataSchema = new Schema(
const DeleterDataSchema = new Schema(
{
deleterId: { type: ObjectId, ref: 'User' },
deleterIpAddress: { type: String },
@@ -26,7 +26,9 @@ const DeletedSubscriptionSchema = new Schema(
{ collection: 'deletedSubscriptions', minimize: false }
)
export const DeletedSubscription = mongoose.model(
exports.DeletedSubscription = mongoose.model(
'DeletedSubscription',
DeletedSubscriptionSchema
)
exports.DeletedSubscriptionSchema = DeletedSubscriptionSchema

View File

@@ -1,5 +1,5 @@
import mongoose from '../infrastructure/Mongoose.js'
import { UserSchema } from './User.mjs'
const mongoose = require('../infrastructure/Mongoose')
const { UserSchema } = require('./User')
const { Schema } = mongoose
const { ObjectId } = Schema
@@ -18,7 +18,7 @@ const DeleterDataSchema = new Schema({
deletedUserOverleafId: { type: Number },
})
export const DeletedUserSchema = new Schema(
const DeletedUserSchema = new Schema(
{
deleterData: DeleterDataSchema,
user: UserSchema,
@@ -26,4 +26,6 @@ export const DeletedUserSchema = new Schema(
{ collection: 'deletedUsers', minimize: false }
)
export const DeletedUser = mongoose.model('DeletedUser', DeletedUserSchema)
exports.DeletedUser = mongoose.model('DeletedUser', DeletedUserSchema)
exports.DeletedUserSchema = DeletedUserSchema

View File

@@ -0,0 +1,14 @@
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
const DocSchema = new Schema(
{
name: { type: String, default: 'new doc' },
},
{ minimize: false }
)
exports.Doc = mongoose.model('Doc', DocSchema)
exports.DocSchema = DocSchema

View File

@@ -1,12 +0,0 @@
import mongoose from '../infrastructure/Mongoose.js'
const { Schema } = mongoose
export const DocSchema = new Schema(
{
name: { type: String, default: 'new doc' },
},
{ minimize: false }
)
export const Doc = mongoose.model('Doc', DocSchema)

View File

@@ -1,4 +1,4 @@
import mongoose from '../infrastructure/Mongoose.js'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
@@ -15,4 +15,4 @@ const DocSnapshotSchema = new Schema(
{ collection: 'docSnapshots', minimize: false }
)
export const DocSnapshot = mongoose.model('DocSnapshot', DocSnapshotSchema)
exports.DocSnapshot = mongoose.model('DocSnapshot', DocSnapshotSchema)

View File

@@ -1,8 +1,8 @@
import mongoose from '../infrastructure/Mongoose.js'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
const { ObjectId } = Schema
export const FeedbackSchema = new Schema(
const FeedbackSchema = new Schema(
{
userId: {
type: ObjectId,
@@ -20,4 +20,5 @@ export const FeedbackSchema = new Schema(
{ minimize: false }
)
export const Feedback = mongoose.model('Feedback', FeedbackSchema)
exports.Feedback = mongoose.model('Feedback', FeedbackSchema)
exports.FeedbackSchema = FeedbackSchema

View File

@@ -1,8 +1,8 @@
import mongoose from '../infrastructure/Mongoose.js'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
export const FileSchema = new Schema(
const FileSchema = new Schema(
{
name: {
type: String,
@@ -23,4 +23,5 @@ export const FileSchema = new Schema(
{ minimize: false }
)
export const File = mongoose.model('File', FileSchema)
exports.File = mongoose.model('File', FileSchema)
exports.FileSchema = FileSchema

View File

@@ -0,0 +1,21 @@
const mongoose = require('../infrastructure/Mongoose')
const { DocSchema } = require('./Doc')
const { FileSchema } = require('./File')
const { Schema } = mongoose
const FolderSchema = new Schema(
{
name: { type: String, default: 'new folder' },
},
{ minimize: false }
)
FolderSchema.add({
docs: [DocSchema],
fileRefs: [FileSchema],
folders: [FolderSchema],
})
exports.Folder = mongoose.model('Folder', FolderSchema)
exports.FolderSchema = FolderSchema

View File

@@ -1,20 +0,0 @@
import mongoose from '../infrastructure/Mongoose.js'
import { DocSchema } from './Doc.mjs'
import { FileSchema } from './File.mjs'
const { Schema } = mongoose
export const FolderSchema = new Schema(
{
name: { type: String, default: 'new folder' },
},
{ minimize: false }
)
FolderSchema.add({
docs: [DocSchema],
fileRefs: [FileSchema],
folders: [FolderSchema],
})
export const Folder = mongoose.model('Folder', FolderSchema)

View File

@@ -0,0 +1,19 @@
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
const GlobalMetricSchema = new Schema(
{
_id: { type: String, required: true },
value: {
type: Number,
default: 0,
},
},
{
collection: 'globalMetrics',
minimize: false,
}
)
exports.GlobalMetric = mongoose.model('GlobalMetric', GlobalMetricSchema)
exports.GlobalMetricSchema = GlobalMetricSchema

View File

@@ -1,18 +0,0 @@
import mongoose from '../infrastructure/Mongoose.js'
const { Schema } = mongoose
export const GlobalMetricSchema = new Schema(
{
_id: { type: String, required: true },
value: {
type: Number,
default: 0,
},
},
{
collection: 'globalMetrics',
minimize: false,
}
)
export const GlobalMetric = mongoose.model('GlobalMetric', GlobalMetricSchema)

View File

@@ -1,7 +1,7 @@
import mongoose from '../infrastructure/Mongoose.js'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
export const GroupAuditLogEntrySchema = new Schema(
const GroupAuditLogEntrySchema = new Schema(
{
groupId: { type: Schema.Types.ObjectId, index: true },
info: { type: Object },
@@ -16,7 +16,8 @@ export const GroupAuditLogEntrySchema = new Schema(
}
)
export const GroupAuditLogEntry = mongoose.model(
exports.GroupAuditLogEntry = mongoose.model(
'GroupAuditLogEntry',
GroupAuditLogEntrySchema
)
exports.GroupAuditLogEntrySchema = GroupAuditLogEntrySchema

View File

@@ -1,8 +1,8 @@
import mongoose from '../infrastructure/Mongoose.js'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
export const GroupPolicySchema = new Schema(
const GroupPolicySchema = new Schema(
{
// User can't delete their own account
userCannotDeleteOwnAccount: Boolean,
@@ -34,4 +34,5 @@ export const GroupPolicySchema = new Schema(
{ minimize: false }
)
export const GroupPolicy = mongoose.model('GroupPolicy', GroupPolicySchema)
exports.GroupPolicy = mongoose.model('GroupPolicy', GroupPolicySchema)
exports.GroupPolicySchema = GroupPolicySchema

View File

@@ -1,12 +1,12 @@
import mongoose from '../infrastructure/Mongoose.js'
import settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import { promisify } from '@overleaf/promise-utils'
import { fetchJson } from '@overleaf/fetch-utils'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
const { ObjectId } = Schema
const settings = require('@overleaf/settings')
const logger = require('@overleaf/logger')
const { promisify } = require('@overleaf/promise-utils')
const { fetchJson } = require('@overleaf/fetch-utils')
export const InstitutionSchema = new Schema(
const InstitutionSchema = new Schema(
{
v1Id: { type: Number, required: true },
managerIds: [{ type: ObjectId, ref: 'User' }],
@@ -45,4 +45,5 @@ InstitutionSchema.method(
promisify(InstitutionSchema.methods.fetchV1Data)
)
export const Institution = mongoose.model('Institution', InstitutionSchema)
exports.Institution = mongoose.model('Institution', InstitutionSchema)
exports.InstitutionSchema = InstitutionSchema

View File

@@ -1,9 +1,9 @@
import mongoose from '../infrastructure/Mongoose.js'
const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
const { ObjectId } = Schema
export const OauthAccessTokenSchema = new Schema(
const OauthAccessTokenSchema = new Schema(
{
accessToken: String,
accessTokenPartial: String,
@@ -24,7 +24,9 @@ export const OauthAccessTokenSchema = new Schema(
}
)
export const OauthAccessToken = mongoose.model(
exports.OauthAccessToken = mongoose.model(
'OauthAccessToken',
OauthAccessTokenSchema
)
exports.OauthAccessTokenSchema = OauthAccessTokenSchema

Some files were not shown because too many files have changed in this diff Show More