Skip to content
Snippets Groups Projects
Commit 2cc59f39 authored by Benedikt Heinrichs's avatar Benedikt Heinrichs
Browse files

New: Maintenance API

parent 5322ac07
No related branches found
No related tags found
2 merge requests!257Apiv2,!249New: Maintenance API
Pipeline #1030138 failed
......@@ -25,7 +25,7 @@
import { defineComponent } from "vue";
// import the main store
import useMainStore from "@/store/index";
import type { MaintenanceReturnObject } from "@coscine/api-client/dist/types/Coscine.Api.Notices";
import type { MaintenanceDto } from "@coscine/api-client/dist/types/Coscine.Api";
export default defineComponent({
setup() {
......@@ -34,7 +34,7 @@ export default defineComponent({
},
computed: {
maintenance(): MaintenanceReturnObject {
maintenance(): MaintenanceDto {
return this.mainStore.coscine.banner.maintenance;
},
visibility(): boolean {
......
......@@ -6,7 +6,7 @@ import type { MainState } from "./types";
import { v4 as uuidv4 } from "uuid";
import { removeQueryParameterFromUrl } from "@/router";
import { NoticeApi } from "@coscine/api-client";
import { MaintenanceApi } from "@coscine/api-client";
import useLoginStore from "@/modules/login/store";
import moment from "moment";
......@@ -105,15 +105,16 @@ export const useMainStore = defineStore({
},
async getMaintenance() {
const apiResponse = await NoticeApi.noticeGetMaintenance();
if (apiResponse.data.startsDate) {
const apiResponse = await MaintenanceApi.getCurrentMaintenance();
const maintenance = apiResponse.data.data;
if (maintenance?.startsDate) {
const now = new Date(Date.now());
const startDate = new Date(apiResponse.data.startsDate);
const endDate = apiResponse.data.endsDate;
const startDate = new Date(maintenance.startsDate);
const endDate = maintenance.endsDate;
if (startDate <= now && (!endDate || new Date(endDate) >= now)) {
this.coscine.banner.dateString =
apiResponse.data.startsDate + apiResponse.data.endsDate;
this.coscine.banner.maintenance = apiResponse.data;
maintenance.startsDate + maintenance.endsDate;
this.coscine.banner.maintenance = maintenance;
}
}
},
......
import type { RemovableRef } from "@vueuse/core";
import type { MaintenanceReturnObject } from "@coscine/api-client/dist/types/Coscine.Api.Notices";
import type { MaintenanceDto } from "@coscine/api-client/dist/types/Coscine.Api";
import type { VNode } from "vue";
import type { BvToastOptions } from "bootstrap-vue";
import type { TranslateResult } from "vue-i18n";
......@@ -27,7 +27,7 @@ export interface MainState {
};
locale: RemovableRef<string>;
banner: {
maintenance: MaintenanceReturnObject;
maintenance: MaintenanceDto;
maintenanceVisibility: RemovableRef<string>;
dateString: RemovableRef<string>;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment