user.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
  2. import { i18n } from '@shared/i18n'
  3. import type { User } from '@shared/graphql/types'
  4. import type { ActivityMessageBuilder } from '../types'
  5. const path = (metaObject: User) => {
  6. return `users/${metaObject.internalId}`
  7. }
  8. const messageText = (
  9. type: string,
  10. authorName: string,
  11. metaObject: User,
  12. ): Maybe<string> => {
  13. const objectTitle = metaObject.fullname || '-'
  14. switch (type) {
  15. case 'create':
  16. return i18n.t('%s created user |%s|', authorName, objectTitle)
  17. case 'update':
  18. return i18n.t('%s updated user |%s|', authorName, objectTitle)
  19. case 'session started':
  20. return i18n.t('%s started a new session', authorName)
  21. case 'switch to':
  22. return i18n.t('%s switched to |%s|!', authorName, objectTitle)
  23. case 'ended switch to':
  24. return i18n.t('%s ended switch to |%s|!', authorName, objectTitle)
  25. default:
  26. return null
  27. }
  28. }
  29. export default <ActivityMessageBuilder>{
  30. messageText,
  31. path,
  32. model: 'User',
  33. }