Skip to content

Commit c5d166e

Browse files
Merging
1 parent 3a5658e commit c5d166e

File tree

4 files changed

+13
-108
lines changed

4 files changed

+13
-108
lines changed

src/Frontend/src/components/failedmessages/DeletedMessages.vue

Lines changed: 1 addition & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import ServiceControlAvailable from "../ServiceControlAvailable.vue";
77
import MessageList, { IMessageList } from "./MessageList.vue";
88
import ConfirmDialog from "../ConfirmDialog.vue";
99
import PaginationStrip from "../../components/PaginationStrip.vue";
10-
import dayjs from "@/utils/dayjs";
11-
import { ExtendedFailedMessage } from "@/resources/FailedMessage";
10+
import { FailedMessageStatus } from "@/resources/FailedMessage";
1211
import { TYPE } from "vue-toastification";
1312
import FAIcon from "@/components/FAIcon.vue";
1413
import { faArrowRotateRight } from "@fortawesome/free-solid-svg-icons";
@@ -27,102 +26,6 @@ const { messages, groupId, groupName, totalCount, pageNumber, selectedPeriod } =
2726
2827
const showConfirmRestore = ref(false);
2928
const messageList = ref<IMessageList | undefined>();
30-
const messages = ref<ExtendedFailedMessage[]>([]);
31-
32-
watch(pageNumber, () => loadMessages());
33-
34-
const configurationStore = useConfigurationStore();
35-
const { configuration } = storeToRefs(configurationStore);
36-
const serviceControlStore = useServiceControlStore();
37-
38-
function loadMessages() {
39-
let startDate = new Date(0);
40-
const endDate = new Date();
41-
42-
switch (selectedPeriod.value) {
43-
case "All Deleted":
44-
startDate = new Date();
45-
startDate.setHours(startDate.getHours() - 24 * 365);
46-
break;
47-
case "Deleted in the last 2 Hours":
48-
startDate = new Date();
49-
startDate.setHours(startDate.getHours() - 2);
50-
break;
51-
case "Deleted in the last 1 Day":
52-
startDate = new Date();
53-
startDate.setHours(startDate.getHours() - 24);
54-
break;
55-
case "Deleted in the last 7 days":
56-
startDate = new Date();
57-
startDate.setHours(startDate.getHours() - 24 * 7);
58-
break;
59-
}
60-
return loadPagedMessages(groupId.value, pageNumber.value, "", "", startDate.toISOString(), endDate.toISOString());
61-
}
62-
63-
async function loadGroupDetails(groupId: string) {
64-
const [, data] = await serviceControlStore.fetchTypedFromServiceControl<FailureGroup>(`archive/groups/id/${groupId}`);
65-
groupName.value = data.title;
66-
}
67-
68-
function loadPagedMessages(groupId?: string, page: number = 1, sortBy: string = "modified", direction: string = "desc", startDate: string = new Date(0).toISOString(), endDate: string = new Date().toISOString()) {
69-
const dateRange = startDate + "..." + endDate;
70-
let loadGroupDetailsPromise;
71-
if (groupId && !groupName.value) {
72-
loadGroupDetailsPromise = loadGroupDetails(groupId);
73-
}
74-
75-
async function loadDelMessages() {
76-
try {
77-
const [response, data] = await serviceControlStore.fetchTypedFromServiceControl<ExtendedFailedMessage[]>(
78-
`${groupId ? `recoverability/groups/${groupId}/` : ""}errors?status=archived&page=${page}&per_page=${perPage}&sort=${sortBy}&direction=${direction}&modified=${dateRange}`
79-
);
80-
81-
totalCount.value = parseInt(response.headers.get("Total-Count") ?? "0");
82-
83-
if (messages.value.length && data.length) {
84-
// merge the previously selected messages into the new list so we can replace them
85-
messages.value.forEach((previousMessage) => {
86-
const receivedMessage = data.find((m) => m.id === previousMessage.id);
87-
if (receivedMessage) {
88-
if (previousMessage.last_modified === receivedMessage.last_modified) {
89-
receivedMessage.retryInProgress = previousMessage.retryInProgress;
90-
receivedMessage.deleteInProgress = previousMessage.deleteInProgress;
91-
}
92-
93-
receivedMessage.selected = previousMessage.selected;
94-
}
95-
});
96-
}
97-
messages.value = updateMessagesScheduledDeletionDate(data);
98-
} catch (err) {
99-
console.log(err);
100-
const result = {
101-
message: "error",
102-
};
103-
return result;
104-
}
105-
}
106-
107-
const loadDelMessagesPromise = loadDelMessages();
108-
109-
if (loadGroupDetailsPromise) {
110-
return Promise.all([loadGroupDetailsPromise, loadDelMessagesPromise]);
111-
}
112-
113-
return loadDelMessagesPromise;
114-
}
115-
116-
function updateMessagesScheduledDeletionDate(messages: ExtendedFailedMessage[]) {
117-
//check deletion time
118-
messages.forEach((message) => {
119-
message.error_retention_period = dayjs.duration(configuration.value?.data_retention.error_retention_period ?? "PT0S").asHours();
120-
const countdown = dayjs(message.last_modified).add(message.error_retention_period, "hours");
121-
message.delete_soon = countdown < dayjs();
122-
message.deleted_in = countdown.format();
123-
});
124-
return messages;
125-
}
12629
12730
function numberSelected() {
12831
return messageList.value?.getSelectedMessages()?.length ?? 0;

src/Frontend/src/components/monitoring/monitoringClient.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { authFetch } from "@/composables/useAuthenticatedFetch";
12
import { Endpoint, EndpointDetails } from "@/resources/MonitoringEndpoint";
23

34
export interface MetricsConnectionDetails {
@@ -56,7 +57,7 @@ class MonitoringClient {
5657
if (this.isMonitoringDisabled) {
5758
return;
5859
}
59-
await fetch(`${this.url}monitored-instance/${endpointName}/${instanceId}`, {
60+
await authFetch(`${this.url}monitored-instance/${endpointName}/${instanceId}`, {
6061
method: "DELETE",
6162
});
6263
}
@@ -66,7 +67,7 @@ class MonitoringClient {
6667
return false;
6768
}
6869

69-
const response = await fetch(`${this.url}`, {
70+
const response = await authFetch(`${this.url}`, {
7071
method: "OPTIONS",
7172
});
7273

@@ -94,7 +95,7 @@ class MonitoringClient {
9495
return [];
9596
}
9697

97-
const response = await fetch(`${this.url}${suffix}`);
98+
const response = await authFetch(`${this.url}${suffix}`);
9899
const data = await response.json();
99100

100101
return [response, data];

src/Frontend/src/components/serviceControlClient.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { authFetch } from "@/composables/useAuthenticatedFetch";
2+
13
export interface ServiceControlInstanceConnection {
24
settings: { [key: string]: object };
35
errors: string[];
@@ -27,7 +29,7 @@ class ServiceControlClient {
2729
}
2830

2931
public async fetchTypedFromServiceControl<T>(suffix: string, signal?: AbortSignal): Promise<[Response, T]> {
30-
const response = await fetch(`${this.url}${suffix}`, { signal });
32+
const response = await authFetch(`${this.url}${suffix}`, { signal });
3133
if (!response.ok) throw new Error(response.statusText ?? "No response");
3234
const data = await response.json();
3335

@@ -42,7 +44,7 @@ class ServiceControlClient {
4244
requestOptions.headers = { "Content-Type": "application/json" };
4345
requestOptions.body = JSON.stringify(payload);
4446
}
45-
return await fetch(`${this.url}${suffix}`, requestOptions);
47+
return await authFetch(`${this.url}${suffix}`, requestOptions);
4648
}
4749

4850
public async putToServiceControl(suffix: string, payload: object | null) {
@@ -53,14 +55,14 @@ class ServiceControlClient {
5355
requestOptions.headers = { "Content-Type": "application/json" };
5456
requestOptions.body = JSON.stringify(payload);
5557
}
56-
return await fetch(`${this.url}${suffix}`, requestOptions);
58+
return await authFetch(`${this.url}${suffix}`, requestOptions);
5759
}
5860

5961
public async deleteFromServiceControl(suffix: string) {
6062
const requestOptions: RequestInit = {
6163
method: "DELETE",
6264
};
63-
return await fetch(`${this.url}${suffix}`, requestOptions);
65+
return await authFetch(`${this.url}${suffix}`, requestOptions);
6466
}
6567

6668
public async patchToServiceControl(suffix: string, payload: object | null) {
@@ -71,7 +73,7 @@ class ServiceControlClient {
7173
requestOptions.headers = { "Content-Type": "application/json" };
7274
requestOptions.body = JSON.stringify(payload);
7375
}
74-
return await fetch(`${this.url}${suffix}`, requestOptions);
76+
return await authFetch(`${this.url}${suffix}`, requestOptions);
7577
}
7678

7779
public async fetchFromServiceControl(suffix: string, options?: { cache?: RequestCache }) {
@@ -82,7 +84,7 @@ class ServiceControlClient {
8284
Accept: "application/json",
8385
},
8486
};
85-
return await fetch(`${this.url}${suffix}`, requestOptions);
87+
return await authFetch(`${this.url}${suffix}`, requestOptions);
8688
}
8789

8890
public async getErrorMessagesCount(status: string) {

src/Frontend/src/stores/MessageStore.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { EditAndRetryConfig } from "@/resources/Configuration";
1414
import EditRetryResponse from "@/resources/EditRetryResponse";
1515
import { EditedMessage } from "@/resources/EditMessage";
1616
import useEnvironmentAndVersionsAutoRefresh from "@/composables/useEnvironmentAndVersionsAutoRefresh";
17-
import { timeSpanToDuration } from "@/composables/formatter";
1817

1918
interface Model {
2019
id?: string;

0 commit comments

Comments
 (0)