WIP: feat: remove defaults function #1313
|
@ -19,16 +19,7 @@ export default class AbstractModel {
|
||||||
// Put all data in our model while overriding those with a value of null or undefined with their defaults
|
// Put all data in our model while overriding those with a value of null or undefined with their defaults
|
||||||
Object.assign(
|
Object.assign(
|
||||||
this,
|
this,
|
||||||
this.defaults(),
|
|
||||||
omitBy(data, isNil),
|
omitBy(data, isNil),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Default attributes that define the "empty" state.
|
|
||||||
* @return {{}}
|
|
||||||
*/
|
|
||||||
defaults() {
|
|
||||||
return {}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -3,20 +3,16 @@ import UserModel from './user'
|
||||||
import FileModel from './file'
|
import FileModel from './file'
|
||||||
|
|
||||||
export default class AttachmentModel extends AbstractModel {
|
export default class AttachmentModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
taskId = 0
|
||||||
|
file = FileModel
|
||||||
|
createdBy = UserModel
|
||||||
|
created = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.createdBy = new UserModel(this.createdBy)
|
this.createdBy = new UserModel(this.createdBy)
|
||||||
this.file = new FileModel(this.file)
|
this.file = new FileModel(this.file)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
taskId: 0,
|
|
||||||
file: FileModel,
|
|
||||||
createdBy: UserModel,
|
|
||||||
created: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class AvatarModel extends AbstractModel {
|
export default class AvatarModel extends AbstractModel {
|
||||||
defaults() {
|
avatarProvider = ''
|
||||||
return {
|
|
||||||
avatarProvider: '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,12 +1,8 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class BackgroundImageModel extends AbstractModel {
|
export default class BackgroundImageModel extends AbstractModel {
|
||||||
defaults() {
|
id = 0
|
||||||
return {
|
url = ''
|
||||||
id: 0,
|
thumb = ''
|
||||||
url: '',
|
info = {}
|
||||||
thumb: '',
|
|
||||||
info: {},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -3,6 +3,18 @@ import UserModel from './user'
|
||||||
import TaskModel from './task'
|
import TaskModel from './task'
|
||||||
|
|
||||||
export default class BucketModel extends AbstractModel {
|
export default class BucketModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
title = ''
|
||||||
|
listId = 0
|
||||||
|
limit = 0
|
||||||
|
tasks = []
|
||||||
|
isDoneBucket = false
|
||||||
|
position = 0
|
||||||
|
|
||||||
|
createdBy = null
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(bucket) {
|
constructor(bucket) {
|
||||||
super(bucket)
|
super(bucket)
|
||||||
|
|
||||||
|
@ -12,20 +24,4 @@ export default class BucketModel extends AbstractModel {
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
title: '',
|
|
||||||
listId: 0,
|
|
||||||
limit: 0,
|
|
||||||
tasks: [],
|
|
||||||
isDoneBucket: false,
|
|
||||||
position: 0,
|
|
||||||
|
|
||||||
createdBy: null,
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,10 +1,6 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class EmailUpdateModel extends AbstractModel {
|
export default class EmailUpdateModel extends AbstractModel {
|
||||||
defaults() {
|
newEmail = ''
|
||||||
return {
|
password = ''
|
||||||
dpschen marked this conversation as resolved
Outdated
|
|||||||
newEmail: '',
|
|
||||||
passwort: '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,21 +1,17 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class FileModel extends AbstractModel {
|
export default class FileModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
mime = ''
|
||||||
|
name = ''
|
||||||
|
size = 0
|
||||||
|
created = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
mime: '',
|
|
||||||
name: '',
|
|
||||||
size: 0,
|
|
||||||
created: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getHumanSize() {
|
getHumanSize() {
|
||||||
const sizes = {
|
const sizes = {
|
||||||
0: 'B',
|
0: 'B',
|
||||||
|
|
|
@ -4,6 +4,17 @@ import {colorIsDark} from '@/helpers/color/colorIsDark'
|
||||||
|
|
||||||
const DEFAULT_LABEL_BACKGROUND_COLOR = 'e8e8e8'
|
const DEFAULT_LABEL_BACKGROUND_COLOR = 'e8e8e8'
|
||||||
export default class LabelModel extends AbstractModel {
|
export default class LabelModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
title = ''
|
||||||
|
hexColor = ''
|
||||||
|
description = ''
|
||||||
|
createdBy = UserModel
|
||||||
|
listId = 0
|
||||||
|
textColor = ''
|
||||||
|
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
// FIXME: this should be empty and be definied in the client.
|
// FIXME: this should be empty and be definied in the client.
|
||||||
|
@ -21,19 +32,4 @@ export default class LabelModel extends AbstractModel {
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
title: '',
|
|
||||||
hexColor: '',
|
|
||||||
description: '',
|
|
||||||
createdBy: UserModel,
|
|
||||||
listId: 0,
|
|
||||||
textColor: '',
|
|
||||||
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,11 +1,7 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class LabelTask extends AbstractModel {
|
export default class LabelTask extends AbstractModel {
|
||||||
defaults() {
|
id = 0
|
||||||
return {
|
taskId = 0
|
||||||
id: 0,
|
labelId = 0
|
||||||
taskId: 0,
|
|
||||||
labelId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -2,6 +2,17 @@ import AbstractModel from './abstractModel'
|
||||||
import UserModel from './user'
|
import UserModel from './user'
|
||||||
|
|
||||||
export default class ListModel extends AbstractModel {
|
export default class ListModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
hash = ''
|
||||||
|
right = 0
|
||||||
|
sharedBy = UserModel
|
||||||
|
sharingType = 0
|
||||||
|
listId = 0
|
||||||
|
name = ''
|
||||||
|
password = ''
|
||||||
|
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
// The constructor of AbstractModel handles all the default parsing.
|
// The constructor of AbstractModel handles all the default parsing.
|
||||||
|
@ -12,21 +23,4 @@ export default class ListModel extends AbstractModel {
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default attributes that define the "empty" state.
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
hash: '',
|
|
||||||
right: 0,
|
|
||||||
sharedBy: UserModel,
|
|
||||||
sharingType: 0,
|
|
||||||
listId: 0,
|
|
||||||
name: '',
|
|
||||||
password: '',
|
|
||||||
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -5,6 +5,22 @@ import {getSavedFilterIdFromListId} from '@/helpers/savedFilter'
|
||||||
import SubscriptionModel from '@/models/subscription'
|
import SubscriptionModel from '@/models/subscription'
|
||||||
|
|
||||||
export default class ListModel extends AbstractModel {
|
export default class ListModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
title = ''
|
||||||
|
description = ''
|
||||||
|
owner = UserModel
|
||||||
|
tasks = []
|
||||||
|
namespaceId = 0
|
||||||
|
isArchived = false
|
||||||
|
hexColor = ''
|
||||||
|
identifier = ''
|
||||||
|
backgroundInformation = null
|
||||||
|
isFavorite = false
|
||||||
|
subscription = null
|
||||||
|
position = 0
|
||||||
|
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
@ -28,28 +44,6 @@ export default class ListModel extends AbstractModel {
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default attributes that define the "empty" state.
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
title: '',
|
|
||||||
description: '',
|
|
||||||
owner: UserModel,
|
|
||||||
tasks: [],
|
|
||||||
namespaceId: 0,
|
|
||||||
isArchived: false,
|
|
||||||
hexColor: '',
|
|
||||||
identifier: '',
|
|
||||||
backgroundInformation: null,
|
|
||||||
isFavorite: false,
|
|
||||||
subscription: null,
|
|
||||||
position: 0,
|
|
||||||
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
isSavedFilter() {
|
isSavedFilter() {
|
||||||
return this.getSavedFilterId() > 0
|
return this.getSavedFilterId() > 0
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,12 @@ import AbstractModel from './abstractModel'
|
||||||
import ListModel from './list'
|
import ListModel from './list'
|
||||||
|
|
||||||
export default class ListDuplicateModel extends AbstractModel {
|
export default class ListDuplicateModel extends AbstractModel {
|
||||||
|
listId = 0
|
||||||
|
namespaceId = 0
|
||||||
|
list = ListModel
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.list = new ListModel(this.list)
|
this.list = new ListModel(this.list)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
listId: 0,
|
|
||||||
namespaceId: 0,
|
|
||||||
list: ListModel,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -4,6 +4,18 @@ import UserModel from './user'
|
||||||
import SubscriptionModel from '@/models/subscription'
|
import SubscriptionModel from '@/models/subscription'
|
||||||
|
|
||||||
export default class NamespaceModel extends AbstractModel {
|
export default class NamespaceModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
title = ''
|
||||||
|
description = ''
|
||||||
|
owner = UserModel
|
||||||
|
lists = []
|
||||||
|
isArchived = false
|
||||||
|
hexColor = ''
|
||||||
|
subscription = null
|
||||||
|
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
|
||||||
|
@ -24,21 +36,4 @@ export default class NamespaceModel extends AbstractModel {
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default attributes that define the 'empty' state.
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
title: '',
|
|
||||||
description: '',
|
|
||||||
owner: UserModel,
|
|
||||||
lists: [],
|
|
||||||
isArchived: false,
|
|
||||||
hexColor: '',
|
|
||||||
subscription: null,
|
|
||||||
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,12 @@ import TeamModel from '@/models/team'
|
||||||
import names from './constants/notificationNames.json'
|
import names from './constants/notificationNames.json'
|
||||||
|
|
||||||
export default class NotificationModel extends AbstractModel {
|
export default class NotificationModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
name = ''
|
||||||
|
notification = null
|
||||||
|
read = false
|
||||||
|
readAt = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
|
||||||
|
@ -41,16 +47,6 @@ export default class NotificationModel extends AbstractModel {
|
||||||
this.readAt = parseDateOrNull(this.readAt)
|
this.readAt = parseDateOrNull(this.readAt)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
name: '',
|
|
||||||
notification: null,
|
|
||||||
read: false,
|
|
||||||
readAt: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
toText(user = null) {
|
toText(user = null) {
|
||||||
let who = ''
|
let who = ''
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,13 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class PasswordResetModel extends AbstractModel {
|
export default class PasswordResetModel extends AbstractModel {
|
||||||
|
token = ''
|
||||||
|
newPassword = ''
|
||||||
|
email = ''
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
|
||||||
this.token = localStorage.getItem('passwordResetToken')
|
this.token = localStorage.getItem('passwordResetToken')
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
token: '',
|
|
||||||
newPassword: '',
|
|
||||||
email: '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,10 +1,6 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class PasswordUpdateModel extends AbstractModel {
|
export default class PasswordUpdateModel extends AbstractModel {
|
||||||
defaults() {
|
newPassword = ''
|
||||||
return {
|
oldPassword = ''
|
||||||
newPassword: '',
|
|
||||||
oldPassword: '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -2,6 +2,23 @@ import AbstractModel from '@/models/abstractModel'
|
||||||
import UserModel from '@/models/user'
|
import UserModel from '@/models/user'
|
||||||
|
|
||||||
export default class SavedFilterModel extends AbstractModel {
|
export default class SavedFilterModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
title = ''
|
||||||
|
description = ''
|
||||||
|
filters = {
|
||||||
|
sortBy: ['done', 'id'],
|
||||||
|
orderBy: ['asc', 'desc'],
|
||||||
|
filterBy: ['done'],
|
||||||
|
filterValue: ['false'],
|
||||||
|
filterComparator: ['equals'],
|
||||||
|
filterConcat: 'and',
|
||||||
|
filterIncludeNulls: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
owner = {}
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
|
||||||
|
@ -11,27 +28,6 @@ export default class SavedFilterModel extends AbstractModel {
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
title: '',
|
|
||||||
description: '',
|
|
||||||
filters: {
|
|
||||||
sortBy: ['done', 'id'],
|
|
||||||
orderBy: ['asc', 'desc'],
|
|
||||||
filterBy: ['done'],
|
|
||||||
filterValue: ['false'],
|
|
||||||
filterComparator: ['equals'],
|
|
||||||
filterConcat: 'and',
|
|
||||||
filterIncludeNulls: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
owner: {},
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates the corresponding list id to this saved filter.
|
* Calculates the corresponding list id to this saved filter.
|
||||||
* This function matches the one in the api.
|
* This function matches the one in the api.
|
||||||
|
|
|
@ -2,19 +2,15 @@ import AbstractModel from '@/models/abstractModel'
|
||||||
import UserModel from '@/models/user'
|
import UserModel from '@/models/user'
|
||||||
|
|
||||||
export default class SubscriptionModel extends AbstractModel {
|
export default class SubscriptionModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
entity = ''
|
||||||
|
entityId = 0
|
||||||
|
created = null
|
||||||
|
user = {}
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.user = new UserModel(this.user)
|
this.user = new UserModel(this.user)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
entity: '',
|
|
||||||
entityId: 0,
|
|
||||||
created: null,
|
|
||||||
user: {},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,41 @@ import {parseDateOrNull} from '@/helpers/parseDateOrNull'
|
||||||
const SUPPORTS_TRIGGERED_NOTIFICATION = 'Notification' in window && 'showTrigger' in Notification.prototype
|
const SUPPORTS_TRIGGERED_NOTIFICATION = 'Notification' in window && 'showTrigger' in Notification.prototype
|
||||||
|
|
||||||
export default class TaskModel extends AbstractModel {
|
export default class TaskModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
title = ''
|
||||||
|
description = ''
|
||||||
|
done = false
|
||||||
|
doneAt = null
|
||||||
|
priority = 0
|
||||||
|
labels = []
|
||||||
|
assignees = []
|
||||||
|
|
||||||
|
dueDate = 0
|
||||||
|
startDate = 0
|
||||||
|
endDate = 0
|
||||||
|
repeatAfter = 0
|
||||||
|
repeatFromCurrentDate = false
|
||||||
|
repeatMode = REPEAT_MODE_DEFAULT
|
||||||
|
reminderDates = []
|
||||||
|
parentTaskId = 0
|
||||||
|
hexColor = ''
|
||||||
|
percentDone = 0
|
||||||
|
relatedTasks = {}
|
||||||
|
attachments = []
|
||||||
|
identifier = ''
|
||||||
|
index = 0
|
||||||
|
isFavorite = false
|
||||||
|
subscription = null
|
||||||
|
|
||||||
|
position = 0
|
||||||
|
kanbanPosition = 0
|
||||||
|
|
||||||
|
createdBy = UserModel
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
|
listId = 0 // Meta, only used when creating a new task
|
||||||
|
|
||||||
|
|
||||||
defaultColor = '198CFF'
|
defaultColor = '198CFF'
|
||||||
|
|
||||||
|
@ -76,45 +111,6 @@ export default class TaskModel extends AbstractModel {
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
title: '',
|
|
||||||
description: '',
|
|
||||||
done: false,
|
|
||||||
doneAt: null,
|
|
||||||
priority: 0,
|
|
||||||
labels: [],
|
|
||||||
assignees: [],
|
|
||||||
|
|
||||||
dueDate: 0,
|
|
||||||
startDate: 0,
|
|
||||||
endDate: 0,
|
|
||||||
repeatAfter: 0,
|
|
||||||
repeatFromCurrentDate: false,
|
|
||||||
repeatMode: REPEAT_MODE_DEFAULT,
|
|
||||||
reminderDates: [],
|
|
||||||
parentTaskId: 0,
|
|
||||||
hexColor: '',
|
|
||||||
percentDone: 0,
|
|
||||||
relatedTasks: {},
|
|
||||||
attachments: [],
|
|
||||||
identifier: '',
|
|
||||||
index: 0,
|
|
||||||
isFavorite: false,
|
|
||||||
subscription: null,
|
|
||||||
|
|
||||||
position: 0,
|
|
||||||
kanbanPosition: 0,
|
|
||||||
|
|
||||||
createdBy: UserModel,
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
|
|
||||||
listId: 0, // Meta, only used when creating a new task
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getTextIdentifier() {
|
getTextIdentifier() {
|
||||||
if (this.identifier === '') {
|
if (this.identifier === '') {
|
||||||
return `#${this.index}`
|
return `#${this.index}`
|
||||||
|
|
|
@ -1,16 +1,12 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class TaskAssigneeModel extends AbstractModel {
|
export default class TaskAssigneeModel extends AbstractModel {
|
||||||
|
created = null
|
||||||
|
userId = 0
|
||||||
|
taskId = 0
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
created: null,
|
|
||||||
userId: 0,
|
|
||||||
taskId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,21 +2,17 @@ import AbstractModel from './abstractModel'
|
||||||
import UserModel from './user'
|
import UserModel from './user'
|
||||||
|
|
||||||
export default class TaskCommentModel extends AbstractModel {
|
export default class TaskCommentModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
taskId = 0
|
||||||
|
comment = ''
|
||||||
|
author = UserModel
|
||||||
|
created = null
|
||||||
|
update = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.author = new UserModel(this.author)
|
this.author = new UserModel(this.author)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
taskId: 0,
|
|
||||||
comment: '',
|
|
||||||
author: UserModel,
|
|
||||||
created: null,
|
|
||||||
update: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,21 +2,17 @@ import AbstractModel from './abstractModel'
|
||||||
import UserModel from './user'
|
import UserModel from './user'
|
||||||
|
|
||||||
export default class TaskRelationModel extends AbstractModel {
|
export default class TaskRelationModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
otherTaskId = 0
|
||||||
|
taskId = 0
|
||||||
|
relationKind = ''
|
||||||
|
|
||||||
|
createdBy = UserModel
|
||||||
|
created = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.createdBy = new UserModel(this.createdBy)
|
this.createdBy = new UserModel(this.createdBy)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
otherTaskId: 0,
|
|
||||||
taskId: 0,
|
|
||||||
relationKind: '',
|
|
||||||
|
|
||||||
createdBy: UserModel,
|
|
||||||
created: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -3,6 +3,16 @@ import UserModel from './user'
|
||||||
import TeamMemberModel from './teamMember'
|
import TeamMemberModel from './teamMember'
|
||||||
|
|
||||||
export default class TeamModel extends AbstractModel {
|
export default class TeamModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
name = ''
|
||||||
|
description = ''
|
||||||
|
members = []
|
||||||
|
right = 0
|
||||||
|
|
||||||
|
createdBy = {}
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
|
||||||
|
@ -15,18 +25,4 @@ export default class TeamModel extends AbstractModel {
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
name: '',
|
|
||||||
description: '',
|
|
||||||
members: [],
|
|
||||||
right: 0,
|
|
||||||
|
|
||||||
createdBy: {},
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,10 +1,5 @@
|
||||||
import TeamShareBaseModel from './teamShareBase'
|
import TeamShareBaseModel from './teamShareBase'
|
||||||
|
|
||||||
export default class TeamListModel extends TeamShareBaseModel {
|
export default class TeamListModel extends TeamShareBaseModel {
|
||||||
defaults() {
|
listId = 0
|
||||||
return {
|
|
||||||
...super.defaults(),
|
|
||||||
listId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,11 +1,6 @@
|
||||||
import UserModel from './user'
|
import UserModel from './user'
|
||||||
|
|
||||||
export default class TeamMemberModel extends UserModel {
|
export default class TeamMemberModel extends UserModel {
|
||||||
defaults() {
|
admin = false
|
||||||
return {
|
teamId = 0
|
||||||
...super.defaults(),
|
|
||||||
admin: false,
|
|
||||||
teamId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,10 +1,5 @@
|
||||||
import TeamShareBaseModel from './teamShareBase'
|
import TeamShareBaseModel from './teamShareBase'
|
||||||
|
|
||||||
export default class TeamNamespaceModel extends TeamShareBaseModel {
|
export default class TeamNamespaceModel extends TeamShareBaseModel {
|
||||||
defaults() {
|
namespaceId = 0
|
||||||
return {
|
|
||||||
...super.defaults(),
|
|
||||||
namespaceId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -5,19 +5,15 @@ import AbstractModel from './abstractModel'
|
||||||
* It is extended in a way so it can be used for namespaces as well for lists.
|
* It is extended in a way so it can be used for namespaces as well for lists.
|
||||||
*/
|
*/
|
||||||
export default class TeamShareBaseModel extends AbstractModel {
|
export default class TeamShareBaseModel extends AbstractModel {
|
||||||
|
teamId = 0
|
||||||
|
right = 0
|
||||||
|
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
teamId: 0,
|
|
||||||
right: 0,
|
|
||||||
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,11 +1,7 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class TotpModel extends AbstractModel {
|
export default class TotpModel extends AbstractModel {
|
||||||
defaults() {
|
secret = ''
|
||||||
return {
|
enabled = false
|
||||||
secret: '',
|
url = ''
|
||||||
enabled: false,
|
|
||||||
url: '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -2,6 +2,14 @@ import AbstractModel from './abstractModel'
|
||||||
import UserSettingsModel from '@/models/userSettings'
|
import UserSettingsModel from '@/models/userSettings'
|
||||||
|
|
||||||
export default class UserModel extends AbstractModel {
|
export default class UserModel extends AbstractModel {
|
||||||
|
id = 0
|
||||||
|
email = ''
|
||||||
|
username = ''
|
||||||
|
name = ''
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
settings = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
|
|
||||||
|
@ -13,18 +21,6 @@ export default class UserModel extends AbstractModel {
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
id: 0,
|
|
||||||
email: '',
|
|
||||||
username: '',
|
|
||||||
name: '',
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
settings: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getAvatarUrl(size = 50) {
|
getAvatarUrl(size = 50) {
|
||||||
return `${window.API_URL}/avatar/${this.username}?size=${size}`
|
return `${window.API_URL}/avatar/${this.username}?size=${size}`
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,5 @@ import UserShareBaseModel from './userShareBase'
|
||||||
|
|
||||||
// This class extends the user share model with a 'rights' parameter which is used in sharing
|
// This class extends the user share model with a 'rights' parameter which is used in sharing
|
||||||
export default class UserListModel extends UserShareBaseModel {
|
export default class UserListModel extends UserShareBaseModel {
|
||||||
defaults() {
|
listId = 0
|
||||||
return {
|
|
||||||
...super.defaults(),
|
|
||||||
listId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -2,10 +2,5 @@ import UserShareBaseModel from './userShareBase'
|
||||||
|
|
||||||
// This class extends the user share model with a 'rights' parameter which is used in sharing
|
// This class extends the user share model with a 'rights' parameter which is used in sharing
|
||||||
export default class UserNamespaceModel extends UserShareBaseModel {
|
export default class UserNamespaceModel extends UserShareBaseModel {
|
||||||
defaults() {
|
namespaceId = 0
|
||||||
return {
|
|
||||||
...super.defaults(),
|
|
||||||
namespaceId: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -2,15 +2,11 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class UserSettingsModel extends AbstractModel {
|
export default class UserSettingsModel extends AbstractModel {
|
||||||
defaults() {
|
name = ''
|
||||||
return {
|
emailRemindersEnabled = true
|
||||||
name: '',
|
discoverableByName = false
|
||||||
emailRemindersEnabled: true,
|
discoverableByEmail = false
|
||||||
discoverableByName: false,
|
overdueTasksRemindersEnabled = true
|
||||||
discoverableByEmail: false,
|
defaultListId = undefined
|
||||||
overdueTasksRemindersEnabled: true,
|
weekStart = 0
|
||||||
defaultListId: undefined,
|
|
||||||
weekStart: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,19 +1,15 @@
|
||||||
import AbstractModel from './abstractModel'
|
import AbstractModel from './abstractModel'
|
||||||
|
|
||||||
export default class UserShareBaseModel extends AbstractModel {
|
export default class UserShareBaseModel extends AbstractModel {
|
||||||
|
userId = ''
|
||||||
|
right = 0
|
||||||
|
|
||||||
|
created = null
|
||||||
|
updated = null
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
super(data)
|
super(data)
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
this.updated = new Date(this.updated)
|
this.updated = new Date(this.updated)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults() {
|
|
||||||
return {
|
|
||||||
userId: '',
|
|
||||||
right: 0,
|
|
||||||
|
|
||||||
created: null,
|
|
||||||
updated: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user
Wow. I think that parameter isn't even used like that - should be
password
https://try.vikunja.io/api/v1/docs#tag/user/paths/~1user~1settings~1email/postIs fixed by #1540