opt-cc/opt-cc-static/src/app/models/model-interfaces.ts

98 lines
1.7 KiB
TypeScript

export interface User {
_id?: string;
boardUserId?: number;
username?: string;
squad?: Squad;
rank?: Rank;
awards?: Award[];
}
export interface Squad {
_id?: string;
name?: string;
fraction?: string;
sortingNumber?: number;
}
export interface Rank {
_id?: string;
name?: string;
fraction?: string;
level?: number;
}
export interface Award {
_id?: string,
userId: string,
decorationId?: Decoration;
reason?: string;
date?: number; // since Date.now() returns a number
confirmed?: boolean;
}
export interface Decoration {
_id?: string;
name?: string;
description?: string;
fraction?: string;
sortingNumber?: number;
isMedal?: boolean;
}
export interface Tag {
label: string;
}
export interface Assignee {
name?: string;
email?: string;
}
export interface Task {
id?: number;
title?: string;
description?: string;
tags?: Tag[];
favorite?: boolean;
state?: string;
assignee?: Assignee;
}
export const states = ['BACKLOG', 'IN_PROGRESS', 'TEST', 'COMPLETED'];
export function createInitialTask(): Task {
return {
assignee: {},
tags: [],
state: states[0]
};
}
export const stateGroups = [
{
label: 'Planung',
states: ['BACKLOG']
},
{
label: 'Entwicklung',
states: ['IN_PROGRESS', 'TEST']
},
{
label: 'In Produktion',
states: ['COMPLETED']
}
];
export const stateTexts = {
'BACKLOG': 'Backlog',
'IN_PROGRESS': 'In Bearbeitung',
'TEST': 'Im Test',
'COMPLETED': 'Abgeschlossen'
};
export const statesAsObjects = [{name: 'BACKLOG', text: 'Backlog'},
{name: 'IN_PROGRESS', text: 'In Bearbeitung'},
{name: 'TEST', text: 'Test'},
{name: 'COMPLETED', text: 'Abgeschlossen'}];