Update paths

GitOrigin-RevId: 399c594dd1bbf739d91874df6be3b70e57fe01e3
This commit is contained in:
Andrew Rumble
2025-10-22 13:48:12 +01:00
committed by Copybot
parent 93b7274ea6
commit 4f02a85aa4
210 changed files with 529 additions and 533 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ import Modules from './app/src/infrastructure/Modules.js'
import metrics from '@overleaf/metrics'
import Settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import PlansLocator from './app/src/Features/Subscription/PlansLocator.js'
import PlansLocator from './app/src/Features/Subscription/PlansLocator.mjs'
import HistoryManager from './app/src/Features/History/HistoryManager.mjs'
import SiteAdminHandler from './app/src/infrastructure/SiteAdminHandler.mjs'
import http from 'node:http'
@@ -1,10 +1,10 @@
import metrics from '@overleaf/metrics'
import AnalyticsManager from './AnalyticsManager.js'
import SessionManager from '../Authentication/SessionManager.js'
import AnalyticsManager from './AnalyticsManager.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import GeoIpLookup from '../../infrastructure/GeoIpLookup.mjs'
import Features from '../../infrastructure/Features.js'
import { expressify } from '@overleaf/promise-utils'
import AccountMappingHelper from './AccountMappingHelper.js'
import AccountMappingHelper from './AccountMappingHelper.mjs'
async function registerSalesforceMapping(req, res, next) {
if (!Features.hasFeature('analytics')) {
@@ -1,7 +1,7 @@
import logger from '@overleaf/logger'
import OError from '@overleaf/o-error'
import AnalyticsRegistrationSourceHelper from './AnalyticsRegistrationSourceHelper.js'
import SessionManager from '../../Features/Authentication/SessionManager.js'
import AnalyticsRegistrationSourceHelper from './AnalyticsRegistrationSourceHelper.mjs'
import SessionManager from '../../Features/Authentication/SessionManager.mjs'
function setSource(medium, source) {
return function (req, res, next) {
@@ -1,6 +1,6 @@
import _ from 'lodash'
import RequestHelper from './RequestHelper.js'
import AnalyticsManager from './AnalyticsManager.js'
import RequestHelper from './RequestHelper.mjs'
import AnalyticsManager from './AnalyticsManager.mjs'
import querystring from 'node:querystring'
import { URL } from 'node:url'
import Settings from '@overleaf/settings'
@@ -1,8 +1,8 @@
import AuthenticationManager from './AuthenticationManager.js'
import SessionManager from './SessionManager.js'
import AuthenticationManager from './AuthenticationManager.mjs'
import SessionManager from './SessionManager.mjs'
import OError from '@overleaf/o-error'
import LoginRateLimiter from '../Security/LoginRateLimiter.js'
import UserUpdater from '../User/UserUpdater.js'
import UserUpdater from '../User/UserUpdater.mjs'
import Metrics from '@overleaf/metrics'
import logger from '@overleaf/logger'
import querystring from 'node:querystring'
@@ -10,15 +10,15 @@ import Settings from '@overleaf/settings'
import basicAuth from 'basic-auth'
import tsscmp from 'tsscmp'
import UserHandler from '../User/UserHandler.mjs'
import UserSessionsManager from '../User/UserSessionsManager.js'
import Analytics from '../Analytics/AnalyticsManager.js'
import UserSessionsManager from '../User/UserSessionsManager.mjs'
import Analytics from '../Analytics/AnalyticsManager.mjs'
import passport from 'passport'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import UrlHelper from '../Helpers/UrlHelper.js'
import AsyncFormHelper from '../Helpers/AsyncFormHelper.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import UrlHelper from '../Helpers/UrlHelper.mjs'
import AsyncFormHelper from '../Helpers/AsyncFormHelper.mjs'
import _ from 'lodash'
import UserAuditLogHandler from '../User/UserAuditLogHandler.js'
import AnalyticsRegistrationSourceHelper from '../Analytics/AnalyticsRegistrationSourceHelper.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import AnalyticsRegistrationSourceHelper from '../Analytics/AnalyticsRegistrationSourceHelper.mjs'
import { acceptsJson } from '../../infrastructure/RequestContentTypeDetection.js'
import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import Modules from '../../infrastructure/Modules.js'
@@ -6,12 +6,12 @@ import CollaboratorsHandler from '../Collaborators/CollaboratorsHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import { User } from '../../models/User.js'
import PrivilegeLevels from './PrivilegeLevels.js'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js'
import PublicAccessLevels from './PublicAccessLevels.js'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.mjs'
import PublicAccessLevels from './PublicAccessLevels.mjs'
import Errors from '../Errors/Errors.js'
import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import Settings from '@overleaf/settings'
import ChatApiHandler from '../Chat/ChatApiHandler.js'
import ChatApiHandler from '../Chat/ChatApiHandler.mjs'
const { hasAdminAccess, getAdminCapabilities } = AdminAuthorizationHelper
const { ObjectId } = mongodb
@@ -3,13 +3,13 @@ import logger from '@overleaf/logger'
import mongodb from 'mongodb-legacy'
import Errors from '../Errors/Errors.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.mjs'
import AuthenticationController from '../Authentication/AuthenticationController.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import UrlHelper from '../Helpers/UrlHelper.js'
import UrlHelper from '../Helpers/UrlHelper.mjs'
const { ObjectId } = mongodb
@@ -1,9 +1,9 @@
import BetaProgramHandler from './BetaProgramHandler.mjs'
import OError from '@overleaf/o-error'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import logger from '@overleaf/logger'
import SessionManager from '../Authentication/SessionManager.js'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
async function optIn(req, res) {
@@ -1,7 +1,7 @@
import { callbackify } from 'node:util'
import metrics from '@overleaf/metrics'
import UserUpdater from '../User/UserUpdater.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import UserUpdater from '../User/UserUpdater.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
async function optIn(userId) {
await UserUpdater.promises.updateUser(userId, { $set: { betaProgram: true } })
@@ -1,8 +1,8 @@
import { expressify } from '@overleaf/promise-utils'
import Modules from '../../infrastructure/Modules.js'
import ChatApiHandler from './ChatApiHandler.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import SessionManager from '../Authentication/SessionManager.js'
import ChatApiHandler from './ChatApiHandler.mjs'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import UserInfoManager from '../User/UserInfoManager.mjs'
import UserInfoController from '../User/UserInfoController.mjs'
import ChatManager from './ChatManager.mjs'
@@ -1,5 +1,5 @@
import UserInfoController from '../User/UserInfoController.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import { callbackify } from '@overleaf/promise-utils'
async function injectUserInfoIntoThreads(threads) {
@@ -1,17 +1,17 @@
import OError from '@overleaf/o-error'
import HttpErrorHandler from '../../Features/Errors/HttpErrorHandler.js'
import HttpErrorHandler from '../../Features/Errors/HttpErrorHandler.mjs'
import mongodb from 'mongodb-legacy'
import CollaboratorsHandler from './CollaboratorsHandler.mjs'
import CollaboratorsGetter from './CollaboratorsGetter.mjs'
import OwnershipTransferHandler from './OwnershipTransferHandler.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import TagsHandler from '../Tags/TagsHandler.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import TagsHandler from '../Tags/TagsHandler.mjs'
import Errors from '../Errors/Errors.js'
import logger from '@overleaf/logger'
import { expressify } from '@overleaf/promise-utils'
import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.mjs'
import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs'
import LimitationsManager from '../Subscription/LimitationsManager.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
@@ -1,6 +1,6 @@
import { callbackify } from 'node:util'
import { Project } from '../../models/Project.js'
import EmailHandler from '../Email/EmailHandler.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import Settings from '@overleaf/settings'
const CollaboratorsEmailHandler = {
@@ -5,12 +5,12 @@ import pLimit from 'p-limit'
import mongodb from 'mongodb-legacy'
import OError from '@overleaf/o-error'
import { Project } from '../../models/Project.js'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.js'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'
import Errors from '../Errors/Errors.js'
import ProjectEditorHandler from '../Project/ProjectEditorHandler.js'
import Sources from '../Authorization/Sources.js'
import ProjectEditorHandler from '../Project/ProjectEditorHandler.mjs'
import Sources from '../Authorization/Sources.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
const { ObjectId } = mongodb
@@ -3,13 +3,13 @@ import OError from '@overleaf/o-error'
import { Project } from '../../models/Project.js'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import logger from '@overleaf/logger'
import ContactManager from '../Contacts/ContactManager.js'
import ContactManager from '../Contacts/ContactManager.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs'
import CollaboratorsGetter from './CollaboratorsGetter.mjs'
import Errors from '../Errors/Errors.js'
import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
export default {
userIsTokenMember: callbackify(userIsTokenMember),
@@ -1,15 +1,15 @@
import ProjectGetter from '../Project/ProjectGetter.mjs'
import LimitationsManager from '../Subscription/LimitationsManager.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import CollaboratorsGetter from './CollaboratorsGetter.mjs'
import CollaboratorsInviteHandler from './CollaboratorsInviteHandler.mjs'
import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.js'
import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.mjs'
import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import EmailHelper from '../Helpers/EmailHelper.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import SessionManager from '../Authentication/SessionManager.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import { RateLimiter } from '../../infrastructure/RateLimiter.js'
import { z, zz, validateReq } from '../../infrastructure/Validation.js'
import { expressify } from '@overleaf/promise-utils'
@@ -3,11 +3,11 @@ import { ProjectInvite } from '../../models/ProjectInvite.js'
import logger from '@overleaf/logger'
import CollaboratorsEmailHandler from './CollaboratorsEmailHandler.mjs'
import CollaboratorsHandler from './CollaboratorsHandler.mjs'
import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.js'
import CollaboratorsInviteHelper from './CollaboratorsInviteHelper.js'
import UserGetter from '../User/UserGetter.js'
import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.mjs'
import CollaboratorsInviteHelper from './CollaboratorsInviteHelper.mjs'
import UserGetter from '../User/UserGetter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import LimitationsManager from '../Subscription/LimitationsManager.mjs'
import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs'
@@ -1,16 +1,16 @@
import logger from '@overleaf/logger'
import { Project } from '../../models/Project.js'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import CollaboratorsHandler from './CollaboratorsHandler.mjs'
import EmailHandler from '../Email/EmailHandler.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import Errors from '../Errors/Errors.js'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs'
import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import OError from '@overleaf/o-error'
import TagsHandler from '../Tags/TagsHandler.js'
import TagsHandler from '../Tags/TagsHandler.mjs'
import { promiseMapWithLimit } from '@overleaf/promise-utils'
export default {
@@ -9,7 +9,7 @@ import logger from '@overleaf/logger'
import ClsiCacheManager from './ClsiCacheManager.mjs'
import CompileController from './CompileController.mjs'
import { expressify } from '@overleaf/promise-utils'
import ClsiCacheHandler from './ClsiCacheHandler.js'
import ClsiCacheHandler from './ClsiCacheHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import { MeteredStream } from '@overleaf/stream-utils'
import Metrics from '@overleaf/metrics'
@@ -1,9 +1,9 @@
import _ from 'lodash'
import { NotFoundError, ResourceGoneError } from '../Errors/Errors.js'
import ClsiCacheHandler from './ClsiCacheHandler.js'
import ClsiCacheHandler from './ClsiCacheHandler.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import Settings from '@overleaf/settings'
import { fetchJson, RequestFailedError } from '@overleaf/fetch-utils'
import Metrics from '@overleaf/metrics'
@@ -19,10 +19,10 @@ import ClsiFormatChecker from './ClsiFormatChecker.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import Metrics from '@overleaf/metrics'
import Errors from '../Errors/Errors.js'
import ClsiCacheHandler from './ClsiCacheHandler.js'
import ClsiCacheHandler from './ClsiCacheHandler.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
const ClsiCookieManager = ClsiCookieManagerFactory(
Settings.apis.clsi?.backendGroupName
@@ -9,13 +9,13 @@ import ClsiManager from './ClsiManager.mjs'
import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import Errors from '../Errors/Errors.js'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import { RateLimiter } from '../../infrastructure/RateLimiter.js'
import Validation from '../../infrastructure/Validation.js'
import ClsiCookieManagerFactory from './ClsiCookieManager.mjs'
import Path from 'node:path'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
import {
fetchStreamWithResponse,
@@ -3,11 +3,11 @@ import Settings from '@overleaf/settings'
import RedisWrapper from '../../infrastructure/RedisWrapper.js'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import ClsiManager from './ClsiManager.mjs'
import Metrics from '@overleaf/metrics'
import { RateLimiter } from '../../infrastructure/RateLimiter.js'
import UserAnalyticsIdCache from '../Analytics/UserAnalyticsIdCache.js'
import UserAnalyticsIdCache from '../Analytics/UserAnalyticsIdCache.mjs'
import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
let CompileManager
const rclient = RedisWrapper.client('clsi_recently_compiled')
@@ -1,6 +1,6 @@
import SessionManager from '../Authentication/SessionManager.js'
import ContactManager from './ContactManager.js'
import UserGetter from '../User/UserGetter.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import ContactManager from './ContactManager.mjs'
import UserGetter from '../User/UserGetter.mjs'
import Modules from '../../infrastructure/Modules.js'
import { expressify } from '@overleaf/promise-utils'
@@ -1,5 +1,5 @@
import AuthenticationController from '../Authentication/AuthenticationController.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import ContactController from './ContactController.mjs'
import Settings from '@overleaf/settings'
@@ -1,4 +1,4 @@
import ChatApiHandler from '../Chat/ChatApiHandler.js'
import ChatApiHandler from '../Chat/ChatApiHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectLocator from '../Project/ProjectLocator.mjs'
import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs'
@@ -2,12 +2,12 @@ import logger from '@overleaf/logger'
import OError from '@overleaf/o-error'
import Metrics from '@overleaf/metrics'
import ProjectEntityUpdateHandler from '../Project/ProjectEntityUpdateHandler.mjs'
import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.js'
import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.mjs'
import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs'
import ProjectDeleter from '../Project/ProjectDeleter.mjs'
import EditorRealTimeController from './EditorRealTimeController.js'
import EditorRealTimeController from './EditorRealTimeController.mjs'
import async from 'async'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.js'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'
import { promisifyAll } from '@overleaf/promise-utils'
const EditorController = {
@@ -2,11 +2,11 @@ import ProjectDeleter from '../Project/ProjectDeleter.mjs'
import EditorController from './EditorController.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import AuthorizationManager from '../Authorization/AuthorizationManager.mjs'
import ProjectEditorHandler from '../Project/ProjectEditorHandler.js'
import ProjectEditorHandler from '../Project/ProjectEditorHandler.mjs'
import Metrics from '@overleaf/metrics'
import CollaboratorsInviteGetter from '../Collaborators/CollaboratorsInviteGetter.js'
import CollaboratorsInviteGetter from '../Collaborators/CollaboratorsInviteGetter.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import Errors from '../Errors/Errors.js'
import { expressify } from '@overleaf/promise-utils'
import Settings from '@overleaf/settings'
@@ -1,8 +1,8 @@
import { isZodErrorLike, fromZodError } from 'zod-validation-error'
import Errors from './Errors.js'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import SamlLogHandler from '../SamlLog/SamlLogHandler.mjs'
import HttpErrorHandler from './HttpErrorHandler.js'
import HttpErrorHandler from './HttpErrorHandler.mjs'
import { plainTextResponse } from '../../infrastructure/Response.js'
import { expressifyErrorHandler } from '@overleaf/promise-utils'
@@ -11,7 +11,7 @@
*/
import ExportsHandler from './ExportsHandler.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import logger from '@overleaf/logger'
export default {
@@ -16,7 +16,7 @@ import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectHistoryHandler from '../Project/ProjectHistoryHandler.mjs'
import ProjectLocator from '../Project/ProjectLocator.mjs'
import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import logger from '@overleaf/logger'
import settings from '@overleaf/settings'
import async from 'async'
@@ -1,7 +1,7 @@
import logger from '@overleaf/logger'
import fs from 'node:fs'
import Async from 'async'
import FileHashManager from './FileHashManager.js'
import FileHashManager from './FileHashManager.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs'
import { File } from '../../models/File.js'
@@ -1,7 +1,7 @@
import RedisWrapper from '../../infrastructure/RedisWrapper.js'
import settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import {
SmokeTestFailure,
runSmokeTests,
@@ -1,7 +1,7 @@
import Settings from '@overleaf/settings'
import Modules from '../../infrastructure/Modules.js'
import { expressify } from '@overleaf/promise-utils'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import logger from '@overleaf/logger'
export default {
@@ -15,8 +15,8 @@ import {
} from '@overleaf/fetch-utils'
import settings from '@overleaf/settings'
import SessionManager from '../Authentication/SessionManager.js'
import UserGetter from '../User/UserGetter.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import UserGetter from '../User/UserGetter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import Errors from '../Errors/Errors.js'
import HistoryManager from './HistoryManager.mjs'
@@ -8,9 +8,9 @@ import {
import fs from 'node:fs'
import settings from '@overleaf/settings'
import OError from '@overleaf/o-error'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import HistoryBackupDeletionHandler from './HistoryBackupDeletionHandler.js'
import HistoryBackupDeletionHandler from './HistoryBackupDeletionHandler.mjs'
import { db, waitForDb } from '../../infrastructure/mongodb.js'
import Metrics from '@overleaf/metrics'
import { NotFoundError } from '../Errors/Errors.js'
@@ -2,7 +2,7 @@ import ProjectGetter from '../Project/ProjectGetter.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import * as RealTimeHandler from '../References/RealTime/RealTimeHandler.mjs'
import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.js'
import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.mjs'
import {
NotFoundError,
FoundConnectedClientsError,
@@ -5,8 +5,8 @@ import OError from '@overleaf/o-error'
import logger from '@overleaf/logger'
import HistoryManager from '../History/HistoryManager.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.mjs'
import mongodb from '../../infrastructure/mongodb.js'
const { db, ObjectId, READ_PREFERENCE_SECONDARY } = mongodb
@@ -3,17 +3,17 @@ import Path from 'node:path'
import FileWriter from '../../infrastructure/FileWriter.js'
import Metrics from '../../infrastructure/Metrics.js'
import FileSystemImportManager from '../Uploads/FileSystemImportManager.mjs'
import FileTypeManager from '../Uploads/FileTypeManager.js'
import FileTypeManager from '../Uploads/FileTypeManager.mjs'
import EditorController from '../Editor/EditorController.mjs'
import Errors from '../Errors/Errors.js'
import moment from 'moment'
import { callbackifyAll } from '@overleaf/promise-utils'
import ProjectLocator from '../Project/ProjectLocator.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import ChatApiHandler from '../Chat/ChatApiHandler.js'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import ChatApiHandler from '../Chat/ChatApiHandler.mjs'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import logger from '@overleaf/logger'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import ChatManager from '../Chat/ChatManager.mjs'
import OError from '@overleaf/o-error'
import ProjectGetter from '../Project/ProjectGetter.mjs'
@@ -1,9 +1,9 @@
import OError from '@overleaf/o-error'
import logger from '@overleaf/logger'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectUpdateHandler from '../Project/ProjectUpdateHandler.js'
import ProjectUpdateHandler from '../Project/ProjectUpdateHandler.mjs'
import { Project } from '../../models/Project.js'
import Modules from '../../infrastructure/Modules.js'
import { READ_PREFERENCE_SECONDARY } from '../../infrastructure/mongodb.js'
@@ -1,7 +1,7 @@
import { promisify, callbackify } from 'node:util'
import UserGetter from '../User/UserGetter.js'
import UserMembershipsHandler from '../UserMembership/UserMembershipsHandler.js'
import UserMembershipEntityConfigs from '../UserMembership/UserMembershipEntityConfigs.js'
import UserGetter from '../User/UserGetter.mjs'
import UserMembershipsHandler from '../UserMembership/UserMembershipsHandler.mjs'
import UserMembershipEntityConfigs from '../UserMembership/UserMembershipEntityConfigs.mjs'
async function getCurrentAffiliations(userId) {
const fullEmails = await UserGetter.promises.getUserFullEmails(userId)
@@ -3,13 +3,13 @@ import mongodb from 'mongodb-legacy'
import Settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import { fetchJson } from '@overleaf/fetch-utils'
import InstitutionsAPI from './InstitutionsAPI.js'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.js'
import FeaturesHelper from '../Subscription/FeaturesHelper.js'
import UserGetter from '../User/UserGetter.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import NotificationsHandler from '../Notifications/NotificationsHandler.js'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.js'
import InstitutionsAPI from './InstitutionsAPI.mjs'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.mjs'
import FeaturesHelper from '../Subscription/FeaturesHelper.mjs'
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.js'
import { Subscription } from '../../models/Subscription.js'
import OError from '@overleaf/o-error'
@@ -10,10 +10,10 @@
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import Settings from '@overleaf/settings'
import _ from 'lodash'
import AnalyticsManager from '../../../../app/src/Features/Analytics/AnalyticsManager.js'
import AnalyticsManager from '../../../../app/src/Features/Analytics/AnalyticsManager.mjs'
import LinkedFilesHandler from './LinkedFilesHandler.mjs'
import LinkedFilesErrors from './LinkedFilesErrors.mjs'
import {
@@ -23,7 +23,7 @@ import {
import Modules from '../../infrastructure/Modules.js'
import { plainTextResponse } from '../../infrastructure/Response.js'
import { z, zz, validateReq } from '../../infrastructure/Validation.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import { expressify } from '@overleaf/promise-utils'
import ProjectOutputFileAgent from './ProjectOutputFileAgent.mjs'
import ProjectFileAgent from './ProjectFileAgent.mjs'
@@ -12,7 +12,7 @@
*/
import AuthorizationManager from '../Authorization/AuthorizationManager.mjs'
import ProjectLocator from '../Project/ProjectLocator.mjs'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import _ from 'lodash'
import LinkedFilesHandler from './LinkedFilesHandler.mjs'
@@ -2,7 +2,7 @@ import logger from '@overleaf/logger'
import urlValidator from 'valid-url'
import LinkedFilesErrors from './LinkedFilesErrors.mjs'
import LinkedFilesHandler from './LinkedFilesHandler.mjs'
import UrlHelper from '../Helpers/UrlHelper.js'
import UrlHelper from '../Helpers/UrlHelper.mjs'
import { fetchStream, RequestFailedError } from '@overleaf/fetch-utils'
import { callbackify } from '@overleaf/promise-utils'
import { FileTooLargeError } from '../Errors/Errors.js'
@@ -1,5 +1,5 @@
import OError from '@overleaf/o-error'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import MetaHandler from './MetaHandler.mjs'
import logger from '@overleaf/logger'
import { expressify } from '@overleaf/promise-utils'
@@ -1,5 +1,5 @@
import NotificationsHandler from './NotificationsHandler.js'
import SessionManager from '../Authentication/SessionManager.js'
import NotificationsHandler from './NotificationsHandler.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import _ from 'lodash'
export default {
@@ -1,10 +1,10 @@
import PasswordResetHandler from './PasswordResetHandler.mjs'
import AuthenticationController from '../Authentication/AuthenticationController.mjs'
import AuthenticationManager from '../Authentication/AuthenticationManager.js'
import SessionManager from '../Authentication/SessionManager.js'
import UserGetter from '../User/UserGetter.js'
import UserUpdater from '../User/UserUpdater.js'
import UserSessionsManager from '../User/UserSessionsManager.js'
import AuthenticationManager from '../Authentication/AuthenticationManager.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
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.js'
import { expressify } from '@overleaf/promise-utils'
@@ -1,9 +1,9 @@
import settings from '@overleaf/settings'
import UserAuditLogHandler from '../User/UserAuditLogHandler.js'
import UserGetter from '../User/UserGetter.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import UserGetter from '../User/UserGetter.mjs'
import OneTimeTokenHandler from '../Security/OneTimeTokenHandler.js'
import EmailHandler from '../Email/EmailHandler.js'
import AuthenticationManager from '../Authentication/AuthenticationManager.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import AuthenticationManager from '../Authentication/AuthenticationManager.mjs'
import { callbackify, promisify } from 'node:util'
import PermissionsManager from '../Authorization/PermissionsManager.mjs'
@@ -10,43 +10,43 @@ import ProjectDeleter from './ProjectDeleter.mjs'
import ProjectDuplicator from './ProjectDuplicator.mjs'
import ProjectCreationHandler from './ProjectCreationHandler.mjs'
import EditorController from '../Editor/EditorController.mjs'
import ProjectHelper from './ProjectHelper.js'
import ProjectHelper from './ProjectHelper.mjs'
import metrics from '@overleaf/metrics'
import { User } from '../../models/User.js'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.js'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'
import { isPaidSubscription } from '../Subscription/SubscriptionHelper.js'
import LimitationsManager from '../Subscription/LimitationsManager.mjs'
import Settings from '@overleaf/settings'
import AuthorizationManager from '../Authorization/AuthorizationManager.mjs'
import InactiveProjectManager from '../InactiveData/InactiveProjectManager.mjs'
import ProjectUpdateHandler from './ProjectUpdateHandler.js'
import ProjectUpdateHandler from './ProjectUpdateHandler.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import SessionManager from '../Authentication/SessionManager.js'
import Sources from '../Authorization/Sources.js'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import Sources from '../Authorization/Sources.mjs'
import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.mjs'
import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs'
import ProjectEntityHandler from './ProjectEntityHandler.mjs'
import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs'
import Features from '../../infrastructure/Features.js'
import BrandVariationsHandler from '../BrandVariations/BrandVariationsHandler.mjs'
import UserController from '../User/UserController.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.js'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.mjs'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.mjs'
import SpellingHandler from '../Spelling/SpellingHandler.mjs'
import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import InstitutionsFeatures from '../Institutions/InstitutionsFeatures.js'
import InstitutionsFeatures from '../Institutions/InstitutionsFeatures.mjs'
import InstitutionsGetter from '../Institutions/InstitutionsGetter.mjs'
import ProjectAuditLogHandler from './ProjectAuditLogHandler.mjs'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.js'
import TagsHandler from '../Tags/TagsHandler.js'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'
import TagsHandler from '../Tags/TagsHandler.mjs'
import TutorialHandler from '../Tutorial/TutorialHandler.mjs'
import UserUpdater from '../User/UserUpdater.js'
import UserUpdater from '../User/UserUpdater.mjs'
import Modules from '../../infrastructure/Modules.js'
import { z, zz, validateReq } from '../../infrastructure/Validation.js'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import { isStandaloneAiAddOnPlanCode } from '../Subscription/AiHelper.js'
import SubscriptionController from '../Subscription/SubscriptionController.mjs'
import { formatCurrency } from '../../util/currency.js'
@@ -13,9 +13,9 @@ import fs from 'node:fs'
import path from 'node:path'
import { callbackify } from 'node:util'
import _ from 'lodash'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
const { ObjectId } = mongodb
@@ -13,14 +13,14 @@ import Errors from '../Errors/Errors.js'
import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import TagsHandler from '../Tags/TagsHandler.js'
import TagsHandler from '../Tags/TagsHandler.mjs'
import ProjectDetailsHandler from './ProjectDetailsHandler.mjs'
import CollaboratorsHandler from '../Collaborators/CollaboratorsHandler.mjs'
import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import ChatApiHandler from '../Chat/ChatApiHandler.js'
import ChatApiHandler from '../Chat/ChatApiHandler.mjs'
import { promiseMapWithLimit } from '@overleaf/promise-utils'
const PROJECT_EXPIRATION_BATCH_SIZE = 10000
@@ -1,13 +1,13 @@
import _ from 'lodash'
import ProjectGetter from './ProjectGetter.mjs'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import { Project } from '../../models/Project.js'
import logger from '@overleaf/logger'
import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.js'
import PublicAccessLevels from '../Authorization/PublicAccessLevels.mjs'
import Errors from '../Errors/Errors.js'
import TokenGenerator from '../TokenGenerator/TokenGenerator.js'
import ProjectHelper from './ProjectHelper.js'
import ProjectHelper from './ProjectHelper.mjs'
import settings from '@overleaf/settings'
import { callbackify } from 'node:util'
@@ -5,7 +5,7 @@ import OError from '@overleaf/o-error'
import { promiseMapWithLimit } from '@overleaf/promise-utils'
import { Doc } from '../../models/Doc.js'
import { File } from '../../models/File.js'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import HistoryManager from '../History/HistoryManager.mjs'
import ProjectCreationHandler from './ProjectCreationHandler.mjs'
@@ -14,11 +14,11 @@ import ProjectEntityMongoUpdateHandler from './ProjectEntityMongoUpdateHandler.m
import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import ProjectLocator from './ProjectLocator.mjs'
import ProjectOptionsHandler from './ProjectOptionsHandler.js'
import SafePath from './SafePath.js'
import ProjectOptionsHandler from './ProjectOptionsHandler.mjs'
import SafePath from './SafePath.mjs'
import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs'
import _ from 'lodash'
import TagsHandler from '../Tags/TagsHandler.js'
import TagsHandler from '../Tags/TagsHandler.mjs'
import ClsiCacheManager from '../Compile/ClsiCacheManager.mjs'
import Modules from '../../infrastructure/Modules.js'
@@ -1,5 +1,5 @@
import path from 'node:path'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import Errors from '../Errors/Errors.js'
import ProjectGetter from './ProjectGetter.mjs'
import { callbackifyAll } from '@overleaf/promise-utils'
@@ -13,8 +13,8 @@ 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.js'
import SafePath from './SafePath.js'
import FolderStructureBuilder from './FolderStructureBuilder.mjs'
import SafePath from './SafePath.mjs'
import { iterablePaths } from './IterablePath.js'
const { ObjectId } = mongodb
@@ -5,7 +5,7 @@ import Settings from '@overleaf/settings'
import Path from 'node:path'
import fs from 'node:fs'
import { Doc } from '../../models/Doc.js'
import DocstoreManager from '../Docstore/DocstoreManager.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'
@@ -14,13 +14,13 @@ import { Project } from '../../models/Project.js'
import ProjectEntityHandler from './ProjectEntityHandler.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import ProjectLocator from './ProjectLocator.mjs'
import ProjectOptionsHandler from './ProjectOptionsHandler.js'
import ProjectUpdateHandler from './ProjectUpdateHandler.js'
import ProjectOptionsHandler from './ProjectOptionsHandler.mjs'
import ProjectUpdateHandler from './ProjectUpdateHandler.mjs'
import ProjectEntityMongoUpdateHandler from './ProjectEntityMongoUpdateHandler.mjs'
import SafePath from './SafePath.js'
import SafePath from './SafePath.mjs'
import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import FileWriter from '../../infrastructure/FileWriter.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import { callbackifyMultiResult, callbackify } from '@overleaf/promise-utils'
import { iterablePaths } from './IterablePath.js'
@@ -4,32 +4,32 @@ import moment from 'moment'
import Metrics from '@overleaf/metrics'
import Settings from '@overleaf/settings'
import ProjectHelper from './ProjectHelper.js'
import ProjectHelper from './ProjectHelper.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import SessionManager from '../Authentication/SessionManager.js'
import Sources from '../Authorization/Sources.js'
import UserGetter from '../User/UserGetter.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import Sources from '../Authorization/Sources.mjs'
import UserGetter from '../User/UserGetter.mjs'
import SurveyHandler from '../Survey/SurveyHandler.mjs'
import TagsHandler from '../Tags/TagsHandler.js'
import TagsHandler from '../Tags/TagsHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
import logger from '@overleaf/logger'
import Features from '../../infrastructure/Features.js'
import SubscriptionViewModelBuilder from '../Subscription/SubscriptionViewModelBuilder.mjs'
import NotificationsHandler from '../Notifications/NotificationsHandler.js'
import NotificationsHandler from '../Notifications/NotificationsHandler.mjs'
import Modules from '../../infrastructure/Modules.js'
import { OError, V1ConnectionError } from '../Errors/Errors.js'
import { User } from '../../models/User.js'
import UserPrimaryEmailCheckHandler from '../User/UserPrimaryEmailCheckHandler.mjs'
import UserController from '../User/UserController.mjs'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import GeoIpLookup from '../../infrastructure/GeoIpLookup.mjs'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.mjs'
import TutorialHandler from '../Tutorial/TutorialHandler.mjs'
import SubscriptionHelper from '../Subscription/SubscriptionHelper.js'
import PermissionsManager from '../Authorization/PermissionsManager.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import { OnboardingDataCollection } from '../../models/OnboardingDataCollection.js'
import UserSettingsHelper from './UserSettingsHelper.mjs'
@@ -15,7 +15,7 @@
import ProjectEntityHandler from './ProjectEntityHandler.mjs'
import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.mjs'
import ProjectGetter from './ProjectGetter.mjs'
import DocumentHelper from '../Documents/DocumentHelper.js'
import DocumentHelper from '../Documents/DocumentHelper.mjs'
import Path from 'node:path'
import fs from 'node:fs'
import async from 'async'
@@ -1,6 +1,6 @@
import OError from '@overleaf/o-error'
import { User } from '../../models/User.js'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.js'
import FeaturesUpdater from '../Subscription/FeaturesUpdater.mjs'
import { callbackify } from '@overleaf/promise-utils'
async function allocate(referalId, newUserId, referalSource, referalMedium) {
@@ -1,5 +1,5 @@
import ReferalHandler from './ReferalHandler.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
export default {
bonus(req, res, next) {
@@ -1,4 +1,4 @@
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
export default {
indexAll(req, res, next) {
@@ -1,5 +1,5 @@
import { SamlLog } from '../../models/SamlLog.js'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import logger from '@overleaf/logger'
import loggerSerializers from '@overleaf/logger/serializers.js'
import { callbackify } from 'node:util'
@@ -1,5 +1,5 @@
import logger from '@overleaf/logger'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import LoginRateLimiter from './LoginRateLimiter.js'
import settings from '@overleaf/settings'
@@ -4,7 +4,7 @@ import https from 'node:https'
import Settings from '@overleaf/settings'
import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs'
import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import SystemMessageManager from '../SystemMessages/SystemMessageManager.mjs'
const AdminController = {
@@ -1,6 +1,6 @@
// @ts-check
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import LearnedWordsManager from './LearnedWordsManager.mjs'
import { z, validateReq } from '../../infrastructure/Validation.js'
@@ -2,7 +2,7 @@ import logger from '@overleaf/logger'
import Settings from '@overleaf/settings'
import { IncomingWebhook } from '@slack/webhook'
import moment from 'moment'
import SplitTestUtils from './SplitTestUtils.js'
import SplitTestUtils from './SplitTestUtils.mjs'
async function sendNotification(splitTest, action, user) {
const lastVersion = SplitTestUtils.getCurrentVersion(splitTest)
@@ -1,4 +1,4 @@
import SplitTestHandler from './SplitTestHandler.js'
import SplitTestHandler from './SplitTestHandler.mjs'
import logger from '@overleaf/logger'
import { expressify } from '@overleaf/promise-utils'
import Errors from '../Errors/Errors.js'
@@ -1,12 +1,12 @@
import Features from '../../infrastructure/Features.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import Path from 'node:path'
import fs from 'node:fs'
import ErrorController from '../Errors/ErrorController.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import { expressify } from '@overleaf/promise-utils'
import logger from '@overleaf/logger'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
const __dirname = new URL('.', import.meta.url).pathname
@@ -3,11 +3,11 @@
import logger from '@overleaf/logger'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import UserGetter from '../User/UserGetter.js'
import SubscriptionLocator from './SubscriptionLocator.js'
import UserGetter from '../User/UserGetter.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import Settings from '@overleaf/settings'
import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs'
import CollaboratorsInvitesGetter from '../Collaborators/CollaboratorsInviteGetter.js'
import CollaboratorsInvitesGetter from '../Collaborators/CollaboratorsInviteGetter.mjs'
import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import { callbackify, callbackifyMultiResult } from '@overleaf/promise-utils'
@@ -1,5 +1,5 @@
import FeaturesHelper from './FeaturesHelper.js'
import PlanLocator from './PlansLocator.js'
import FeaturesHelper from './FeaturesHelper.mjs'
import PlanLocator from './PlansLocator.mjs'
export function isProfessionalPlan(planCode) {
const plan = PlanLocator.findLocalPlanInSettings(planCode)
@@ -7,15 +7,7 @@ import logger from '@overleaf/logger'
import OError from '@overleaf/o-error'
import { callbackify } from 'node:util'
import UserGetter from '../User/UserGetter.mjs'
import PaymentProviderEntities from './PaymentProviderEntities.mjs'
import {
MissingBillingInfoError,
SubtotalLimitExceededError,
} from './Errors.js'
import RecurlyMetrics from './RecurlyMetrics.mjs'
import { isStandaloneAiAddOnPlanCode, AI_ADD_ON_CODE } from './AiHelper.js'
const {
PaymentProviderSubscription,
PaymentProviderSubscriptionAddOn,
PaymentProviderSubscriptionChange,
@@ -26,11 +18,17 @@ const {
PaymentProviderCoupon,
PaymentProviderAccount,
PaymentProviderImmediateCharge,
} = PaymentProviderEntities
} from './PaymentProviderEntities.mjs'
import {
MissingBillingInfoError,
SubtotalLimitExceededError,
} from './Errors.js'
import RecurlyMetrics from './RecurlyMetrics.mjs'
import { isStandaloneAiAddOnPlanCode, AI_ADD_ON_CODE } from './AiHelper.js'
/**
* @import { PaymentProviderSubscriptionChangeRequest } from './PaymentProviderEntities'
* @import { PaymentProviderSubscriptionUpdateRequest } from './PaymentProviderEntities'
* @import { PaymentProviderSubscriptionChangeRequest } from './PaymentProviderEntities.mjs'
* @import { PaymentProviderSubscriptionUpdateRequest } from './PaymentProviderEntities.mjs'
* @import { PaymentMethod } from './types'
* @import { CurrencyCode } from '../../../../types/subscription/currency'
*/
@@ -1,5 +1,5 @@
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import SubscriptionEmailHandler from './SubscriptionEmailHandler.mjs'
import { AI_ADD_ON_CODE } from './AiHelper.js'
import mongodb from 'mongodb-legacy'
@@ -1,40 +1,40 @@
// @ts-check
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import SubscriptionHandler from './SubscriptionHandler.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import SubscriptionViewModelBuilder from './SubscriptionViewModelBuilder.mjs'
import LimitationsManager from './LimitationsManager.mjs'
import RecurlyWrapper from './RecurlyWrapper.js'
import RecurlyWrapper from './RecurlyWrapper.mjs'
import Settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import GeoIpLookup from '../../infrastructure/GeoIpLookup.mjs'
import FeaturesUpdater from './FeaturesUpdater.js'
import FeaturesUpdater from './FeaturesUpdater.mjs'
import GroupPlansData from './GroupPlansData.js'
import V1SubscriptionManager from './V1SubscriptionManager.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import V1SubscriptionManager from './V1SubscriptionManager.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import RecurlyEventHandler from './RecurlyEventHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
import OError from '@overleaf/o-error'
import Errors from './Errors.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
import AuthorizationManager from '../Authorization/AuthorizationManager.mjs'
import Modules from '../../infrastructure/Modules.js'
import async from 'async'
import HttpErrorHandler from '../Errors/HttpErrorHandler.js'
import RecurlyClient from './RecurlyClient.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.mjs'
import RecurlyClient from './RecurlyClient.mjs'
import {
AI_ADD_ON_CODE,
subscriptionChangeIsAiAssistUpgrade,
} from './AiHelper.js'
import PlansLocator from './PlansLocator.js'
import PlansLocator from './PlansLocator.mjs'
import { User } from '../../models/User.js'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import PermissionsManager from '../Authorization/PermissionsManager.mjs'
import { sanitizeSessionUserForFrontEnd } from '../../infrastructure/FrontEndUser.mjs'
import { z, validateReq } from '../../infrastructure/Validation.js'
import { IndeterminateInvoiceError } from '../Errors/Errors.js'
import SubscriptionLocator from './SubscriptionLocator.js'
import SubscriptionLocator from './SubscriptionLocator.mjs'
const {
DuplicateAddOnError,
@@ -157,7 +157,7 @@ async function checkSubscriptionPauseStatus(user) {
/**
* @import { SubscriptionChangeDescription } from '../../../../types/subscription/subscription-change-preview'
* @import { SubscriptionChangePreview } from '../../../../types/subscription/subscription-change-preview'
* @import { PaymentProviderSubscriptionChange } from './PaymentProviderEntities'
* @import { PaymentProviderSubscriptionChange } from './PaymentProviderEntities.mjs'
* @import { PaymentMethod } from './types'
*/
@@ -1,4 +1,4 @@
import EmailBuilder from '../Email/EmailBuilder.js'
import EmailBuilder from '../Email/EmailBuilder.mjs'
import EmailMessageHelper from '../Email/EmailMessageHelper.js'
import settings from '@overleaf/settings'
@@ -1,7 +1,7 @@
import EmailHandler from '../Email/EmailHandler.js'
import UserGetter from '../User/UserGetter.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import UserGetter from '../User/UserGetter.mjs'
import './SubscriptionEmailBuilder.mjs'
import PlansLocator from './PlansLocator.js'
import PlansLocator from './PlansLocator.mjs'
import Settings from '@overleaf/settings'
const SubscriptionEmailHandler = {
@@ -2,12 +2,12 @@ import SubscriptionGroupHandler from './SubscriptionGroupHandler.mjs'
import OError from '@overleaf/o-error'
import logger from '@overleaf/logger'
import SubscriptionLocator from './SubscriptionLocator.js'
import SessionManager from '../Authentication/SessionManager.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.js'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
import Modules from '../../infrastructure/Modules.js'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import { Subscription } from '../../models/Subscription.js'
import { z, validateReq } from '../../infrastructure/Validation.js'
import { isProfessionalGroupPlan } from './PlansHelper.mjs'
@@ -1,17 +1,17 @@
import { callbackify } from 'node:util'
import _ from 'lodash'
import OError from '@overleaf/o-error'
import SubscriptionUpdater from './SubscriptionUpdater.js'
import SubscriptionLocator from './SubscriptionLocator.js'
import SubscriptionUpdater from './SubscriptionUpdater.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SubscriptionController from './SubscriptionController.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import { Subscription } from '../../models/Subscription.js'
import { User } from '../../models/User.js'
import PlansLocator from './PlansLocator.js'
import PlansLocator from './PlansLocator.mjs'
import TeamInvitesHandler from './TeamInvitesHandler.mjs'
import GroupPlansData from './GroupPlansData.js'
import Modules from '../../infrastructure/Modules.js'
import PaymentProviderEntities from './PaymentProviderEntities.js'
import PaymentProviderEntities from './PaymentProviderEntities.mjs'
import {
ManuallyCollectedError,
PendingChangeError,
@@ -1,22 +1,22 @@
// @ts-check
import RecurlyWrapper from './RecurlyWrapper.js'
import RecurlyWrapper from './RecurlyWrapper.mjs'
import RecurlyClient from './RecurlyClient.js'
import RecurlyClient from './RecurlyClient.mjs'
import { User } from '../../models/User.js'
import logger from '@overleaf/logger'
import SubscriptionHelper from './SubscriptionHelper.js'
import SubscriptionUpdater from './SubscriptionUpdater.js'
import SubscriptionLocator from './SubscriptionLocator.js'
import SubscriptionUpdater from './SubscriptionUpdater.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import LimitationsManager from './LimitationsManager.mjs'
import EmailHandler from '../Email/EmailHandler.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import { callbackify } from '@overleaf/promise-utils'
import UserUpdater from '../User/UserUpdater.js'
import UserUpdater from '../User/UserUpdater.mjs'
import { IndeterminateInvoiceError } from '../Errors/Errors.js'
import Modules from '../../infrastructure/Modules.js'
/**
* @import { PaymentProviderSubscriptionChange } from './PaymentProviderEntities'
* @import { PaymentProviderSubscriptionChange } from './PaymentProviderEntities.mjs'
*/
async function validateNoSubscriptionInRecurly(userId) {
@@ -1,24 +1,26 @@
// ts-check
import Settings from '@overleaf/settings'
import PlansLocator from './PlansLocator.js'
import PlansLocator from './PlansLocator.mjs'
import { isStandaloneAiAddOnPlanCode } from './AiHelper.js'
import { MEMBERS_LIMIT_ADD_ON_CODE } from './PaymentProviderEntities.js'
import PaymentProviderEntities from './PaymentProviderEntities.mjs'
import SubscriptionFormatters from './SubscriptionFormatters.mjs'
import SubscriptionLocator from './SubscriptionLocator.js'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import InstitutionsGetter from '../Institutions/InstitutionsGetter.mjs'
import InstitutionsManager from '../Institutions/InstitutionsManager.mjs'
import PublishersGetter from '../Publishers/PublishersGetter.js'
import PublishersGetter from '../Publishers/PublishersGetter.mjs'
import sanitizeHtml from 'sanitize-html'
import _ from 'lodash'
import async from 'async'
import SubscriptionHelper from './SubscriptionHelper.js'
import { callbackify } from '@overleaf/promise-utils'
import { V1ConnectionError } from '../Errors/Errors.js'
import FeaturesHelper from './FeaturesHelper.js'
import FeaturesHelper from './FeaturesHelper.mjs'
import { formatCurrency } from '../../util/currency.js'
import Modules from '../../infrastructure/Modules.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.js'
import SplitTestHandler from '../SplitTests/SplitTestHandler.mjs'
const { MEMBERS_LIMIT_ADD_ON_CODE } = PaymentProviderEntities
/**
* @import { Subscription } from "../../../../types/project/dashboard/subscription"
@@ -2,19 +2,19 @@ import settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import OError from '@overleaf/o-error'
import TeamInvitesHandler from './TeamInvitesHandler.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import SubscriptionLocator from './SubscriptionLocator.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import SubscriptionLocator from './SubscriptionLocator.mjs'
import SubscriptionHelper from './SubscriptionHelper.js'
import ErrorController from '../Errors/ErrorController.mjs'
import EmailHelper from '../Helpers/EmailHelper.js'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
import { expressify } from '@overleaf/promise-utils'
import HttpErrorHandler from '../Errors/HttpErrorHandler.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.mjs'
import PermissionsManager from '../Authorization/PermissionsManager.mjs'
import EmailHandler from '../Email/EmailHandler.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import { RateLimiter } from '../../infrastructure/RateLimiter.js'
import Modules from '../../infrastructure/Modules.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.mjs'
import { sanitizeSessionUserForFrontEnd } from '../../infrastructure/FrontEndUser.mjs'
const rateLimiters = {
@@ -5,16 +5,16 @@ import Modules from '../../infrastructure/Modules.js'
import mongodb from 'mongodb-legacy'
import { Subscription } from '../../models/Subscription.js'
import { SSOConfig } from '../../models/SSOConfig.js'
import UserGetter from '../User/UserGetter.js'
import SubscriptionLocator from './SubscriptionLocator.js'
import SubscriptionUpdater from './SubscriptionUpdater.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.js'
import EmailHandler from '../Email/EmailHandler.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.js'
import RecurlyClient from './RecurlyClient.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import RecurlyClient from './RecurlyClient.mjs'
const { ObjectId } = mongodb
@@ -1,6 +1,6 @@
import {
PaypalPaymentMethod,
CreditCardPaymentMethod,
} from './PaymentProviderEntities'
} from './PaymentProviderEntities.mjs'
export type PaymentMethod = PaypalPaymentMethod | CreditCardPaymentMethod
@@ -2,9 +2,9 @@
import crypto from 'node:crypto'
import SurveyCache from './SurveyCache.mjs'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.js'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'
import { callbackify } from '@overleaf/promise-utils'
import UserGetter from '../User/UserGetter.js'
import UserGetter from '../User/UserGetter.mjs'
/**
* @import { Survey } from '../../../../types/project/dashboard/survey'
@@ -1,5 +1,5 @@
import Settings from '@overleaf/settings'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import SystemMessageManager from './SystemMessageManager.mjs'
const ProjectController = {
@@ -1,5 +1,5 @@
import TagsHandler from './TagsHandler.js'
import SessionManager from '../Authentication/SessionManager.js'
import TagsHandler from './TagsHandler.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import Errors from '../Errors/Errors.js'
import { z, validateReq } from '../../infrastructure/Validation.js'
import { expressify } from '@overleaf/promise-utils'
@@ -1,7 +1,7 @@
import path from 'node:path'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import TemplatesManager from './TemplatesManager.mjs'
import ProjectHelper from '../Project/ProjectHelper.js'
import ProjectHelper from '../Project/ProjectHelper.mjs'
import logger from '@overleaf/logger'
import { expressify } from '@overleaf/promise-utils'
@@ -1,6 +1,6 @@
import { Project } from '../../models/Project.js'
import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs'
import ProjectOptionsHandlerModule from '../Project/ProjectOptionsHandler.js'
import ProjectOptionsHandlerModule from '../Project/ProjectOptionsHandler.mjs'
import ProjectRootDocManagerModule from '../Project/ProjectRootDocManager.mjs'
import ProjectUploadManager from '../Uploads/ProjectUploadManager.mjs'
import fs from 'node:fs'
@@ -5,11 +5,11 @@ import Errors from '../Errors/Errors.js'
import logger from '@overleaf/logger'
import Path from 'node:path'
import metrics from '@overleaf/metrics'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import SessionManager from '../Authentication/SessionManager.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import ProjectCreationHandler from '../Project/ProjectCreationHandler.mjs'
import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs'
import HttpErrorHandler from '../Errors/HttpErrorHandler.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.mjs'
import TpdsQueueManager from './TpdsQueueManager.mjs'
async function createProject(req, res) {
@@ -1,13 +1,13 @@
import { callbackify } from 'node:util'
import UpdateMerger from './UpdateMerger.mjs'
import logger from '@overleaf/logger'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import ProjectCreationHandler from '../Project/ProjectCreationHandler.mjs'
import ProjectDeleter from '../Project/ProjectDeleter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import ProjectHelper from '../Project/ProjectHelper.js'
import ProjectHelper from '../Project/ProjectHelper.mjs'
import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs'
import FileTypeManager from '../Uploads/FileTypeManager.js'
import FileTypeManager from '../Uploads/FileTypeManager.mjs'
import CooldownManager from '../Cooldown/CooldownManager.js'
import Errors from '../Errors/Errors.js'
import Modules from '../../infrastructure/Modules.js'
@@ -7,7 +7,7 @@ import Path from 'node:path'
import { fetchNothing } from '@overleaf/fetch-utils'
import settings from '@overleaf/settings'
import CollaboratorsGetterModule from '../Collaborators/CollaboratorsGetter.mjs'
import UserGetterModule from '../User/UserGetter.js'
import UserGetterModule from '../User/UserGetter.mjs'
const { promises: UserGetter } = UserGetterModule
const { promises: CollaboratorsGetter } = CollaboratorsGetterModule
@@ -4,7 +4,7 @@ import fsPromises from 'node:fs/promises'
import fs from 'node:fs'
import logger from '@overleaf/logger'
import EditorController from '../Editor/EditorController.mjs'
import FileTypeManager from '../Uploads/FileTypeManager.js'
import FileTypeManager from '../Uploads/FileTypeManager.mjs'
import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs'
import crypto from 'node:crypto'
import Settings from '@overleaf/settings'
@@ -1,6 +1,6 @@
import AuthenticationController from '../Authentication/AuthenticationController.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import TokenAccessHandler from './TokenAccessHandler.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import TokenAccessHandler from './TokenAccessHandler.mjs'
import Errors from '../Errors/Errors.js'
import logger from '@overleaf/logger'
import OError from '@overleaf/o-error'
@@ -10,17 +10,18 @@ import PrivilegeLevels from '../Authorization/PrivilegeLevels.js'
import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs'
import CollaboratorsInviteHandler from '../Collaborators/CollaboratorsInviteHandler.mjs'
import CollaboratorsHandler from '../Collaborators/CollaboratorsHandler.mjs'
import EditorRealTimeController from '../Editor/EditorRealTimeController.js'
import EditorRealTimeController from '../Editor/EditorRealTimeController.mjs'
import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs'
import ProjectGetter from '../Project/ProjectGetter.mjs'
import AsyncFormHelper from '../Helpers/AsyncFormHelper.js'
import AnalyticsManager from '../Analytics/AnalyticsManager.js'
import AsyncFormHelper from '../Helpers/AsyncFormHelper.mjs'
import AnalyticsManager from '../Analytics/AnalyticsManager.mjs'
import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs'
import { getSafeAdminDomainRedirect } from '../Helpers/UrlHelper.js'
import UserGetter from '../User/UserGetter.js'
import UrlHelper from '../Helpers/UrlHelper.mjs'
import UserGetter from '../User/UserGetter.mjs'
import Settings from '@overleaf/settings'
import LimitationsManager from '../Subscription/LimitationsManager.mjs'
const { getSafeAdminDomainRedirect } = UrlHelper
const { canRedirectToAdminDomain } = AdminAuthorizationHelper
const orderedPrivilegeLevels = [
PrivilegeLevels.NONE,
@@ -1,4 +1,4 @@
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import TutorialHandler from './TutorialHandler.mjs'
import { expressify } from '@overleaf/promise-utils'
@@ -1,4 +1,4 @@
import UserUpdater from '../User/UserUpdater.js'
import UserUpdater from '../User/UserUpdater.mjs'
const POSTPONE_DURATION_MS = 24 * 60 * 60 * 1000 // 1 day
@@ -3,8 +3,8 @@ import Path from 'node:path'
import { callbackify } from 'node:util'
import EditorController from '../Editor/EditorController.mjs'
import Errors from '../Errors/Errors.js'
import FileTypeManager from './FileTypeManager.js'
import SafePath from '../Project/SafePath.js'
import FileTypeManager from './FileTypeManager.mjs'
import SafePath from '../Project/SafePath.mjs'
import logger from '@overleaf/logger'
export default {
@@ -4,7 +4,7 @@ import fs from 'node:fs'
import Path from 'node:path'
import FileSystemImportManager from './FileSystemImportManager.mjs'
import ProjectUploadManager from './ProjectUploadManager.mjs'
import SessionManager from '../Authentication/SessionManager.js'
import SessionManager from '../Authentication/SessionManager.mjs'
import EditorController from '../Editor/EditorController.mjs'
import ProjectLocator from '../Project/ProjectLocator.mjs'
import Settings from '@overleaf/settings'
@@ -1,10 +1,10 @@
import Path from 'node:path'
import fs from 'node:fs'
import { callbackify } from 'node:util'
import ArchiveManager from './ArchiveManager.js'
import ArchiveManager from './ArchiveManager.mjs'
import { Doc } from '../../models/Doc.js'
import DocstoreManager from '../Docstore/DocstoreManager.js'
import DocumentHelper from '../Documents/DocumentHelper.js'
import DocstoreManager from '../Docstore/DocstoreManager.mjs'
import DocumentHelper from '../Documents/DocumentHelper.mjs'
import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs'
import FileStoreHandler from '../FileStore/FileStoreHandler.mjs'
import FileSystemImportManager from './FileSystemImportManager.mjs'
@@ -1,13 +1,13 @@
import mongodb from 'mongodb-legacy'
import EmailHandler from '../Email/EmailHandler.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import Errors from '../Errors/Errors.js'
import InstitutionsAPI from '../Institutions/InstitutionsAPI.js'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.js'
import InstitutionsAPI from '../Institutions/InstitutionsAPI.mjs'
import NotificationsBuilder from '../Notifications/NotificationsBuilder.mjs'
import OError from '@overleaf/o-error'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.js'
import UserAuditLogHandler from '../User/UserAuditLogHandler.js'
import UserGetter from '../User/UserGetter.js'
import UserUpdater from '../User/UserUpdater.js'
import SubscriptionLocator from '../Subscription/SubscriptionLocator.mjs'
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.js'
import { promiseMapWithLimit } from '@overleaf/promise-utils'
@@ -1,22 +1,22 @@
import UserHandler from './UserHandler.mjs'
import UserDeleter from './UserDeleter.mjs'
import UserGetter from './UserGetter.js'
import UserGetter from './UserGetter.mjs'
import { User } from '../../models/User.js'
import NewsletterManager from '../Newsletter/NewsletterManager.js'
import NewsletterManager from '../Newsletter/NewsletterManager.mjs'
import logger from '@overleaf/logger'
import metrics from '@overleaf/metrics'
import AuthenticationManager from '../Authentication/AuthenticationManager.js'
import SessionManager from '../Authentication/SessionManager.js'
import AuthenticationManager from '../Authentication/AuthenticationManager.mjs'
import SessionManager from '../Authentication/SessionManager.mjs'
import Features from '../../infrastructure/Features.js'
import { z, validateReq } from '../../infrastructure/Validation.js'
import UserAuditLogHandler from './UserAuditLogHandler.js'
import UserSessionsManager from './UserSessionsManager.js'
import UserUpdater from './UserUpdater.js'
import UserAuditLogHandler from './UserAuditLogHandler.mjs'
import UserSessionsManager from './UserSessionsManager.mjs'
import UserUpdater from './UserUpdater.mjs'
import Errors from '../Errors/Errors.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.js'
import HttpErrorHandler from '../Errors/HttpErrorHandler.mjs'
import OError from '@overleaf/o-error'
import EmailHandler from '../Email/EmailHandler.js'
import UrlHelper from '../Helpers/UrlHelper.js'
import EmailHandler from '../Email/EmailHandler.mjs'
import UrlHelper from '../Helpers/UrlHelper.mjs'
import { promisify } from 'node:util'
import { expressify } from '@overleaf/promise-utils'
import { acceptsJson } from '../../infrastructure/RequestContentTypeDetection.js'

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