feat: convert model methods to named functions
This commit is contained in:
@ -1,12 +1,13 @@
|
||||
import AbstractModel from './abstractModel'
|
||||
import {parseDateOrNull} from '@/helpers/parseDateOrNull'
|
||||
import UserModel from '@/models/user'
|
||||
import UserModel, {getDisplayName} from '@/models/user'
|
||||
import TaskModel from '@/models/task'
|
||||
import TaskCommentModel from '@/models/taskComment'
|
||||
import ListModel from '@/models/list'
|
||||
import TeamModel from '@/models/team'
|
||||
|
||||
import {NOTIFICATION_NAMES, type INotification} from '@/modelTypes/INotification'
|
||||
import type { IUser } from '@/modelTypes/IUser'
|
||||
|
||||
export default class NotificationModel extends AbstractModel<INotification> implements INotification {
|
||||
id = 0
|
||||
@ -61,14 +62,14 @@ export default class NotificationModel extends AbstractModel<INotification> impl
|
||||
this.readAt = parseDateOrNull(this.readAt)
|
||||
}
|
||||
|
||||
toText(user = null) {
|
||||
toText(user: IUser | null = null) {
|
||||
let who = ''
|
||||
|
||||
switch (this.name) {
|
||||
case NOTIFICATION_NAMES.TASK_COMMENT:
|
||||
return `commented on ${this.notification.task.getTextIdentifier()}`
|
||||
case NOTIFICATION_NAMES.TASK_ASSIGNED:
|
||||
who = `${this.notification.assignee.getDisplayName()}`
|
||||
who = `${getDisplayName(this.notification.assignee)}`
|
||||
|
||||
if (user !== null && user.id === this.notification.assignee.id) {
|
||||
who = 'you'
|
||||
@ -80,7 +81,7 @@ export default class NotificationModel extends AbstractModel<INotification> impl
|
||||
case NOTIFICATION_NAMES.LIST_CREATED:
|
||||
return `created ${this.notification.list.title}`
|
||||
case NOTIFICATION_NAMES.TEAM_MEMBER_ADDED:
|
||||
who = `${this.notification.member.getDisplayName()}`
|
||||
who = `${getDisplayName(this.notification.member)}`
|
||||
|
||||
if (user !== null && user.id === this.notification.member.id) {
|
||||
who = 'you'
|
||||
|
@ -4,6 +4,18 @@ import UserSettingsModel from '@/models/userSettings'
|
||||
import { AUTH_TYPES, type IUser } from '@/modelTypes/IUser'
|
||||
import type { IUserSettings } from '@/modelTypes/IUserSettings'
|
||||
|
||||
export function getAvatarUrl(user: IUser, size = 50) {
|
||||
return `${window.API_URL}/avatar/${user.username}?size=${size}`
|
||||
}
|
||||
|
||||
export function getDisplayName(user: IUser) {
|
||||
if (user.name !== '') {
|
||||
return user.name
|
||||
}
|
||||
|
||||
return user.username
|
||||
}
|
||||
|
||||
export default class UserModel extends AbstractModel<IUser> implements IUser {
|
||||
id = 0
|
||||
email = ''
|
||||
@ -25,16 +37,4 @@ export default class UserModel extends AbstractModel<IUser> implements IUser {
|
||||
|
||||
this.settings = new UserSettingsModel(this.settings || {})
|
||||
}
|
||||
|
||||
getAvatarUrl(size = 50) {
|
||||
return `${window.API_URL}/avatar/${this.username}?size=${size}`
|
||||
}
|
||||
|
||||
getDisplayName() {
|
||||
if (this.name !== '') {
|
||||
return this.name
|
||||
}
|
||||
|
||||
return this.username
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user