@@ -7,8 +7,7 @@ import ServiceControlAvailable from "../ServiceControlAvailable.vue";
77import MessageList , { IMessageList } from " ./MessageList.vue" ;
88import ConfirmDialog from " ../ConfirmDialog.vue" ;
99import PaginationStrip from " ../../components/PaginationStrip.vue" ;
10- import dayjs from " @/utils/dayjs" ;
11- import { ExtendedFailedMessage } from " @/resources/FailedMessage" ;
10+ import { FailedMessageStatus } from " @/resources/FailedMessage" ;
1211import { TYPE } from " vue-toastification" ;
1312import FAIcon from " @/components/FAIcon.vue" ;
1413import { faArrowRotateRight } from " @fortawesome/free-solid-svg-icons" ;
@@ -27,102 +26,6 @@ const { messages, groupId, groupName, totalCount, pageNumber, selectedPeriod } =
2726
2827const showConfirmRestore = ref (false );
2928const 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
12730function numberSelected() {
12831 return messageList .value ?.getSelectedMessages ()?.length ?? 0 ;
0 commit comments