a6287fc06d
* init db migration * WIP store view * create service call * WIP insertion * insert sort of works * moving code arounmd * creation tests * avoid duplicate entries * fixes from main * basic group retrieval works * group filtering works * WIP view listing * filter by acl * fixes + WIP single group retrieval * wip pivot * more pivot query fixes * tests fixed after pivot * views list tests * fixing test command * business plan only checks * more tests for coverage * .dts import fix * cli fix * anutha one * auth policy tests for business plan access * WIP saved views panel base * BE listing adjustments * WIP group rendering * group render done * WIP post create cache updates * listing fine? * my vs theirs * auto open * minor fixes * click load omg * nicely loading views * type fix * less spammy loading * another type fix: * more lint fix * test fix * codecov disable * moar coverage * fix sidebar flashin * more test coverage * more test cvoverage * minor adfjustments * adj * saved view wipe fixes * CSR viewer * more improvements * extra feature flag checks * lint fix * feature flags fix * more test fixes
93 lines
3.2 KiB
TypeScript
93 lines
3.2 KiB
TypeScript
import { getBlobsFactory } from '@/modules/blobstorage/repositories'
|
|
import type { CommentRecord } from '@/modules/comments/helpers/types'
|
|
import {
|
|
insertCommentLinksFactory,
|
|
insertCommentsFactory,
|
|
markCommentViewedFactory
|
|
} from '@/modules/comments/repositories/comments'
|
|
import { validateInputAttachmentsFactory } from '@/modules/comments/services/commentTextService'
|
|
import { createCommentThreadAndNotifyFactory } from '@/modules/comments/services/management'
|
|
import {
|
|
getBranchesByIdsFactory,
|
|
getBranchLatestCommitsFactory,
|
|
getStreamBranchesByNameFactory
|
|
} from '@/modules/core/repositories/branches'
|
|
import {
|
|
getAllBranchCommitsFactory,
|
|
getSpecificBranchCommitsFactory
|
|
} from '@/modules/core/repositories/commits'
|
|
import { getStreamObjectsFactory } from '@/modules/core/repositories/objects'
|
|
import { getProjectDbClient } from '@/modules/multiregion/utils/dbSelector'
|
|
import {
|
|
getViewerResourceGroupsFactory,
|
|
getViewerResourceItemsUngroupedFactory
|
|
} from '@/modules/viewer/services/viewerResources'
|
|
import { resourceBuilder } from '@speckle/shared/viewer/route'
|
|
import cryptoRandomString from 'crypto-random-string'
|
|
|
|
export const createTestComment = async (
|
|
params: {
|
|
userId: string
|
|
projectId: string
|
|
createdAt?: Date
|
|
} & ({ objectId: string } | { modelId: string; versionId?: string })
|
|
): Promise<CommentRecord> => {
|
|
const { userId, projectId } = params
|
|
|
|
const projectDb = await getProjectDbClient({ projectId })
|
|
|
|
const createComment = createCommentThreadAndNotifyFactory({
|
|
getViewerResourceItemsUngrouped: getViewerResourceItemsUngroupedFactory({
|
|
getViewerResourceGroups: getViewerResourceGroupsFactory({
|
|
getStreamObjects: getStreamObjectsFactory({ db: projectDb }),
|
|
getBranchLatestCommits: getBranchLatestCommitsFactory({ db: projectDb }),
|
|
getStreamBranchesByName: getStreamBranchesByNameFactory({ db: projectDb }),
|
|
getSpecificBranchCommits: getSpecificBranchCommitsFactory({ db: projectDb }),
|
|
getAllBranchCommits: getAllBranchCommitsFactory({ db: projectDb }),
|
|
getBranchesByIds: getBranchesByIdsFactory({ db: projectDb })
|
|
})
|
|
}),
|
|
validateInputAttachments: validateInputAttachmentsFactory({
|
|
getBlobs: getBlobsFactory({ db: projectDb })
|
|
}),
|
|
insertComments: insertCommentsFactory({ db: projectDb }),
|
|
insertCommentLinks: insertCommentLinksFactory({ db: projectDb }),
|
|
markCommentViewed: markCommentViewedFactory({ db: projectDb }),
|
|
emitEvent: async () => {}
|
|
})
|
|
|
|
const resourceIdStringBuilder = resourceBuilder()
|
|
if ('objectId' in params) {
|
|
resourceIdStringBuilder.addObject(params.objectId)
|
|
} else {
|
|
resourceIdStringBuilder.addModel(params.modelId, params.versionId)
|
|
}
|
|
|
|
return await createComment(
|
|
{
|
|
content: {
|
|
doc: {
|
|
type: 'doc',
|
|
content: [
|
|
{
|
|
type: 'paragraph',
|
|
content: [
|
|
{
|
|
type: 'text',
|
|
text: cryptoRandomString({ length: 9 })
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
projectId,
|
|
resourceIdString: resourceIdStringBuilder.toString()
|
|
},
|
|
userId,
|
|
{
|
|
createdAt: params.createdAt
|
|
}
|
|
)
|
|
}
|