Init
This commit is contained in:
38
frontend/src/app/api/dtos/Board/CreateBoardDto.ts
Normal file
38
frontend/src/app/api/dtos/Board/CreateBoardDto.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import type { Nullable } from '@/shared';
|
||||
import { BoardType } from '../../../../shared';
|
||||
|
||||
export class CreateBoardDto {
|
||||
name: string;
|
||||
// if not provided, will be calculated on backend
|
||||
sortOrder?: number;
|
||||
type: BoardType;
|
||||
recordId: Nullable<number>;
|
||||
|
||||
constructor({ name, sortOrder, type, recordId }: CreateBoardDto) {
|
||||
this.name = name;
|
||||
this.sortOrder = sortOrder;
|
||||
this.type = type;
|
||||
this.recordId = recordId;
|
||||
}
|
||||
|
||||
static forEntityType({
|
||||
name,
|
||||
sortOrder,
|
||||
entityTypeId,
|
||||
}: {
|
||||
name: string;
|
||||
sortOrder?: number;
|
||||
entityTypeId: number;
|
||||
}): CreateBoardDto {
|
||||
return new CreateBoardDto({
|
||||
name,
|
||||
sortOrder,
|
||||
type: BoardType.ENTITY_TYPE,
|
||||
recordId: entityTypeId,
|
||||
});
|
||||
}
|
||||
|
||||
static forTasks({ name, sortOrder }: { name: string; sortOrder: number }): CreateBoardDto {
|
||||
return new CreateBoardDto({ name, sortOrder, type: BoardType.TASK, recordId: null });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user