Merge pull request #3316 from specklesystems/fabians/core-ioc-78
chore(server): core IoC #78 - getServerInfoFactory
This commit is contained in:
@@ -18,12 +18,12 @@ import {
|
||||
import { StreamAcl, StreamActivity } from '@/modules/core/dbSchema'
|
||||
import { Roles } from '@/modules/core/helpers/mainConstants'
|
||||
import { StreamAclRecord } from '@/modules/core/helpers/types'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { createWebhookEventFactory } from '@/modules/webhooks/repositories/webhooks'
|
||||
import { dispatchStreamEventFactory } from '@/modules/webhooks/services/webhooks'
|
||||
import { Knex } from 'knex'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const tables = {
|
||||
streamActivity: <T extends object = StreamActivityRecord>(db: Knex) =>
|
||||
@@ -252,7 +252,7 @@ export const saveActivityFactory =
|
||||
|
||||
await dispatchStreamEventFactory({
|
||||
db,
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
getStream: getStreamFactory({ db }),
|
||||
createWebhookEvent: createWebhookEventFactory({ db }),
|
||||
getUser: getUserFactory({ db })
|
||||
|
||||
@@ -37,7 +37,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -62,6 +61,7 @@ const {
|
||||
storeTokenScopesFactory,
|
||||
storeTokenResourceAccessDefinitionsFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUserActivity = getUserActivityFactory({ db })
|
||||
@@ -85,13 +85,13 @@ const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
getUser: getUserFactory({ db }),
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
deleteOldAndInsertNewVerification: deleteOldAndInsertNewVerificationFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail
|
||||
})
|
||||
const createUser = createUserFactory({
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
findEmail,
|
||||
storeUser: storeUserFactory({ db }),
|
||||
countAdminUsers: countAdminUsersFactory({ db }),
|
||||
|
||||
@@ -41,11 +41,13 @@ import { ProjectsEmitter } from '@/modules/core/events/projectsEmitter'
|
||||
import { createBranchFactory } from '@/modules/core/repositories/branches'
|
||||
import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { getUserFactory, getUsersFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const cleanup = async () => {
|
||||
await truncateTables([StreamActivity.name, Users.name])
|
||||
}
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
@@ -76,7 +78,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -13,7 +13,6 @@ import {
|
||||
} from '@/modules/auth/repositories/apps'
|
||||
import setupStrategiesFactory from '@/modules/auth/strategies'
|
||||
import githubStrategyBuilderFactory from '@/modules/auth/strategies/github'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
validateServerInviteFactory,
|
||||
finalizeInvitedServerRegistrationFactory,
|
||||
@@ -59,18 +58,19 @@ import { requestNewEmailVerificationFactory } from '@/modules/emails/services/ve
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
getUser: getUserFactory({ db }),
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
deleteOldAndInsertNewVerification: deleteOldAndInsertNewVerificationFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail
|
||||
})
|
||||
const createUser = createUserFactory({
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
findEmail,
|
||||
storeUser: storeUserFactory({ db }),
|
||||
countAdminUsers: countAdminUsersFactory({ db }),
|
||||
@@ -110,7 +110,7 @@ const finalizeInvitedServerRegistration = finalizeInvitedServerRegistrationFacto
|
||||
const resolveAuthRedirectPath = resolveAuthRedirectPathFactory()
|
||||
|
||||
const commonBuilderDeps = {
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
getUserByEmail: legacyGetUserByEmailFactory({ db }),
|
||||
findOrCreateUser,
|
||||
validateServerInvite,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* istanbul ignore file */
|
||||
import passport from 'passport'
|
||||
import { OIDCStrategy, IProfile, VerifyCallback } from 'passport-azure-ad'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
|
||||
import {
|
||||
UserInputError,
|
||||
@@ -31,10 +30,11 @@ import {
|
||||
FindOrCreateValidatedUser,
|
||||
LegacyGetUserByEmail
|
||||
} from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const azureAdStrategyBuilderFactory =
|
||||
(deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
getUserByEmail: LegacyGetUserByEmail
|
||||
findOrCreateUser: FindOrCreateValidatedUser
|
||||
validateServerInvite: ValidateServerInvite
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
import passport from 'passport'
|
||||
import type { VerifyCallback } from 'passport-oauth2'
|
||||
import { Strategy as GithubStrategy, type Profile } from 'passport-github2'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
UserInputError,
|
||||
UnverifiedEmailSSOLoginError
|
||||
@@ -32,10 +31,11 @@ import {
|
||||
LegacyGetUserByEmail
|
||||
} from '@/modules/core/domain/users/operations'
|
||||
import crs from 'crypto-random-string'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const githubStrategyBuilderFactory =
|
||||
(deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
getUserByEmail: LegacyGetUserByEmail
|
||||
findOrCreateUser: FindOrCreateValidatedUser
|
||||
validateServerInvite: ValidateServerInvite
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* istanbul ignore file */
|
||||
import passport from 'passport'
|
||||
import { Strategy as GoogleStrategy } from 'passport-google-oauth20'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
|
||||
import {
|
||||
UserInputError,
|
||||
@@ -27,10 +26,11 @@ import {
|
||||
FindOrCreateValidatedUser,
|
||||
LegacyGetUserByEmail
|
||||
} from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const googleStrategyBuilderFactory =
|
||||
(deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
getUserByEmail: LegacyGetUserByEmail
|
||||
findOrCreateUser: FindOrCreateValidatedUser
|
||||
validateServerInvite: ValidateServerInvite
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
sendRateLimitResponse,
|
||||
getRateLimitResult,
|
||||
@@ -23,12 +22,13 @@ import {
|
||||
LegacyGetUserByEmail,
|
||||
ValidateUserPassword
|
||||
} from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const localStrategyBuilderFactory =
|
||||
(deps: {
|
||||
validateUserPassword: ValidateUserPassword
|
||||
getUserByEmail: LegacyGetUserByEmail
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
getRateLimitResult: typeof getRateLimitResult
|
||||
validateServerInvite: ValidateServerInvite
|
||||
createUser: CreateValidatedUser
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* istanbul ignore file */
|
||||
import passport from 'passport'
|
||||
import { Issuer, Strategy } from 'openid-client'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
getOidcDiscoveryUrl,
|
||||
getOidcClientId,
|
||||
@@ -27,10 +26,11 @@ import {
|
||||
FindOrCreateValidatedUser,
|
||||
LegacyGetUserByEmail
|
||||
} from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const oidcStrategyBuilderFactory =
|
||||
(deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
getUserByEmail: LegacyGetUserByEmail
|
||||
findOrCreateUser: FindOrCreateValidatedUser
|
||||
validateServerInvite: ValidateServerInvite
|
||||
|
||||
@@ -36,7 +36,6 @@ const {
|
||||
countAdminUsersFactory,
|
||||
storeUserAclFactory
|
||||
} = require('@/modules/core/repositories/users')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -61,6 +60,7 @@ const {
|
||||
storeUserServerAppTokenFactory,
|
||||
storePersonalApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
let sendRequest
|
||||
let server
|
||||
@@ -84,6 +84,7 @@ const createAppTokenFromAccessCode = createAppTokenFromAccessCodeFactory({
|
||||
createBareToken
|
||||
})
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -46,7 +46,6 @@ const {
|
||||
storeUserAclFactory,
|
||||
getUserRoleFactory
|
||||
} = require('@/modules/core/repositories/users')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -75,6 +74,7 @@ const {
|
||||
getTokenResourceAccessDefinitionsByIdFactory,
|
||||
updateApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const db = knex
|
||||
const getApp = getAppFactory({ db: knex })
|
||||
@@ -115,6 +115,7 @@ const refreshAppToken = refreshAppTokenFactory({
|
||||
createBareToken
|
||||
})
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -2,7 +2,7 @@ const crs = require('crypto-random-string')
|
||||
const chai = require('chai')
|
||||
const request = require('supertest')
|
||||
|
||||
const { updateServerInfo, getServerInfo } = require('@/modules/core/services/generic')
|
||||
const { updateServerInfo } = require('@/modules/core/services/generic')
|
||||
const { TIME } = require('@speckle/shared')
|
||||
const { RATE_LIMITERS, createConsumer } = require('@/modules/core/services/ratelimiter')
|
||||
const { beforeEachContext, initializeTestServer } = require('@/test/hooks')
|
||||
@@ -73,7 +73,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -100,7 +102,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -55,7 +55,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -69,7 +68,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -94,7 +95,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -53,7 +53,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -73,7 +72,9 @@ const {
|
||||
storeTokenScopesFactory,
|
||||
storeTokenResourceAccessDefinitionsFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -98,7 +99,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -71,6 +71,7 @@ import { saveActivityFactory } from '@/modules/activitystream/repositories'
|
||||
import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { addCommitCreatedActivityFactory } from '@/modules/activitystream/services/commitActivity'
|
||||
import { getUserFactory, getUsersFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const command: CommandModule<
|
||||
unknown,
|
||||
@@ -158,6 +159,7 @@ const command: CommandModule<
|
||||
})
|
||||
})
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const createStreamReturnRecord = createStreamReturnRecordFactory({
|
||||
@@ -176,7 +178,8 @@ const command: CommandModule<
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -103,7 +103,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -117,7 +116,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
@@ -181,7 +182,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -122,7 +122,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -136,7 +135,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
@@ -229,7 +230,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
import { ServerInfo } from '@/modules/core/domain/server/types'
|
||||
|
||||
export type GetServerInfo = () => Promise<ServerInfo>
|
||||
@@ -0,0 +1 @@
|
||||
export { ServerInfo } from '@/modules/core/helpers/types'
|
||||
@@ -39,6 +39,7 @@ import {
|
||||
insertCommitsFactory,
|
||||
insertStreamCommitsFactory
|
||||
} from '@/modules/core/repositories/commits'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
getStreamFactory,
|
||||
getStreamCollaboratorsFactory,
|
||||
@@ -91,6 +92,7 @@ import {
|
||||
} from '@/modules/shared/utils/subscriptions'
|
||||
import { has } from 'lodash'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const saveActivity = saveActivityFactory({ db })
|
||||
@@ -112,7 +114,8 @@ const createStreamReturnRecord = createStreamReturnRecordFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
const { validateScopes } = require('@/modules/shared')
|
||||
const {
|
||||
updateServerInfo,
|
||||
getServerInfo,
|
||||
getPublicScopes,
|
||||
getPublicRoles
|
||||
} = require('../../services/generic')
|
||||
@@ -12,6 +11,10 @@ const {
|
||||
speckleAutomateUrl,
|
||||
enableNewFrontendMessaging
|
||||
} = require('@/modules/shared/helpers/envHelper')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
const { db } = require('@/db/knex')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
|
||||
module.exports = {
|
||||
Query: {
|
||||
|
||||
@@ -87,7 +87,9 @@ import {
|
||||
getFavoriteStreamsCollectionFactory
|
||||
} from '@/modules/core/services/streams/favorite'
|
||||
import { getUserFactory, getUsersFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getFavoriteStreamsCollection = getFavoriteStreamsCollectionFactory({
|
||||
@@ -112,7 +114,8 @@ const createStreamReturnRecord = createStreamReturnRecordFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -15,17 +15,17 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { validateAndCreateUserEmailFactory } from '@/modules/core/services/userEmails'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getUser = getUserFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail: findEmailFactory({ db }),
|
||||
getUser,
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
deleteOldAndInsertNewVerification: deleteOldAndInsertNewVerificationFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail
|
||||
|
||||
@@ -17,7 +17,6 @@ import {
|
||||
legacyGetPaginatedUsersFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { UsersMeta } from '@/modules/core/dbSchema'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { throwForNotHavingServerRole } from '@/modules/shared/authz'
|
||||
import {
|
||||
deleteAllUserInvitesFactory,
|
||||
@@ -40,6 +39,7 @@ import {
|
||||
import { dbLogger } from '@/logging/logging'
|
||||
import { getAdminUsersListCollectionFactory } from '@/modules/core/services/users/legacyAdminUsersList'
|
||||
import { Resolvers } from '@/modules/core/graph/generated/graphql'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getUser = legacyGetUserFactory({ db })
|
||||
const getUserByEmail = legacyGetUserByEmailFactory({ db })
|
||||
@@ -52,6 +52,7 @@ const updateUserAndNotify = updateUserAndNotifyFactory({
|
||||
})
|
||||
})
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const deleteUser = deleteUserFactory({
|
||||
deleteStream: deleteStreamFactory({ db }),
|
||||
logger: dbLogger,
|
||||
|
||||
@@ -88,6 +88,10 @@ export type ServerInfo = ServerConfigRecord & {
|
||||
*/
|
||||
version: string
|
||||
migration?: { movedFrom?: string; movedTo?: string }
|
||||
configuration: {
|
||||
objectSizeLimitBytes: number
|
||||
objectMultipartUploadSizeLimitBytes: number
|
||||
}
|
||||
}
|
||||
|
||||
export type CommitRecord = {
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
import { buildTableHelper } from '@/modules/core/dbSchema'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
import { ServerInfo } from '@/modules/core/domain/server/types'
|
||||
import { ServerConfigRecord } from '@/modules/core/helpers/types'
|
||||
import {
|
||||
getFileSizeLimitMB,
|
||||
getMaximumObjectSizeMB,
|
||||
getServerMovedFrom,
|
||||
getServerMovedTo,
|
||||
getServerOrigin,
|
||||
getServerVersion
|
||||
} from '@/modules/shared/helpers/envHelper'
|
||||
import { Knex } from 'knex'
|
||||
|
||||
const ServerConfig = buildTableHelper('server_config', [
|
||||
'id',
|
||||
'name',
|
||||
'company',
|
||||
'description',
|
||||
'adminContact',
|
||||
'termsOfService',
|
||||
'canonicalUrl',
|
||||
'completed',
|
||||
'inviteOnly',
|
||||
'guestModeEnabled'
|
||||
])
|
||||
|
||||
const tables = {
|
||||
serverConfig: (db: Knex) => db<ServerConfigRecord>(ServerConfig.name)
|
||||
}
|
||||
|
||||
export const getServerInfoFactory =
|
||||
(deps: { db: Knex }): GetServerInfo =>
|
||||
async () => {
|
||||
const movedTo = getServerMovedTo()
|
||||
const movedFrom = getServerMovedFrom()
|
||||
|
||||
// An entry should always exist from migrations
|
||||
const serverInfo: ServerInfo = {
|
||||
...(await tables.serverConfig(deps.db).select('*').first())!,
|
||||
version: getServerVersion(),
|
||||
canonicalUrl: getServerOrigin(),
|
||||
configuration: {
|
||||
objectSizeLimitBytes: getMaximumObjectSizeMB() * 1024 * 1024,
|
||||
objectMultipartUploadSizeLimitBytes: getFileSizeLimitMB() * 1024 * 1024
|
||||
},
|
||||
...(movedTo || movedFrom
|
||||
? {
|
||||
migration: {
|
||||
movedFrom: movedFrom?.toString(),
|
||||
movedTo: movedTo?.toString()
|
||||
}
|
||||
}
|
||||
: {})
|
||||
}
|
||||
|
||||
return serverInfo
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
import * as express from 'express'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { createRedisClient } from '@/modules/shared/redis/redis'
|
||||
import {
|
||||
getRedisUrl,
|
||||
@@ -10,6 +9,7 @@ import type { Redis } from 'ioredis'
|
||||
import { numberOfFreeConnections } from '@/modules/shared/helpers/dbHelper'
|
||||
import { db } from '@/db/knex'
|
||||
import type { Knex } from 'knex'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
type FreeConnectionsCalculator = {
|
||||
mean: () => number
|
||||
@@ -159,6 +159,8 @@ type CheckResponse = { isAlive: true } | { isAlive: false; err: unknown }
|
||||
type DBCheck = () => Promise<CheckResponse>
|
||||
|
||||
const isPostgresAlive: DBCheck = async (): Promise<CheckResponse> => {
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
|
||||
try {
|
||||
await getServerInfo()
|
||||
} catch (err) {
|
||||
|
||||
@@ -1,36 +1,10 @@
|
||||
'use strict'
|
||||
const knex = require('@/db/knex')
|
||||
const {
|
||||
getServerVersion,
|
||||
getServerOrigin,
|
||||
getServerMovedTo,
|
||||
getServerMovedFrom,
|
||||
getMaximumObjectSizeMB,
|
||||
getFileSizeLimitMB
|
||||
} = require('@/modules/shared/helpers/envHelper')
|
||||
|
||||
const Roles = () => knex('user_roles')
|
||||
const Scopes = () => knex('scopes')
|
||||
const Info = () => knex('server_config')
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* @returns {Promise<import('@/modules/core/helpers/types').ServerInfo>}
|
||||
*/
|
||||
async getServerInfo() {
|
||||
const serverInfo = await Info().select('*').first()
|
||||
serverInfo.version = getServerVersion()
|
||||
serverInfo.canonicalUrl = getServerOrigin()
|
||||
const movedTo = getServerMovedTo()
|
||||
const movedFrom = getServerMovedFrom()
|
||||
serverInfo.configuration = {
|
||||
objectSizeLimitBytes: getMaximumObjectSizeMB() * 1024 * 1024,
|
||||
objectMultipartUploadSizeLimitBytes: getFileSizeLimitMB() * 1024 * 1024
|
||||
}
|
||||
if (movedTo || movedFrom) serverInfo.migration = { movedTo, movedFrom }
|
||||
return serverInfo
|
||||
},
|
||||
|
||||
async getAllScopes() {
|
||||
return await Scopes().select('*')
|
||||
},
|
||||
|
||||
@@ -21,7 +21,6 @@ import { UserUpdateError, UserValidationError } from '@/modules/core/errors/user
|
||||
import { PasswordTooShortError, UserInputError } from '@/modules/core/errors/userinput'
|
||||
import { UserUpdateInput } from '@/modules/core/graph/generated/graphql'
|
||||
import type { UserRecord } from '@/modules/core/helpers/userHelper'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { sanitizeImageUrl } from '@/modules/shared/helpers/sanitization'
|
||||
import {
|
||||
isNullOrUndefined,
|
||||
@@ -44,6 +43,7 @@ import {
|
||||
} from '@/modules/core/domain/streams/operations'
|
||||
import { Logger } from '@/logging/logging'
|
||||
import { DeleteAllUserInvites } from '@/modules/serverinvites/domain/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
export const MINIMUM_PASSWORD_LENGTH = 8
|
||||
|
||||
@@ -132,7 +132,7 @@ export const changePasswordFactory =
|
||||
|
||||
export const createUserFactory =
|
||||
(deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
findEmail: FindEmail
|
||||
storeUser: StoreUser
|
||||
countAdminUsers: CountAdminUsers
|
||||
@@ -279,7 +279,7 @@ export const deleteUserFactory =
|
||||
|
||||
export const changeUserRoleFactory =
|
||||
(deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
isLastAdminUser: IsLastAdminUser
|
||||
updateUserServerRole: UpdateUserServerRole
|
||||
}): ChangeUserRole =>
|
||||
|
||||
@@ -92,7 +92,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -106,6 +105,7 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const db = knex
|
||||
const Commits = () => knex('commits')
|
||||
@@ -132,6 +132,7 @@ const deleteBranchAndNotify = deleteBranchAndNotifyFactory({
|
||||
deleteBranchById: deleteBranchByIdFactory({ db: knex })
|
||||
})
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getObject = getObjectFactory({ db: knex })
|
||||
const createCommitByBranchId = createCommitByBranchIdFactory({
|
||||
createCommit: createCommitFactory({ db }),
|
||||
@@ -175,7 +176,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -98,7 +98,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -112,7 +111,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
@@ -196,7 +197,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -61,7 +61,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -75,7 +74,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -100,7 +101,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -66,7 +66,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -80,7 +79,9 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -105,7 +106,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -44,7 +44,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -72,6 +71,7 @@ const {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storePersonalApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getUser = getUserFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
@@ -105,6 +105,7 @@ const addOrUpdateStreamCollaborator = addOrUpdateStreamCollaboratorFactory({
|
||||
})
|
||||
const getUsers = legacyGetPaginatedUsersFactory({ db })
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -40,7 +40,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -65,6 +64,7 @@ const {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storePersonalApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const saveActivity = saveActivityFactory({ db })
|
||||
const validateStreamAccess = validateStreamAccessFactory({ authorizeResolver })
|
||||
@@ -84,6 +84,7 @@ const addOrUpdateStreamCollaborator = addOrUpdateStreamCollaboratorFactory({
|
||||
})
|
||||
})
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
storeUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -34,7 +33,9 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = legacyGetUserFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
|
||||
@@ -19,7 +19,6 @@ import {
|
||||
storeUserAclFactory,
|
||||
storeUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -31,7 +30,9 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -21,7 +21,6 @@ import {
|
||||
storeUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -33,7 +32,9 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
findEmailFactory
|
||||
} from '@/modules/core/repositories/userEmails'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -34,9 +33,11 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const userEmailsDB = db(UserEmails.name)
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = legacyGetUserFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
|
||||
@@ -25,7 +25,6 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -37,7 +36,9 @@ import {
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { createUserFactory } from '@/modules/core/services/users/management'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = legacyGetUserFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail: findEmailFactory({ db }),
|
||||
|
||||
@@ -40,13 +40,14 @@ import {
|
||||
updateAllInviteTargetsFactory
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
import { createUserFactory } from '@/modules/core/services/users/management'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = legacyGetPaginatedUsersFactory({ db })
|
||||
const countUsers = legacyGetPaginatedUsersCountFactory({ db })
|
||||
|
||||
|
||||
@@ -67,7 +67,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -81,6 +80,7 @@ const {
|
||||
finalizeInvitedServerRegistrationFactory
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const sampleCommit = JSON.parse(`{
|
||||
"Objects": [
|
||||
@@ -105,6 +105,7 @@ const sampleObject = JSON.parse(`{
|
||||
"speckleType": "Tests.Polyline"
|
||||
}`)
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -129,7 +130,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -59,7 +59,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -80,7 +79,9 @@ const {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storePersonalApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -105,7 +106,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -100,8 +100,9 @@ import {
|
||||
updateUserServerRoleFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { changeUserRoleFactory } from '@/modules/core/services/users/management'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
@@ -161,7 +162,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -100,7 +100,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -139,7 +138,9 @@ const {
|
||||
updateApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getTokenAppInfoFactory } = require('@/modules/auth/repositories/apps')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = legacyGetUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
@@ -190,7 +191,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser: getUserFactory({ db })
|
||||
getUser: getUserFactory({ db }),
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -25,7 +25,6 @@ const {
|
||||
const {
|
||||
requestNewEmailVerificationFactory
|
||||
} = require('@/modules/emails/services/verification/request')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -53,10 +52,12 @@ const {
|
||||
getUserDeletableStreamsFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const { dbLogger } = require('@/logging/logging')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getUsers = legacyGetPaginatedUsersFactory({ db })
|
||||
const countUsers = legacyGetPaginatedUsersCountFactory({ db })
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -47,7 +47,6 @@ import {
|
||||
findEmailFactory
|
||||
} from '@/modules/core/repositories/userEmails'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
@@ -55,10 +54,12 @@ import { createUserFactory } from '@/modules/core/services/users/management'
|
||||
import { validateAndCreateUserEmailFactory } from '@/modules/core/services/userEmails'
|
||||
import { finalizeInvitedServerRegistrationFactory } from '@/modules/serverinvites/services/processing'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
// To ensure that the invites are created in the correct order, we need to wait a bit between each creation
|
||||
const WAIT_TIMEOUT = 5
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -83,7 +84,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -29,7 +29,6 @@ import {
|
||||
} from '@/modules/serverinvites/repositories/serverInvites'
|
||||
import { buildApolloServer } from '@/app'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -41,7 +40,9 @@ import {
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { createUserFactory } from '@/modules/core/services/users/management'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail: findEmailFactory({ db }),
|
||||
|
||||
@@ -43,6 +43,7 @@ import {
|
||||
getObjectFactory,
|
||||
getStreamObjectsFactory
|
||||
} from '@/modules/core/repositories/objects'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
createStreamFactory,
|
||||
getOnboardingBaseStreamFactory,
|
||||
@@ -86,6 +87,7 @@ const crossServerSyncModule: SpeckleModule = {
|
||||
finalize() {
|
||||
crossServerSyncLogger.info('⬇️ Ensuring base onboarding stream asynchronously...')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const markOnboardingBaseStream = markOnboardingBaseStreamFactory({ db })
|
||||
@@ -158,7 +160,8 @@ const crossServerSyncModule: SpeckleModule = {
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { db } from '@/db/knex'
|
||||
import { Resolvers } from '@/modules/core/graph/generated/graphql'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import { findPrimaryEmailForUserFactory } from '@/modules/core/repositories/userEmails'
|
||||
import {
|
||||
getUserByEmailFactory,
|
||||
getUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
deleteOldAndInsertNewVerificationFactory,
|
||||
getPendingTokenFactory
|
||||
@@ -17,7 +17,7 @@ import { requestEmailVerificationFactory } from '@/modules/emails/services/verif
|
||||
const getUser = getUserFactory({ db })
|
||||
const requestEmailVerification = requestEmailVerificationFactory({
|
||||
getUser,
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
deleteOldAndInsertNewVerification: deleteOldAndInsertNewVerificationFactory({ db }),
|
||||
findPrimaryEmailForUser: findPrimaryEmailForUserFactory({ db }),
|
||||
sendEmail,
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
import { db } from '@/db/knex'
|
||||
import { moduleLogger } from '@/logging/logging'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import { findPrimaryEmailForUserFactory } from '@/modules/core/repositories/userEmails'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import * as SendingService from '@/modules/emails/services/sending'
|
||||
@@ -35,7 +35,7 @@ const emailsModule: SpeckleModule = {
|
||||
userEmitterListener: UsersEmitter.listen,
|
||||
requestEmailVerification: requestEmailVerificationFactory({
|
||||
getUser,
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
deleteOldAndInsertNewVerification: deleteOldAndInsertNewVerificationFactory(
|
||||
{ db }
|
||||
),
|
||||
|
||||
@@ -6,7 +6,6 @@ import { UserEmail } from '@/modules/core/domain/userEmails/types'
|
||||
import { UsersEmitter, UsersEvents } from '@/modules/core/events/usersEmitter'
|
||||
import { getEmailVerificationFinalizationRoute } from '@/modules/core/helpers/routeHelper'
|
||||
import { ServerInfo, UserRecord } from '@/modules/core/helpers/types'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { EmailVerificationRequestError } from '@/modules/emails/errors'
|
||||
import {
|
||||
EmailTemplateParams,
|
||||
@@ -20,13 +19,14 @@ import {
|
||||
RequestNewEmailVerification
|
||||
} from '@/modules/emails/domain/operations'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const EMAIL_SUBJECT = 'Speckle Account E-mail Verification'
|
||||
|
||||
type CreateNewVerificationDeps = {
|
||||
getUser: GetUser
|
||||
findPrimaryEmailForUser: FindPrimaryEmailForUser
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
deleteOldAndInsertNewVerification: DeleteOldAndInsertNewVerification
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ type VerificationRequestContext = {
|
||||
type CreateNewEmailVerificationFactoryDeps = {
|
||||
findEmail: FindEmail
|
||||
getUser: GetUser
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
deleteOldAndInsertNewVerification: DeleteOldAndInsertNewVerification
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { db } from '@/db/knex'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
EmailTemplateServerInfo,
|
||||
renderEmail
|
||||
@@ -84,7 +85,7 @@ describe('Basic email template', () => {
|
||||
})
|
||||
|
||||
it('prefills server info, if not passed in', async () => {
|
||||
const serverInfo = await getServerInfo()
|
||||
const serverInfo = await getServerInfoFactory({ db })()
|
||||
|
||||
const { text, html } = await renderEmail(
|
||||
{
|
||||
|
||||
@@ -24,11 +24,11 @@ import {
|
||||
import { buildApolloServer } from '@/app'
|
||||
import { db } from '@/db/knex'
|
||||
import { requestEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { findPrimaryEmailForUserFactory } from '@/modules/core/repositories/userEmails'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const mailerMock = EmailSendingServiceMock
|
||||
const getUser = getUserFactory({ db })
|
||||
@@ -36,7 +36,7 @@ const getPendingToken = getPendingTokenFactory({ db })
|
||||
const deleteVerifications = deleteVerificationsFactory({ db })
|
||||
const requestEmailVerification = requestEmailVerificationFactory({
|
||||
getUser,
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
deleteOldAndInsertNewVerification: deleteOldAndInsertNewVerificationFactory({
|
||||
db
|
||||
}),
|
||||
|
||||
@@ -47,7 +47,6 @@ import {
|
||||
findEmailFactory
|
||||
} from '@/modules/core/repositories/userEmails'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { createUserFactory } from '@/modules/core/services/users/management'
|
||||
@@ -61,7 +60,9 @@ import {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storeTokenScopesFactory
|
||||
} from '@/modules/core/repositories/tokens'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -86,7 +87,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -8,7 +8,6 @@ import {
|
||||
AllActivityTypes,
|
||||
StreamScopeActivity
|
||||
} from '@/modules/activitystream/helpers/types'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { ServerInfo, UserRecord } from '@/modules/core/helpers/types'
|
||||
import { sendEmail, SendEmailParams } from '@/modules/emails/services/sending'
|
||||
import { groupBy } from 'lodash'
|
||||
@@ -33,13 +32,15 @@ import { createActivitySummaryFactory } from '@/modules/activitystream/services/
|
||||
import { getActivityFactory } from '@/modules/activitystream/repositories'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const digestNotificationEmailHandlerFactory =
|
||||
(
|
||||
deps: {
|
||||
getUserNotificationPreferences: GetUserNotificationPreferences
|
||||
createActivitySummary: CreateActivitySummary
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
} & PrepareSummaryEmailDeps
|
||||
) =>
|
||||
async (
|
||||
@@ -441,7 +442,7 @@ const digestNotificationEmailHandler = digestNotificationEmailHandlerFactory({
|
||||
getActivity: getActivityFactory({ db }),
|
||||
getUser: getUserFactory({ db })
|
||||
}),
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
renderEmail
|
||||
})
|
||||
|
||||
|
||||
@@ -2,15 +2,16 @@ import { db } from '@/db/knex'
|
||||
import { GetComment } from '@/modules/comments/domain/operations'
|
||||
import { ExtendedComment } from '@/modules/comments/domain/types'
|
||||
import { getCommentFactory } from '@/modules/comments/repositories/comments'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
import { GetStream } from '@/modules/core/domain/streams/operations'
|
||||
import { StreamWithOptionalRole } from '@/modules/core/domain/streams/types'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import { Roles } from '@/modules/core/helpers/mainConstants'
|
||||
import { getCommentRoute } from '@/modules/core/helpers/routeHelper'
|
||||
import { ServerInfo } from '@/modules/core/helpers/types'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory, UserWithOptionalRole } from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
EmailTemplateParams,
|
||||
renderEmail
|
||||
@@ -168,7 +169,7 @@ const mentionedInCommentHandlerFactory =
|
||||
getUser: GetUser
|
||||
getStream: GetStream
|
||||
getComment: GetComment
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
renderEmail: typeof renderEmail
|
||||
sendEmail: typeof sendEmail
|
||||
}): NotificationHandler<MentionedInCommentMessage> =>
|
||||
@@ -225,7 +226,7 @@ const handler: NotificationHandler<MentionedInCommentMessage> = async (...args)
|
||||
getUser: getUserFactory({ db }),
|
||||
getStream: getStreamFactory({ db }),
|
||||
getComment: getCommentFactory({ db }),
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail
|
||||
})
|
||||
|
||||
@@ -17,13 +17,14 @@ import {
|
||||
EmailTemplateParams,
|
||||
renderEmail
|
||||
} from '@/modules/emails/services/emailRendering'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { db } from '@/db/knex'
|
||||
import { GetPendingAccessRequest } from '@/modules/accessrequests/domain/operations'
|
||||
import { GetStream } from '@/modules/core/domain/streams/operations'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
type ValidateMessageDeps = {
|
||||
getPendingAccessRequest: GetPendingAccessRequest
|
||||
@@ -123,7 +124,7 @@ function buildEmailTemplateParams(state: ValidatedMessageState): EmailTemplatePa
|
||||
const newStreamAccessRequestHandlerFactory =
|
||||
(
|
||||
deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
renderEmail: typeof renderEmail
|
||||
sendEmail: typeof sendEmail
|
||||
} & ValidateMessageDeps
|
||||
@@ -148,7 +149,7 @@ const newStreamAccessRequestHandlerFactory =
|
||||
|
||||
const handler: NotificationHandler<NewStreamAccessRequestMessage> = (...args) => {
|
||||
const newStreamAccessRequestHandler = newStreamAccessRequestHandlerFactory({
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail,
|
||||
getUser: getUserFactory({ db }),
|
||||
|
||||
+4
-3
@@ -1,13 +1,14 @@
|
||||
import { db } from '@/db/knex'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
import { GetStream } from '@/modules/core/domain/streams/operations'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import {
|
||||
buildAbsoluteFrontendUrlFromPath,
|
||||
getStreamRoute
|
||||
} from '@/modules/core/helpers/routeHelper'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
EmailTemplateParams,
|
||||
renderEmail
|
||||
@@ -101,7 +102,7 @@ function buildEmailTemplateParams(state: ValidatedMessageState): EmailTemplatePa
|
||||
const streamAccessRequestApprovedHandlerFactory =
|
||||
(
|
||||
deps: {
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
renderEmail: typeof renderEmail
|
||||
sendEmail: typeof sendEmail
|
||||
} & ValidateMessageDeps
|
||||
@@ -128,7 +129,7 @@ const handler: NotificationHandler<StreamAccessRequestApprovedMessage> = async (
|
||||
...args
|
||||
) => {
|
||||
const streamAccessRequestApprovedHandler = streamAccessRequestApprovedHandlerFactory({
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail,
|
||||
getUser: getUserFactory({ db }),
|
||||
|
||||
@@ -55,7 +55,11 @@ describe('Activity digest notifications @notifications', () => {
|
||||
completed: false,
|
||||
inviteOnly: true,
|
||||
version: 'testing 1 2 3',
|
||||
guestModeEnabled: false
|
||||
guestModeEnabled: false,
|
||||
configuration: {
|
||||
objectMultipartUploadSizeLimitBytes: 1000000,
|
||||
objectSizeLimitBytes: 1000000
|
||||
}
|
||||
}
|
||||
|
||||
const topic: DigestTopic = {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { db } from '@/db/knex'
|
||||
import { deleteExistingAuthTokensFactory } from '@/modules/auth/repositories'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
getUserByEmailFactory,
|
||||
getUserFactory,
|
||||
updateUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { changePasswordFactory } from '@/modules/core/services/users/management'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -29,7 +29,7 @@ export default function (app: Express) {
|
||||
getUserByEmail,
|
||||
getPendingToken: getPendingTokenFactory({ db }),
|
||||
createToken: createTokenFactory({ db }),
|
||||
getServerInfo,
|
||||
getServerInfo: getServerInfoFactory({ db }),
|
||||
renderEmail,
|
||||
sendEmail
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
import { GetUserByEmail } from '@/modules/core/domain/users/operations'
|
||||
import { getPasswordResetFinalizationRoute } from '@/modules/core/helpers/routeHelper'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
EmailTemplateParams,
|
||||
renderEmail
|
||||
@@ -17,7 +17,7 @@ type InitializeNewTokenDeps = {
|
||||
getUserByEmail: GetUserByEmail
|
||||
getPendingToken: GetPendingToken
|
||||
createToken: CreateToken
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,7 +21,6 @@ const {
|
||||
countAdminUsersFactory,
|
||||
storeUserAclFactory
|
||||
} = require('@/modules/core/repositories/users')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
deleteOldAndInsertNewVerificationFactory
|
||||
} = require('@/modules/emails/repositories')
|
||||
@@ -39,8 +38,10 @@ const {
|
||||
updateAllInviteTargetsFactory
|
||||
} = require('@/modules/serverinvites/repositories/serverInvites')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const db = knex
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -67,7 +67,6 @@ import {
|
||||
findEmailFactory
|
||||
} from '@/modules/core/repositories/userEmails'
|
||||
import { validateAndCreateUserEmailFactory } from '@/modules/core/services/userEmails'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
@@ -83,6 +82,7 @@ import {
|
||||
validateStreamAccessFactory
|
||||
} from '@/modules/core/services/streams/access'
|
||||
import { getUserFactory, getUsersFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const saveActivity = saveActivityFactory({ db })
|
||||
const validateStreamAccess = validateStreamAccessFactory({ authorizeResolver })
|
||||
@@ -102,6 +102,7 @@ const addOrUpdateStreamCollaborator = addOrUpdateStreamCollaboratorFactory({
|
||||
publish
|
||||
})
|
||||
})
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail: findEmailFactory({ db }),
|
||||
@@ -130,7 +131,8 @@ const buildCreateAndSendServerOrProjectInvite = () =>
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
|
||||
export = {
|
||||
@@ -383,7 +385,8 @@ export = {
|
||||
findUserByTarget: findUserByTargetFactory({ db }),
|
||||
findInvite: findInviteFactory({ db }),
|
||||
markInviteUpdated: markInviteUpdatedfactory({ db }),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
|
||||
await resendInviteEmail({ inviteId })
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import crs from 'crypto-random-string'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import emailsModule from '@/modules/emails'
|
||||
import { InviteCreateValidationError } from '@/modules/serverinvites/errors'
|
||||
import sanitizeHtml from 'sanitize-html'
|
||||
@@ -32,6 +31,7 @@ import {
|
||||
import { ServerInfo } from '@/modules/core/helpers/types'
|
||||
import { EventBusEmit } from '@/modules/shared/services/eventBus'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const getFinalTargetData = (
|
||||
target: string,
|
||||
@@ -90,7 +90,8 @@ export const createAndSendInviteFactory =
|
||||
collectAndValidateResourceTargets,
|
||||
buildInviteEmailContents,
|
||||
emitEvent,
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}: {
|
||||
findUserByTarget: FindUserByTarget
|
||||
insertInviteAndDeleteOld: InsertInviteAndDeleteOld
|
||||
@@ -98,6 +99,7 @@ export const createAndSendInviteFactory =
|
||||
buildInviteEmailContents: BuildInviteEmailContents
|
||||
emitEvent: EventBusEmit
|
||||
getUser: GetUser
|
||||
getServerInfo: GetServerInfo
|
||||
}): CreateAndSendInvite =>
|
||||
async (params, inviterResourceAccessLimits?) => {
|
||||
const sendInviteEmail = sendInviteEmailFactory({ buildInviteEmailContents })
|
||||
@@ -194,13 +196,15 @@ export const resendInviteEmailFactory =
|
||||
findUserByTarget,
|
||||
findInvite,
|
||||
markInviteUpdated,
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}: {
|
||||
buildInviteEmailContents: BuildInviteEmailContents
|
||||
findUserByTarget: FindUserByTarget
|
||||
findInvite: FindInvite
|
||||
markInviteUpdated: MarkInviteUpdated
|
||||
getUser: GetUser
|
||||
getServerInfo: GetServerInfo
|
||||
}): ResendInviteEmail =>
|
||||
async (params) => {
|
||||
const sendInviteEmail = sendInviteEmailFactory({ buildInviteEmailContents })
|
||||
|
||||
@@ -46,8 +46,8 @@ import {
|
||||
ValidateAndCreateUserEmail
|
||||
} from '@/modules/core/domain/userEmails/operations'
|
||||
import { ServerInfo } from '@/modules/core/helpers/types'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
/**
|
||||
* Convert the initial validation function to a finalization validation function so same logic can be reused
|
||||
@@ -195,7 +195,7 @@ type FinalizeResourceInviteFactoryDeps = {
|
||||
findEmail: FindEmail
|
||||
validateAndCreateUserEmail: ValidateAndCreateUserEmail
|
||||
collectAndValidateResourceTargets: CollectAndValidateResourceTargets
|
||||
getServerInfo: typeof getServerInfo
|
||||
getServerInfo: GetServerInfo
|
||||
getUser: GetUser
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,6 @@ import {
|
||||
findEmailFactory
|
||||
} from '@/modules/core/repositories/userEmails'
|
||||
import { requestNewEmailVerificationFactory } from '@/modules/emails/services/verification/request'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -88,7 +87,9 @@ import {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storeTokenScopesFactory
|
||||
} from '@/modules/core/repositories/tokens'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
@@ -135,7 +136,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser: getUserFactory({ db })
|
||||
getUser: getUserFactory({ db }),
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { getServerInfo as getServerInfoFn } from '@/modules/core/services/generic'
|
||||
import { ForbiddenError } from '@/modules/shared/errors'
|
||||
import {
|
||||
CountWebhooksByStreamId,
|
||||
@@ -17,6 +16,7 @@ import { ServerInfo } from '@/modules/core/helpers/types'
|
||||
import { GetStream } from '@/modules/core/domain/streams/operations'
|
||||
import { UserWithOptionalRole } from '@/modules/core/domain/users/types'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
import { GetServerInfo } from '@/modules/core/domain/server/operations'
|
||||
|
||||
const MAX_STREAM_WEBHOOKS = 100
|
||||
|
||||
@@ -105,7 +105,7 @@ export const dispatchStreamEventFactory =
|
||||
getUser
|
||||
}: {
|
||||
db: Knex // TODO: this should not be injected here
|
||||
getServerInfo: typeof getServerInfoFn
|
||||
getServerInfo: GetServerInfo
|
||||
getStream: GetStream
|
||||
createWebhookEvent: CreateWebhookEvent
|
||||
getUser: GetUser
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
createRandomPassword
|
||||
} from '@/modules/core/helpers/testHelpers'
|
||||
import { createBranchFactory } from '@/modules/core/repositories/branches'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
createStreamFactory,
|
||||
getStreamFactory
|
||||
@@ -24,7 +25,6 @@ import {
|
||||
storeUserAclFactory,
|
||||
storeUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import {
|
||||
createStreamReturnRecordFactory,
|
||||
legacyCreateStreamFactory
|
||||
@@ -59,6 +59,7 @@ const WEBHOOKS_EVENTS_TABLE = 'webhooks_events'
|
||||
const WebhooksConfig = () => knex(WEBHOOKS_CONFIG_TABLE)
|
||||
const randomId = () => crs({ length: 10 })
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -83,7 +84,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -27,7 +27,6 @@ const {
|
||||
dispatchStreamEventFactory
|
||||
} = require('@/modules/webhooks/services/webhooks')
|
||||
const { Users, Streams } = require('@/modules/core/dbSchema')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
getStreamFactory,
|
||||
createStreamFactory,
|
||||
@@ -98,7 +97,9 @@ const {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storePersonalApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -127,7 +128,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -129,7 +129,6 @@ import {
|
||||
deleteWorkspaceDomainFactory,
|
||||
isUserWorkspaceDomainPolicyCompliantFactory
|
||||
} from '@/modules/workspaces/services/domains'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { deleteOldAndInsertNewVerificationFactory } from '@/modules/emails/repositories'
|
||||
import { renderEmail } from '@/modules/emails/services/emailRendering'
|
||||
import { sendEmail } from '@/modules/emails/services/sending'
|
||||
@@ -149,7 +148,9 @@ import {
|
||||
import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { updateStreamRoleAndNotifyFactory } from '@/modules/core/services/streams/management'
|
||||
import { getUserFactory, getUsersFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
@@ -183,7 +184,8 @@ const buildCreateAndSendServerOrProjectInvite = () =>
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
|
||||
const buildCreateAndSendWorkspaceInvite = () =>
|
||||
@@ -200,7 +202,8 @@ const buildCreateAndSendWorkspaceInvite = () =>
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
const deleteStream = deleteStreamFactory({ db })
|
||||
const saveActivity = saveActivityFactory({ db })
|
||||
@@ -598,7 +601,8 @@ export = FF_WORKSPACES_MODULE_ENABLED
|
||||
filterQuery: workspaceInviteValidityFilter
|
||||
}),
|
||||
markInviteUpdated: markInviteUpdatedfactory({ db }),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
|
||||
await resendInviteEmail({
|
||||
|
||||
@@ -46,6 +46,7 @@ import {
|
||||
} from '@speckle/shared'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
export type BasicTestWorkspace = {
|
||||
/**
|
||||
@@ -208,6 +209,7 @@ export const createWorkspaceInviteDirectly = async (
|
||||
args: CreateWorkspaceInviteMutationVariables,
|
||||
inviterId: string
|
||||
) => {
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const createAndSendInvite = createAndSendInviteFactory({
|
||||
@@ -228,7 +230,8 @@ export const createWorkspaceInviteDirectly = async (
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
|
||||
const createInvite = createWorkspaceInviteFactory({
|
||||
|
||||
@@ -2,6 +2,7 @@ require('../bootstrap')
|
||||
const { db } = require('@/db/knex')
|
||||
const { logger } = require('@/logging/logging')
|
||||
const { UsersEmitter } = require('@/modules/core/events/usersEmitter')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
const {
|
||||
findEmailFactory,
|
||||
createUserEmailFactory,
|
||||
@@ -13,7 +14,6 @@ const {
|
||||
countAdminUsersFactory,
|
||||
storeUserAclFactory
|
||||
} = require('@/modules/core/repositories/users')
|
||||
const { getServerInfo } = require('@/modules/core/services/generic')
|
||||
const {
|
||||
validateAndCreateUserEmailFactory
|
||||
} = require('@/modules/core/services/userEmails')
|
||||
@@ -35,6 +35,7 @@ const {
|
||||
} = require('@/modules/serverinvites/services/processing')
|
||||
const axios = require('axios').default
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -51,7 +51,9 @@ const {
|
||||
storeTokenResourceAccessDefinitionsFactory,
|
||||
storePersonalApiTokenFactory
|
||||
} = require('@/modules/core/repositories/tokens')
|
||||
const { getServerInfoFactory } = require('@/modules/core/repositories/server')
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -76,7 +78,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
@@ -2,6 +2,7 @@ import { db } from '@/db/knex'
|
||||
import { UsersEmitter } from '@/modules/core/events/usersEmitter'
|
||||
import { AllScopes, ServerRoles } from '@/modules/core/helpers/mainConstants'
|
||||
import { UserRecord } from '@/modules/core/helpers/types'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
storeApiTokenFactory,
|
||||
storePersonalApiTokenFactory,
|
||||
@@ -19,7 +20,6 @@ import {
|
||||
storeUserAclFactory,
|
||||
storeUserFactory
|
||||
} from '@/modules/core/repositories/users'
|
||||
import { getServerInfo } from '@/modules/core/services/generic'
|
||||
import { createPersonalAccessTokenFactory } from '@/modules/core/services/tokens'
|
||||
import { validateAndCreateUserEmailFactory } from '@/modules/core/services/userEmails'
|
||||
import { createUserFactory } from '@/modules/core/services/users/management'
|
||||
@@ -35,6 +35,7 @@ import { finalizeInvitedServerRegistrationFactory } from '@/modules/serverinvite
|
||||
import { ServerScope } from '@speckle/shared'
|
||||
import { kebabCase, omit } from 'lodash'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const findEmail = findEmailFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail,
|
||||
|
||||
@@ -27,7 +27,9 @@ import {
|
||||
import { EmailSendingServiceMock } from '@/test/mocks/global'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const createAndSendInvite = createAndSendInviteFactory({
|
||||
@@ -44,7 +46,8 @@ const createAndSendInvite = createAndSendInviteFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
})
|
||||
|
||||
export const createServerInviteDirectly = async (
|
||||
|
||||
@@ -8,6 +8,7 @@ import { StreamAcl } from '@/modules/core/dbSchema'
|
||||
import { ProjectsEmitter } from '@/modules/core/events/projectsEmitter'
|
||||
import { StreamAclRecord, StreamRecord } from '@/modules/core/helpers/types'
|
||||
import { createBranchFactory } from '@/modules/core/repositories/branches'
|
||||
import { getServerInfoFactory } from '@/modules/core/repositories/server'
|
||||
import {
|
||||
createStreamFactory,
|
||||
getStreamFactory,
|
||||
@@ -39,6 +40,7 @@ import { BasicTestUser } from '@/test/authHelper'
|
||||
import { ensureError } from '@speckle/shared'
|
||||
import { omit } from 'lodash'
|
||||
|
||||
const getServerInfo = getServerInfoFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const addStreamCreatedActivity = addStreamCreatedActivityFactory({
|
||||
@@ -63,7 +65,8 @@ const createStream = legacyCreateStreamFactory({
|
||||
eventName,
|
||||
payload
|
||||
}),
|
||||
getUser
|
||||
getUser,
|
||||
getServerInfo
|
||||
}),
|
||||
getUsers
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user