Merge pull request #3141 from specklesystems/alessandro/web-943-user-activity

Activitystream IoC 1 activityUser service
This commit is contained in:
Alessandro Magionami
2024-09-27 10:36:47 +02:00
committed by GitHub
2 changed files with 25 additions and 20 deletions
@@ -1,23 +1,24 @@
import { UserUpdateInput } from '@/modules/core/graph/generated/graphql'
import { UserRecord } from '@/modules/core/helpers/types'
import { ActionTypes, ResourceTypes } from '@/modules/activitystream/helpers/types'
import { saveActivityFactory } from '@/modules/activitystream/repositories'
import { db } from '@/db/knex'
import { SaveActivity } from '@/modules/activitystream/domain/operations'
export async function addUserUpdatedActivity(params: {
oldUser: UserRecord
update: UserUpdateInput
updaterId: string
}) {
const { oldUser, update, updaterId } = params
export const addUserUpdatedActivityFactory =
({ saveActivity }: { saveActivity: SaveActivity }) =>
async (params: {
oldUser: UserRecord
update: UserUpdateInput
updaterId: string
}) => {
const { oldUser, update, updaterId } = params
await saveActivityFactory({ db })({
streamId: null,
resourceType: ResourceTypes.User,
resourceId: oldUser.id,
actionType: ActionTypes.User.Update,
userId: updaterId,
info: { old: oldUser, new: update },
message: 'User updated'
})
}
await saveActivity({
streamId: null,
resourceType: ResourceTypes.User,
resourceId: oldUser.id,
actionType: ActionTypes.User.Update,
userId: updaterId,
info: { old: oldUser, new: update },
message: 'User updated'
})
}
@@ -1,4 +1,6 @@
import { addUserUpdatedActivity } from '@/modules/activitystream/services/userActivity'
import { db } from '@/db/knex'
import { saveActivityFactory } from '@/modules/activitystream/repositories'
import { addUserUpdatedActivityFactory } from '@/modules/activitystream/services/userActivity'
import { UserUpdateError, UserValidationError } from '@/modules/core/errors/user'
import { PasswordTooShortError } from '@/modules/core/errors/userinput'
import { UserUpdateInput } from '@/modules/core/graph/generated/graphql'
@@ -35,7 +37,9 @@ export async function updateUserAndNotify(userId: string, update: UserUpdateInpu
throw new UserUpdateError("Couldn't update user")
}
await addUserUpdatedActivity({
await addUserUpdatedActivityFactory({
saveActivity: saveActivityFactory({ db })
})({
oldUser: existingUser,
update,
updaterId: userId