1
0

feat: auth store type improvements

This commit is contained in:
Dominik Pschenitschni
2022-09-23 16:21:05 +02:00
parent 7b53e684aa
commit 176ad565cc
6 changed files with 53 additions and 56 deletions

View File

@ -1,7 +1,7 @@
import AbstractModel from './abstractModel'
import UserSettingsModel from '@/models/userSettings'
import type { IUser } from '@/modelTypes/IUser'
import { AUTH_TYPES, type IUser } from '@/modelTypes/IUser'
import type { IUserSettings } from '@/modelTypes/IUserSettings'
export default class UserModel extends AbstractModel<IUser> implements IUser {
@ -9,10 +9,12 @@ export default class UserModel extends AbstractModel<IUser> implements IUser {
email = ''
username = ''
name = ''
exp = 0
type = AUTH_TYPES.UNKNOWN
created: Date = null
updated: Date = null
settings: IUserSettings = null
created: Date
updated: Date
settings: IUserSettings
constructor(data: Partial<IUser> = {}) {
super()
@ -21,9 +23,7 @@ export default class UserModel extends AbstractModel<IUser> implements IUser {
this.created = new Date(this.created)
this.updated = new Date(this.updated)
if (this.settings !== null) {
this.settings = new UserSettingsModel(this.settings)
}
this.settings = new UserSettingsModel(this.settings || {})
}
getAvatarUrl(size = 50) {

View File

@ -1,8 +1,7 @@
import AbstractModel from './abstractModel'
import type {IUserSettings} from '@/modelTypes/IUserSettings'
import type {IList} from '@/modelTypes/IList'
import {getCurrentLanguage} from '@/i18n'
export default class UserSettingsModel extends AbstractModel<IUserSettings> implements IUserSettings {
name = ''
@ -10,11 +9,12 @@ export default class UserSettingsModel extends AbstractModel<IUserSettings> impl
discoverableByName = false
discoverableByEmail = false
overdueTasksRemindersEnabled = true
defaultListId: undefined | IList['id'] = undefined
weekStart: IUserSettings['weekStart'] = 0
defaultListId = undefined
weekStart = 0 as IUserSettings['weekStart']
timezone = ''
language = getCurrentLanguage()
constructor(data: Partial<IUserSettings>) {
constructor(data: Partial<IUserSettings> = {}) {
super()
this.assignData(data)
}