chore(server): core IoC #48 - markCommitStreamUpdatedFactory
This commit is contained in:
@@ -4,7 +4,7 @@ import { cliLogger } from '@/logging/logging'
|
||||
import {
|
||||
getStreamCollaboratorsFactory,
|
||||
getStreamFactory,
|
||||
markCommitStreamUpdated
|
||||
markCommitStreamUpdatedFactory
|
||||
} from '@/modules/core/repositories/streams'
|
||||
import {
|
||||
getBranchByIdFactory,
|
||||
@@ -94,6 +94,7 @@ const command: CommandModule<
|
||||
}
|
||||
},
|
||||
handler: async (argv) => {
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
const getStreamObjects = getStreamObjectsFactory({ db })
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
createStreamFactory,
|
||||
getStreamCollaboratorsFactory,
|
||||
getStreamFactory,
|
||||
markCommitStreamUpdated
|
||||
markCommitStreamUpdatedFactory
|
||||
} from '@/modules/core/repositories/streams'
|
||||
import {
|
||||
createBranchFactory,
|
||||
@@ -106,6 +106,7 @@ const command: CommandModule<
|
||||
handler: async (argv) => {
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
|
||||
const getStreamObjects = getStreamObjectsFactory({ db })
|
||||
const markCommentViewed = markCommentViewedFactory({ db })
|
||||
|
||||
@@ -48,11 +48,11 @@ const {
|
||||
createBranchFactory
|
||||
} = require('@/modules/core/repositories/branches')
|
||||
const {
|
||||
markCommitStreamUpdated,
|
||||
getStreamFactory,
|
||||
createStreamFactory,
|
||||
updateStreamFactory,
|
||||
grantStreamPermissionsFactory
|
||||
grantStreamPermissionsFactory,
|
||||
markCommitStreamUpdatedFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const { VersionsEmitter } = require('@/modules/core/events/versionsEmitter')
|
||||
const { getObjectFactory } = require('@/modules/core/repositories/objects')
|
||||
@@ -89,6 +89,7 @@ const {
|
||||
addCommitCreatedActivityFactory
|
||||
} = require('@/modules/activitystream/services/commitActivity')
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const streamResourceCheck = streamResourceCheckFactory({
|
||||
checkStreamResourceAccess: checkStreamResourceAccessFactory({ db })
|
||||
})
|
||||
|
||||
@@ -55,9 +55,9 @@ const { db } = require('@/db/knex')
|
||||
const { getBlobsFactory } = require('@/modules/blobstorage/repositories')
|
||||
const { CommentsEmitter } = require('@/modules/comments/events/emitter')
|
||||
const {
|
||||
markCommitStreamUpdated,
|
||||
getStreamFactory,
|
||||
createStreamFactory
|
||||
createStreamFactory,
|
||||
markCommitStreamUpdatedFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const {
|
||||
createCommitByBranchIdFactory,
|
||||
@@ -154,6 +154,7 @@ const getComments = getCommentsLegacyFactory({ db })
|
||||
const getResourceCommentCount = getResourceCommentCountFactory({ db })
|
||||
const getStreamCommentCount = getStreamCommentCountFactory({ db })
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
const createCommitByBranchId = createCommitByBranchIdFactory({
|
||||
createCommit: createCommitFactory({ db }),
|
||||
|
||||
@@ -184,6 +184,8 @@ export type GetUserStreamsCount = (
|
||||
|
||||
export type MarkBranchStreamUpdated = (branchId: string) => Promise<boolean>
|
||||
|
||||
export type MarkCommitStreamUpdated = (commitId: string) => Promise<boolean>
|
||||
|
||||
export type GetBatchUserFavoriteData = (params: {
|
||||
userId: string
|
||||
streamIds: string[]
|
||||
|
||||
@@ -54,10 +54,10 @@ const {
|
||||
} = require('@/modules/core/repositories/commits')
|
||||
const { db } = require('@/db/knex')
|
||||
const {
|
||||
markCommitStreamUpdated,
|
||||
getStreamFactory,
|
||||
getStreamsFactory,
|
||||
getCommitStreamFactory
|
||||
getCommitStreamFactory,
|
||||
markCommitStreamUpdatedFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const {
|
||||
markCommitBranchUpdatedFactory,
|
||||
@@ -83,6 +83,7 @@ const COMMIT_CREATED = CommitPubsubEvents.CommitCreated
|
||||
const COMMIT_UPDATED = CommitPubsubEvents.CommitUpdated
|
||||
const COMMIT_DELETED = CommitPubsubEvents.CommitDeleted
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getCommitStream = getCommitStreamFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getStreams = getStreamsFactory({ db })
|
||||
|
||||
@@ -44,7 +44,7 @@ import {
|
||||
getCommitStreamFactory,
|
||||
getStreamFactory,
|
||||
getStreamsFactory,
|
||||
markCommitStreamUpdated
|
||||
markCommitStreamUpdatedFactory
|
||||
} from '@/modules/core/repositories/streams'
|
||||
import { VersionsEmitter } from '@/modules/core/events/versionsEmitter'
|
||||
import {
|
||||
@@ -55,6 +55,7 @@ import {
|
||||
import { getObjectFactory } from '@/modules/core/repositories/objects'
|
||||
import { saveActivityFactory } from '@/modules/activitystream/repositories'
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getCommitStream = getCommitStreamFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getStreams = getStreamsFactory({ db })
|
||||
|
||||
@@ -96,7 +96,8 @@ import {
|
||||
UserStreamsQueryCountParams,
|
||||
GetUserStreamsPage,
|
||||
GetUserStreamsCount,
|
||||
MarkBranchStreamUpdated
|
||||
MarkBranchStreamUpdated,
|
||||
MarkCommitStreamUpdated
|
||||
} from '@/modules/core/domain/streams/operations'
|
||||
export type { StreamWithOptionalRole, StreamWithCommitId }
|
||||
|
||||
@@ -1003,17 +1004,20 @@ export const markBranchStreamUpdatedFactory =
|
||||
return updates > 0
|
||||
}
|
||||
|
||||
export async function markCommitStreamUpdated(commitId: string) {
|
||||
const q = Streams.knex()
|
||||
.whereIn(Streams.col.id, (w) => {
|
||||
w.select(StreamCommits.col.streamId)
|
||||
.from(StreamCommits.name)
|
||||
.where(StreamCommits.col.commitId, commitId)
|
||||
})
|
||||
.update(Streams.withoutTablePrefix.col.updatedAt, new Date())
|
||||
const updates = await q
|
||||
return updates > 0
|
||||
}
|
||||
export const markCommitStreamUpdatedFactory =
|
||||
(deps: { db: Knex }): MarkCommitStreamUpdated =>
|
||||
async (commitId: string) => {
|
||||
const q = tables
|
||||
.streams(deps.db)
|
||||
.whereIn(Streams.col.id, (w) => {
|
||||
w.select(StreamCommits.col.streamId)
|
||||
.from(StreamCommits.name)
|
||||
.where(StreamCommits.col.commitId, commitId)
|
||||
})
|
||||
.update(Streams.withoutTablePrefix.col.updatedAt, new Date())
|
||||
const updates = await q
|
||||
return updates > 0
|
||||
}
|
||||
|
||||
export const upsertProjectRoleFactory =
|
||||
({ db }: { db: Knex }): UpsertProjectRole =>
|
||||
|
||||
@@ -27,7 +27,11 @@ import {
|
||||
UpdateCommitAndNotify
|
||||
} from '@/modules/core/domain/commits/operations'
|
||||
import { GetObject } from '@/modules/core/domain/objects/operations'
|
||||
import { GetCommitStream, GetStream } from '@/modules/core/domain/streams/operations'
|
||||
import {
|
||||
GetCommitStream,
|
||||
GetStream,
|
||||
MarkCommitStreamUpdated
|
||||
} from '@/modules/core/domain/streams/operations'
|
||||
import {
|
||||
CommitCreateError,
|
||||
CommitDeleteError,
|
||||
@@ -46,7 +50,6 @@ import {
|
||||
} from '@/modules/core/graph/generated/graphql'
|
||||
import { CommitRecord } from '@/modules/core/helpers/types'
|
||||
import { getCommitFactory } from '@/modules/core/repositories/commits'
|
||||
import { markCommitStreamUpdated } from '@/modules/core/repositories/streams'
|
||||
import { ensureError, MaybeNullOrUndefined, Nullable, Roles } from '@speckle/shared'
|
||||
import { has } from 'lodash'
|
||||
|
||||
@@ -88,7 +91,7 @@ export const createCommitByBranchIdFactory =
|
||||
getBranchById: GetBranchById
|
||||
insertStreamCommits: InsertStreamCommits
|
||||
insertBranchCommits: InsertBranchCommits
|
||||
markCommitStreamUpdated: typeof markCommitStreamUpdated
|
||||
markCommitStreamUpdated: MarkCommitStreamUpdated
|
||||
markCommitBranchUpdated: MarkCommitBranchUpdated
|
||||
versionsEventEmitter: VersionsEventEmitter
|
||||
addCommitCreatedActivity: AddCommitCreatedActivity
|
||||
@@ -259,7 +262,7 @@ export const updateCommitAndNotifyFactory =
|
||||
switchCommitBranch: SwitchCommitBranch
|
||||
updateCommit: UpdateCommit
|
||||
addCommitUpdatedActivity: AddCommitUpdatedActivity
|
||||
markCommitStreamUpdated: typeof markCommitStreamUpdated
|
||||
markCommitStreamUpdated: MarkCommitStreamUpdated
|
||||
markCommitBranchUpdated: MarkCommitBranchUpdated
|
||||
}): UpdateCommitAndNotify =>
|
||||
async (params: CommitUpdateInput | UpdateVersionInput, userId: string) => {
|
||||
@@ -358,7 +361,7 @@ export const updateCommitAndNotifyFactory =
|
||||
export const deleteCommitAndNotifyFactory =
|
||||
(deps: {
|
||||
getCommit: GetCommit
|
||||
markCommitStreamUpdated: typeof markCommitStreamUpdated
|
||||
markCommitStreamUpdated: MarkCommitStreamUpdated
|
||||
markCommitBranchUpdated: MarkCommitBranchUpdated
|
||||
deleteCommit: DeleteCommit
|
||||
addCommitDeletedActivity: typeof addCommitDeletedActivity
|
||||
|
||||
@@ -29,10 +29,10 @@ const {
|
||||
addBranchDeletedActivity
|
||||
} = require('@/modules/activitystream/services/branchActivity')
|
||||
const {
|
||||
markCommitStreamUpdated,
|
||||
getStreamFactory,
|
||||
createStreamFactory,
|
||||
markBranchStreamUpdatedFactory
|
||||
markBranchStreamUpdatedFactory,
|
||||
markCommitStreamUpdatedFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const { ModelsEmitter } = require('@/modules/core/events/modelsEmitter')
|
||||
const {
|
||||
@@ -81,6 +81,7 @@ const {
|
||||
const db = knex
|
||||
const Commits = () => knex('commits')
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const markBranchStreamUpdated = markBranchStreamUpdatedFactory({ db })
|
||||
const getStream = getStreamFactory({ db: knex })
|
||||
const getBranchById = getBranchByIdFactory({ db: knex })
|
||||
|
||||
@@ -44,10 +44,10 @@ const {
|
||||
updateCommitAndNotifyFactory
|
||||
} = require('@/modules/core/services/commit/management')
|
||||
const {
|
||||
markCommitStreamUpdated,
|
||||
getStreamFactory,
|
||||
getCommitStreamFactory,
|
||||
createStreamFactory
|
||||
createStreamFactory,
|
||||
markCommitStreamUpdatedFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const {
|
||||
addCommitDeletedActivity,
|
||||
@@ -84,6 +84,7 @@ const {
|
||||
const { saveActivityFactory } = require('@/modules/activitystream/repositories')
|
||||
const { publish } = require('@/modules/shared/utils/subscriptions')
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getCommitStream = getCommitStreamFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const createBranch = createBranchFactory({ db })
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
grantStreamPermissionsFactory,
|
||||
legacyGetStreamUsersFactory,
|
||||
markBranchStreamUpdatedFactory,
|
||||
markCommitStreamUpdated,
|
||||
markCommitStreamUpdatedFactory,
|
||||
revokeStreamPermissionsFactory,
|
||||
updateStreamFactory
|
||||
} from '@/modules/core/repositories/streams'
|
||||
@@ -96,6 +96,7 @@ import {
|
||||
} from '@/modules/core/services/streams/access'
|
||||
import { authorizeResolver } from '@/modules/shared'
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const markBranchStreamUpdated = markBranchStreamUpdatedFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getStreamBranchByName = getStreamBranchByNameFactory({ db })
|
||||
|
||||
@@ -48,10 +48,10 @@ const {
|
||||
createCommitByBranchNameFactory
|
||||
} = require('@/modules/core/services/commit/management')
|
||||
const {
|
||||
markCommitStreamUpdated,
|
||||
getStreamFactory,
|
||||
createStreamFactory,
|
||||
grantStreamPermissionsFactory
|
||||
grantStreamPermissionsFactory,
|
||||
markCommitStreamUpdatedFactory
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const { VersionsEmitter } = require('@/modules/core/events/versionsEmitter')
|
||||
const { getObjectFactory } = require('@/modules/core/repositories/objects')
|
||||
@@ -87,6 +87,7 @@ const {
|
||||
addCommitCreatedActivityFactory
|
||||
} = require('@/modules/activitystream/services/commitActivity')
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const createBranch = createBranchFactory({ db })
|
||||
const getCommit = getCommitFactory({ db })
|
||||
|
||||
@@ -48,7 +48,7 @@ import {
|
||||
getOnboardingBaseStreamFactory,
|
||||
getStreamCollaboratorsFactory,
|
||||
getStreamFactory,
|
||||
markCommitStreamUpdated,
|
||||
markCommitStreamUpdatedFactory,
|
||||
markOnboardingBaseStream
|
||||
} from '@/modules/core/repositories/streams'
|
||||
import { getFirstAdmin, getUser, getUsers } from '@/modules/core/repositories/users'
|
||||
@@ -82,6 +82,7 @@ const crossServerSyncModule: SpeckleModule = {
|
||||
finalize() {
|
||||
crossServerSyncLogger.info('⬇️ Ensuring base onboarding stream asynchronously...')
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getStream = getStreamFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
const getStreamObjects = getStreamObjectsFactory({ db })
|
||||
|
||||
@@ -38,7 +38,7 @@ import {
|
||||
import {
|
||||
createStreamFactory,
|
||||
getStreamFactory,
|
||||
markCommitStreamUpdated
|
||||
markCommitStreamUpdatedFactory
|
||||
} from '@/modules/core/repositories/streams'
|
||||
import { VersionsEmitter } from '@/modules/core/events/versionsEmitter'
|
||||
import { getObjectFactory } from '@/modules/core/repositories/objects'
|
||||
@@ -62,6 +62,7 @@ import { saveActivityFactory } from '@/modules/activitystream/repositories'
|
||||
import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { addCommitCreatedActivityFactory } from '@/modules/activitystream/services/commitActivity'
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
const createCommitByBranchId = createCommitByBranchIdFactory({
|
||||
createCommit: createCommitFactory({ db }),
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
insertStreamCommitsFactory
|
||||
} from '@/modules/core/repositories/commits'
|
||||
import { getObjectFactory } from '@/modules/core/repositories/objects'
|
||||
import { markCommitStreamUpdated } from '@/modules/core/repositories/streams'
|
||||
import { markCommitStreamUpdatedFactory } from '@/modules/core/repositories/streams'
|
||||
import {
|
||||
createCommitByBranchIdFactory,
|
||||
createCommitByBranchNameFactory
|
||||
@@ -23,6 +23,7 @@ import { publish } from '@/modules/shared/utils/subscriptions'
|
||||
import { BasicTestUser } from '@/test/authHelper'
|
||||
import { BasicTestStream } from '@/test/speckle-helpers/streamHelper'
|
||||
|
||||
const markCommitStreamUpdated = markCommitStreamUpdatedFactory({ db })
|
||||
const getObject = getObjectFactory({ db })
|
||||
const createCommitByBranchId = createCommitByBranchIdFactory({
|
||||
createCommit: createCommitFactory({ db }),
|
||||
|
||||
Reference in New Issue
Block a user