diff --git a/frontend/pages/projects/_id/labels/index.vue b/frontend/pages/projects/_id/labels/index.vue index c039c34d..4d771308 100644 --- a/frontend/pages/projects/_id/labels/index.vue +++ b/frontend/pages/projects/_id/labels/index.vue @@ -172,19 +172,11 @@ export default Vue.extend({ this.isLoading = false }, - create(): any { - return this.service.create(this.projectId, this.editedItem) - }, - - update(): any { - return this.service.update(this.projectId, this.editedItem) - }, - async save() { if (this.editedIndex > -1) { - await this.update() + await this.service.update(this.projectId, this.editedItem) } else { - await this.create() + await this.service.create(this.projectId, this.editedItem) } await this.list() this.close() diff --git a/frontend/services/application/label/labelApplicationService.ts b/frontend/services/application/label/labelApplicationService.ts index 48deffe1..31a1e263 100644 --- a/frontend/services/application/label/labelApplicationService.ts +++ b/frontend/services/application/label/labelApplicationService.ts @@ -14,7 +14,7 @@ export class LabelApplicationService { return items.map(item => new LabelDTO(item)) } - public create(projectId: string, item: CreateLabelCommand): void { + public async create(projectId: string, item: CreateLabelCommand): Promise { // Todo: use auto mapping. const label = new LabelItem() label.text = item.text @@ -22,10 +22,11 @@ export class LabelApplicationService { label.suffixKey = item.suffixKey label.backgroundColor = item.backgroundColor label.textColor = item.textColor - this.repository.create(projectId, label) + const created = await this.repository.create(projectId, label) + return new LabelDTO(created) } - public update(projectId: string, item: LabelDTO): void { + public async update(projectId: string, item: LabelDTO): Promise { // Todo: use auto mapping. const label = new LabelItem() label.id = item.id @@ -34,7 +35,8 @@ export class LabelApplicationService { label.suffixKey = item.suffixKey label.backgroundColor = item.backgroundColor label.textColor = item.textColor - this.repository.update(projectId, label) + const updated = await this.repository.update(projectId, label) + return new LabelDTO(updated) } public bulkDelete(projectId: string, items: LabelDTO[]): Promise {