chore(server): core IoC #51 - getUser(s)Factory
This commit is contained in:
@@ -15,7 +15,6 @@ import {
|
||||
getUserStreamsPageFactory,
|
||||
getUserStreamsCountFactory
|
||||
} from '@/modules/core/repositories/streams'
|
||||
import { getUser, getUsers } from '@/modules/core/repositories/users'
|
||||
import { InviteCreateValidationError } from '@/modules/serverinvites/errors'
|
||||
import {
|
||||
deleteAllResourceInvitesFactory,
|
||||
@@ -149,7 +148,10 @@ import {
|
||||
} from '@/modules/activitystream/services/streamActivity'
|
||||
import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { updateStreamRoleAndNotifyFactory } from '@/modules/core/services/streams/management'
|
||||
import { getUserFactory, getUsersFactory } from '@/modules/core/repositories/users'
|
||||
|
||||
const getUser = getUserFactory({ db })
|
||||
const getUsers = getUsersFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const requestNewEmailVerification = requestNewEmailVerificationFactory({
|
||||
findEmail: findEmailFactory({ db }),
|
||||
@@ -170,7 +172,7 @@ const buildCollectAndValidateResourceTargets = () =>
|
||||
|
||||
const buildCreateAndSendServerOrProjectInvite = () =>
|
||||
createAndSendInviteFactory({
|
||||
findUserByTarget: findUserByTargetFactory(),
|
||||
findUserByTarget: findUserByTargetFactory({ db }),
|
||||
insertInviteAndDeleteOld: insertInviteAndDeleteOldFactory({ db }),
|
||||
collectAndValidateResourceTargets: buildCollectAndValidateResourceTargets(),
|
||||
buildInviteEmailContents: buildCoreInviteEmailContentsFactory({
|
||||
@@ -180,12 +182,13 @@ const buildCreateAndSendServerOrProjectInvite = () =>
|
||||
getEventBus().emit({
|
||||
eventName,
|
||||
payload
|
||||
})
|
||||
}),
|
||||
getUser
|
||||
})
|
||||
|
||||
const buildCreateAndSendWorkspaceInvite = () =>
|
||||
createAndSendInviteFactory({
|
||||
findUserByTarget: findUserByTargetFactory(),
|
||||
findUserByTarget: findUserByTargetFactory({ db }),
|
||||
insertInviteAndDeleteOld: insertInviteAndDeleteOldFactory({ db }),
|
||||
collectAndValidateResourceTargets: buildCollectAndValidateResourceTargets(),
|
||||
buildInviteEmailContents: buildWorkspaceInviteEmailContentsFactory({
|
||||
@@ -196,7 +199,8 @@ const buildCreateAndSendWorkspaceInvite = () =>
|
||||
getEventBus().emit({
|
||||
eventName,
|
||||
payload
|
||||
})
|
||||
}),
|
||||
getUser
|
||||
})
|
||||
const deleteStream = deleteStreamFactory({ db })
|
||||
const saveActivity = saveActivityFactory({ db })
|
||||
@@ -588,12 +592,13 @@ export = FF_WORKSPACES_MODULE_ENABLED
|
||||
getStream,
|
||||
getWorkspace: getWorkspaceFactory({ db })
|
||||
}),
|
||||
findUserByTarget: findUserByTargetFactory(),
|
||||
findUserByTarget: findUserByTargetFactory({ db }),
|
||||
findInvite: findInviteFactory({
|
||||
db,
|
||||
filterQuery: workspaceInviteValidityFilter
|
||||
}),
|
||||
markInviteUpdated: markInviteUpdatedfactory({ db })
|
||||
markInviteUpdated: markInviteUpdatedfactory({ db }),
|
||||
getUser
|
||||
})
|
||||
|
||||
await resendInviteEmail({
|
||||
|
||||
@@ -9,7 +9,6 @@ import { getWorkspaceRoute } from '@/modules/core/helpers/routeHelper'
|
||||
import { isResourceAllowed } from '@/modules/core/helpers/token'
|
||||
import { UserRecord } from '@/modules/core/helpers/types'
|
||||
import { removePrivateFields } from '@/modules/core/helpers/userHelper'
|
||||
import { getUser } from '@/modules/core/repositories/users'
|
||||
import {
|
||||
ProjectInviteResourceType,
|
||||
ServerInviteResourceType
|
||||
@@ -72,6 +71,7 @@ import {
|
||||
userEmailsCompliantWithWorkspaceDomains
|
||||
} from '@/modules/workspaces/domain/logic'
|
||||
import { GetStream } from '@/modules/core/domain/streams/operations'
|
||||
import { GetUser } from '@/modules/core/domain/users/operations'
|
||||
|
||||
const isWorkspaceResourceTarget = (
|
||||
target: InviteResourceTarget
|
||||
@@ -381,7 +381,7 @@ function buildPendingWorkspaceCollaboratorModel(
|
||||
export const getUserPendingWorkspaceInviteFactory =
|
||||
(deps: {
|
||||
findInvite: FindInvite
|
||||
getUser: typeof getUser
|
||||
getUser: GetUser
|
||||
getWorkspaceBySlug: GetWorkspaceBySlug
|
||||
}) =>
|
||||
async (params: {
|
||||
@@ -425,10 +425,7 @@ export const getUserPendingWorkspaceInviteFactory =
|
||||
}
|
||||
|
||||
export const getUserPendingWorkspaceInvitesFactory =
|
||||
(deps: {
|
||||
getUserResourceInvites: QueryAllUserResourceInvites
|
||||
getUser: typeof getUser
|
||||
}) =>
|
||||
(deps: { getUserResourceInvites: QueryAllUserResourceInvites; getUser: GetUser }) =>
|
||||
async (userId: string): Promise<PendingWorkspaceCollaboratorGraphQLReturn[]> => {
|
||||
if (!userId) return []
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ import {
|
||||
WorkspaceRoles
|
||||
} from '@speckle/shared'
|
||||
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
|
||||
export type BasicTestWorkspace = {
|
||||
/**
|
||||
@@ -208,8 +209,9 @@ export const createWorkspaceInviteDirectly = async (
|
||||
inviterId: string
|
||||
) => {
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getUser = getUserFactory({ db })
|
||||
const createAndSendInvite = createAndSendInviteFactory({
|
||||
findUserByTarget: findUserByTargetFactory(),
|
||||
findUserByTarget: findUserByTargetFactory({ db }),
|
||||
insertInviteAndDeleteOld: insertInviteAndDeleteOldFactory({ db }),
|
||||
collectAndValidateResourceTargets: collectAndValidateWorkspaceTargetsFactory({
|
||||
getStream,
|
||||
@@ -225,7 +227,8 @@ export const createWorkspaceInviteDirectly = async (
|
||||
getEventBus().emit({
|
||||
eventName,
|
||||
payload
|
||||
})
|
||||
}),
|
||||
getUser
|
||||
})
|
||||
|
||||
const createInvite = createWorkspaceInviteFactory({
|
||||
|
||||
@@ -87,12 +87,12 @@ import {
|
||||
validateStreamAccessFactory
|
||||
} from '@/modules/core/services/streams/access'
|
||||
import { authorizeResolver } from '@/modules/shared'
|
||||
import { getUser } from '@/modules/core/repositories/users'
|
||||
import {
|
||||
addStreamInviteAcceptedActivityFactory,
|
||||
addStreamPermissionsAddedActivityFactory
|
||||
} from '@/modules/activitystream/services/streamActivity'
|
||||
import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { getUserFactory } from '@/modules/core/repositories/users'
|
||||
|
||||
enum InviteByTarget {
|
||||
Email = 'email',
|
||||
@@ -105,6 +105,7 @@ const getStream = getStreamFactory({ db })
|
||||
const saveActivity = saveActivityFactory({ db })
|
||||
const validateStreamAccess = validateStreamAccessFactory({ authorizeResolver })
|
||||
|
||||
const getUser = getUserFactory({ db })
|
||||
const addOrUpdateStreamCollaborator = addOrUpdateStreamCollaboratorFactory({
|
||||
validateStreamAccess,
|
||||
getUser,
|
||||
|
||||
Reference in New Issue
Block a user