Merge pull request #3141 from specklesystems/alessandro/web-943-user-activity
Activitystream IoC 1 activityUser service
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user