vikunja-frontend/src/models/teamShareBase.ts

39 lines
814 B
TypeScript
Raw Normal View History

import AbstractModel from './abstractModel'
2022-06-23 03:14:58 +02:00
import {RIGHTS, type Right} from '@/models/constants/rights'
2022-07-21 00:42:36 +02:00
import type { ITeam } from './team'
export interface ITeamShareBase extends AbstractModel {
2022-07-21 00:42:36 +02:00
teamId: ITeam['id']
right: Right
created: Date
updated: Date
}
/**
* This class is a base class for common team sharing model.
* It is extended in a way so it can be used for namespaces as well for lists.
*/
2022-07-21 00:42:36 +02:00
export default class TeamShareBaseModel extends AbstractModel implements ITeamShareBase {
declare teamId: ITeam['id']
declare right: Right
2022-06-23 03:22:21 +02:00
created: Date
updated: Date
constructor(data) {
super(data)
this.created = new Date(this.created)
this.updated = new Date(this.updated)
}
defaults() {
return {
teamId: 0,
2022-06-23 03:14:58 +02:00
right: RIGHTS.READ,
created: null,
updated: null,
}
}
}