mirror of
https://github.com/overleaf/overleaf.git
synced 2025-12-05 01:10:29 +00:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { UserSchema } from '../../models/User.mjs'
|
||||
import { UserSchema } from '../../models/User.js'
|
||||
|
||||
export default {
|
||||
hasAnyStaffAccess,
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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 } =
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
/**
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
/**
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Project } from '../../models/Project.mjs'
|
||||
import { Project } from '../../models/Project.js'
|
||||
import { callbackify } from 'node:util'
|
||||
|
||||
const ProjectUpdateHandler = {
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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,
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
14
services/web/app/src/models/Doc.js
Normal file
14
services/web/app/src/models/Doc.js
Normal 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
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
21
services/web/app/src/models/Folder.js
Normal file
21
services/web/app/src/models/Folder.js
Normal 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
|
||||
@@ -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)
|
||||
19
services/web/app/src/models/GlobalMetric.js
Normal file
19
services/web/app/src/models/GlobalMetric.js
Normal 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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
Reference in New Issue
Block a user