Merge branch 'main' into fabians/core-ioc-41
This commit is contained in:
@@ -9,8 +9,10 @@ import {
|
||||
} from '@/modules/activitystream/helpers/types'
|
||||
import {
|
||||
CommitCreateInput,
|
||||
CommitUpdateInput,
|
||||
ProjectUpdateInput,
|
||||
StreamUpdateInput
|
||||
StreamUpdateInput,
|
||||
UpdateVersionInput
|
||||
} from '@/modules/core/graph/generated/graphql'
|
||||
import {
|
||||
CommitRecord,
|
||||
@@ -212,3 +214,12 @@ export type AddCommitCreatedActivity = (params: {
|
||||
modelId: string
|
||||
commit: CommitRecord
|
||||
}) => Promise<void>
|
||||
|
||||
export type AddCommitUpdatedActivity = (params: {
|
||||
commitId: string
|
||||
streamId: string
|
||||
userId: string
|
||||
originalCommit: CommitRecord
|
||||
update: CommitUpdateInput | UpdateVersionInput
|
||||
newCommit: CommitRecord
|
||||
}) => Promise<void>
|
||||
|
||||
@@ -18,6 +18,7 @@ import { saveActivityFactory } from '@/modules/activitystream/repositories'
|
||||
import { db } from '@/db/knex'
|
||||
import {
|
||||
AddCommitCreatedActivity,
|
||||
AddCommitUpdatedActivity,
|
||||
SaveActivity
|
||||
} from '@/modules/activitystream/domain/operations'
|
||||
|
||||
@@ -80,49 +81,57 @@ const isOldVersionUpdateInput = (
|
||||
i: CommitUpdateInput | UpdateVersionInput
|
||||
): i is CommitUpdateInput => has(i, 'streamId')
|
||||
|
||||
export async function addCommitUpdatedActivity(params: {
|
||||
commitId: string
|
||||
streamId: string
|
||||
userId: string
|
||||
originalCommit: CommitRecord
|
||||
update: CommitUpdateInput | UpdateVersionInput
|
||||
newCommit: CommitRecord
|
||||
}) {
|
||||
const { commitId, streamId, userId, originalCommit, update, newCommit } = params
|
||||
const legacyUpdateStruct: CommitUpdateInput = isOldVersionUpdateInput(update)
|
||||
? update
|
||||
: {
|
||||
id: update.versionId,
|
||||
message: update.message,
|
||||
streamId
|
||||
}
|
||||
export const addCommitUpdatedActivityFactory =
|
||||
({
|
||||
saveActivity,
|
||||
publish
|
||||
}: {
|
||||
saveActivity: SaveActivity
|
||||
publish: PublishSubscription
|
||||
}): AddCommitUpdatedActivity =>
|
||||
async (params: {
|
||||
commitId: string
|
||||
streamId: string
|
||||
userId: string
|
||||
originalCommit: CommitRecord
|
||||
update: CommitUpdateInput | UpdateVersionInput
|
||||
newCommit: CommitRecord
|
||||
}) => {
|
||||
const { commitId, streamId, userId, originalCommit, update, newCommit } = params
|
||||
const legacyUpdateStruct: CommitUpdateInput = isOldVersionUpdateInput(update)
|
||||
? update
|
||||
: {
|
||||
id: update.versionId,
|
||||
message: update.message,
|
||||
streamId
|
||||
}
|
||||
|
||||
await Promise.all([
|
||||
saveActivityFactory({ db })({
|
||||
streamId,
|
||||
resourceType: ResourceTypes.Commit,
|
||||
resourceId: commitId,
|
||||
actionType: ActionTypes.Commit.Update,
|
||||
userId,
|
||||
info: { old: originalCommit, new: update },
|
||||
message: `Commit updated: ${commitId}`
|
||||
}),
|
||||
pubsub.publish(CommitPubsubEvents.CommitUpdated, {
|
||||
commitUpdated: { ...legacyUpdateStruct },
|
||||
streamId,
|
||||
commitId
|
||||
}),
|
||||
publish(ProjectSubscriptions.ProjectVersionsUpdated, {
|
||||
projectId: streamId,
|
||||
projectVersionsUpdated: {
|
||||
id: commitId,
|
||||
version: newCommit,
|
||||
type: ProjectVersionsUpdatedMessageType.Updated,
|
||||
modelId: null
|
||||
}
|
||||
})
|
||||
])
|
||||
}
|
||||
await Promise.all([
|
||||
saveActivity({
|
||||
streamId,
|
||||
resourceType: ResourceTypes.Commit,
|
||||
resourceId: commitId,
|
||||
actionType: ActionTypes.Commit.Update,
|
||||
userId,
|
||||
info: { old: originalCommit, new: update },
|
||||
message: `Commit updated: ${commitId}`
|
||||
}),
|
||||
publish(CommitPubsubEvents.CommitUpdated, {
|
||||
commitUpdated: { ...legacyUpdateStruct },
|
||||
streamId,
|
||||
commitId
|
||||
}),
|
||||
publish(ProjectSubscriptions.ProjectVersionsUpdated, {
|
||||
projectId: streamId,
|
||||
projectVersionsUpdated: {
|
||||
id: commitId,
|
||||
version: newCommit,
|
||||
type: ProjectVersionsUpdatedMessageType.Updated,
|
||||
modelId: null
|
||||
}
|
||||
})
|
||||
])
|
||||
}
|
||||
|
||||
export async function addCommitMovedActivity(params: {
|
||||
commitId: string
|
||||
|
||||
@@ -67,9 +67,9 @@ const {
|
||||
} = require('@/modules/core/repositories/branches')
|
||||
const {
|
||||
addCommitDeletedActivity,
|
||||
addCommitUpdatedActivity,
|
||||
addCommitMovedActivity,
|
||||
addCommitCreatedActivityFactory
|
||||
addCommitCreatedActivityFactory,
|
||||
addCommitUpdatedActivityFactory
|
||||
} = require('@/modules/activitystream/services/commitActivity')
|
||||
const { VersionsEmitter } = require('@/modules/core/events/versionsEmitter')
|
||||
const { getObjectFactory } = require('@/modules/core/repositories/objects')
|
||||
@@ -124,7 +124,10 @@ const updateCommitAndNotify = updateCommitAndNotifyFactory({
|
||||
getCommitBranch: getCommitBranchFactory({ db }),
|
||||
switchCommitBranch: switchCommitBranchFactory({ db }),
|
||||
updateCommit: updateCommitFactory({ db }),
|
||||
addCommitUpdatedActivity,
|
||||
addCommitUpdatedActivity: addCommitUpdatedActivityFactory({
|
||||
saveActivity: saveActivityFactory({ db }),
|
||||
publish
|
||||
}),
|
||||
markCommitStreamUpdated,
|
||||
markCommitBranchUpdated: markCommitBranchUpdatedFactory({ db })
|
||||
})
|
||||
|
||||
@@ -50,7 +50,7 @@ import { VersionsEmitter } from '@/modules/core/events/versionsEmitter'
|
||||
import {
|
||||
addCommitCreatedActivityFactory,
|
||||
addCommitMovedActivity,
|
||||
addCommitUpdatedActivity
|
||||
addCommitUpdatedActivityFactory
|
||||
} from '@/modules/activitystream/services/commitActivity'
|
||||
import { getObjectFactory } from '@/modules/core/repositories/objects'
|
||||
import { saveActivityFactory } from '@/modules/activitystream/repositories'
|
||||
@@ -82,7 +82,10 @@ const updateCommitAndNotify = updateCommitAndNotifyFactory({
|
||||
getCommitBranch: getCommitBranchFactory({ db }),
|
||||
switchCommitBranch: switchCommitBranchFactory({ db }),
|
||||
updateCommit: updateCommitFactory({ db }),
|
||||
addCommitUpdatedActivity,
|
||||
addCommitUpdatedActivity: addCommitUpdatedActivityFactory({
|
||||
saveActivity: saveActivityFactory({ db }),
|
||||
publish
|
||||
}),
|
||||
markCommitStreamUpdated,
|
||||
markCommitBranchUpdated: markCommitBranchUpdatedFactory({ db })
|
||||
})
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import { db } from '@/db/knex'
|
||||
import { AddCommitCreatedActivity } from '@/modules/activitystream/domain/operations'
|
||||
import {
|
||||
AddCommitCreatedActivity,
|
||||
AddCommitUpdatedActivity
|
||||
} from '@/modules/activitystream/domain/operations'
|
||||
import {
|
||||
addCommitDeletedActivity,
|
||||
addCommitReceivedActivity,
|
||||
addCommitUpdatedActivity
|
||||
addCommitReceivedActivity
|
||||
} from '@/modules/activitystream/services/commitActivity'
|
||||
import {
|
||||
GetBranchById,
|
||||
@@ -256,7 +258,7 @@ export const updateCommitAndNotifyFactory =
|
||||
getCommitBranch: GetCommitBranch
|
||||
switchCommitBranch: SwitchCommitBranch
|
||||
updateCommit: UpdateCommit
|
||||
addCommitUpdatedActivity: typeof addCommitUpdatedActivity
|
||||
addCommitUpdatedActivity: AddCommitUpdatedActivity
|
||||
markCommitStreamUpdated: typeof markCommitStreamUpdated
|
||||
markCommitBranchUpdated: MarkCommitBranchUpdated
|
||||
}): UpdateCommitAndNotify =>
|
||||
|
||||
@@ -51,7 +51,7 @@ const {
|
||||
} = require('@/modules/core/repositories/streams')
|
||||
const {
|
||||
addCommitDeletedActivity,
|
||||
addCommitUpdatedActivity
|
||||
addCommitUpdatedActivityFactory
|
||||
} = require('@/modules/activitystream/services/commitActivity')
|
||||
const { VersionsEmitter } = require('@/modules/core/events/versionsEmitter')
|
||||
const { getObjectFactory } = require('@/modules/core/repositories/objects')
|
||||
@@ -131,7 +131,10 @@ const updateCommitAndNotify = updateCommitAndNotifyFactory({
|
||||
getCommitBranch: getCommitBranchFactory({ db }),
|
||||
switchCommitBranch: switchCommitBranchFactory({ db }),
|
||||
updateCommit: updateCommitFactory({ db }),
|
||||
addCommitUpdatedActivity,
|
||||
addCommitUpdatedActivity: addCommitUpdatedActivityFactory({
|
||||
saveActivity: saveActivityFactory({ db }),
|
||||
publish
|
||||
}),
|
||||
markCommitStreamUpdated,
|
||||
markCommitBranchUpdated: markCommitBranchUpdatedFactory({ db })
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user