From c56e8a49682a4e91ccac11ca318561207ef1c977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awek=20Zatorski?= Date: Wed, 13 Nov 2024 15:34:28 +0100 Subject: [PATCH] setttle --- .../sasiedzi/event/service/EventService.java | 5 +++++ .../sasiedzi/event/web/rest/EventResource.java | 8 ++++++++ .../entities/event/event-details.component.ts | 18 ++++++++++++++++++ .../app/entities/event/event-details.vue | 3 +++ .../webapp/app/entities/event/event.service.ts | 13 +++++++++++++ src/main/webapp/app/router/index.ts | 2 +- 6 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sasiedzi/event/service/EventService.java b/src/main/java/com/sasiedzi/event/service/EventService.java index 77b84da..fd72750 100644 --- a/src/main/java/com/sasiedzi/event/service/EventService.java +++ b/src/main/java/com/sasiedzi/event/service/EventService.java @@ -2,6 +2,7 @@ package com.sasiedzi.event.service; import com.sasiedzi.event.domain.Event; import com.sasiedzi.event.repository.EventRepository; +import jakarta.validation.Valid; import java.util.List; import java.util.Optional; import org.slf4j.Logger; @@ -111,4 +112,8 @@ public class EventService { LOG.debug("Request to delete Event : {}", id); eventRepository.deleteById(id); } + + public Optional settle(@Valid Event event) { + return eventRepository.findById(event.getId()); + } } diff --git a/src/main/java/com/sasiedzi/event/web/rest/EventResource.java b/src/main/java/com/sasiedzi/event/web/rest/EventResource.java index 77977ec..0d13650 100644 --- a/src/main/java/com/sasiedzi/event/web/rest/EventResource.java +++ b/src/main/java/com/sasiedzi/event/web/rest/EventResource.java @@ -61,6 +61,14 @@ public class EventResource { .body(event); } + @PostMapping("/{id}/settle") + public ResponseEntity> settleEvent(@RequestBody Optional event) throws URISyntaxException { + event = eventService.settle(event.orElse(null)); + return ResponseEntity.ok() + .headers(HeaderUtil.createEntityUpdateAlert(applicationName, false, ENTITY_NAME, event.get().getId().toString())) + .body(event); + } + /** * {@code PUT /events/:id} : Updates an existing event. * diff --git a/src/main/webapp/app/entities/event/event-details.component.ts b/src/main/webapp/app/entities/event/event-details.component.ts index e194e73..c14d82e 100644 --- a/src/main/webapp/app/entities/event/event-details.component.ts +++ b/src/main/webapp/app/entities/event/event-details.component.ts @@ -10,6 +10,7 @@ import type { IRegistration } from '@/shared/model/registration.model'; import RegistrationService from '@/entities/registration/registration.service'; import UserService from '@/entities/user/user.service'; import type AccountService from '@/account/account.service'; +// import type EventService from '@/account/account.service'; export default defineComponent({ compatConfig: { MODE: 3 }, @@ -105,6 +106,7 @@ export default defineComponent({ alertService, hasAnyAuthorityValues, accountService, + eventService, event, ...dataUtils, formatDateShort, @@ -127,5 +129,21 @@ export default defineComponent({ }); return this.hasAnyAuthorityValues[authorities] ?? false; }, + settle(): void { + this.isSaving = true; + if (this.event.id) { + this.eventService() + .settle(this.event) + .then(param => { + this.isSaving = false; + // this.previousState(); + this.alertService.showInfo(`The event has been settled up`); + }) + .catch(error => { + this.isSaving = false; + this.alertService.showHttpError(error.response); + }); + } + }, }, }); diff --git a/src/main/webapp/app/entities/event/event-details.vue b/src/main/webapp/app/entities/event/event-details.vue index 4b6f8c8..90cc162 100644 --- a/src/main/webapp/app/entities/event/event-details.vue +++ b/src/main/webapp/app/entities/event/event-details.vue @@ -40,6 +40,9 @@  Dołącz do wydarzenia +
diff --git a/src/main/webapp/app/entities/event/event.service.ts b/src/main/webapp/app/entities/event/event.service.ts index f93f4bb..0384f4c 100644 --- a/src/main/webapp/app/entities/event/event.service.ts +++ b/src/main/webapp/app/entities/event/event.service.ts @@ -57,6 +57,19 @@ export default class EventService { }); } + public settle(entity: IEvent): Promise { + return new Promise((resolve, reject) => { + axios + .post(`${baseApiUrl}/${entity.id}/settle`, entity) + .then(res => { + resolve(res.data); + }) + .catch(err => { + reject(err); + }); + }); + } + public update(entity: IEvent): Promise { return new Promise((resolve, reject) => { axios diff --git a/src/main/webapp/app/router/index.ts b/src/main/webapp/app/router/index.ts index 912bcf3..8012a3a 100644 --- a/src/main/webapp/app/router/index.ts +++ b/src/main/webapp/app/router/index.ts @@ -12,7 +12,7 @@ export const createRouter = () => routes: [ { path: '/', - redirect: '/event/1551/view', + redirect: '/event/1/view', }, { path: '/forbidden',