17affc529SSandeepa Singhimport api from '@/store/api';
2d8c71c00SKonstantin Aladyshevimport i18n from '@/i18n';
37affc529SSandeepa Singh
47affc529SSandeepa Singhconst PostCodeLogsStore = {
57affc529SSandeepa Singh  namespaced: true,
67affc529SSandeepa Singh  state: {
77affc529SSandeepa Singh    allPostCodes: [],
87affc529SSandeepa Singh  },
97affc529SSandeepa Singh  getters: {
107affc529SSandeepa Singh    allPostCodes: (state) => state.allPostCodes,
117affc529SSandeepa Singh  },
127affc529SSandeepa Singh  mutations: {
137affc529SSandeepa Singh    setAllPostCodes: (state, allPostCodes) =>
147affc529SSandeepa Singh      (state.allPostCodes = allPostCodes),
157affc529SSandeepa Singh  },
167affc529SSandeepa Singh  actions: {
177affc529SSandeepa Singh    async getPostCodesLogData({ commit }) {
187affc529SSandeepa Singh      return await api
19*8841b7d4SSean Zhang        .get(
20*8841b7d4SSean Zhang          `${await this.dispatch('global/getSystemPath')}/LogServices/PostCodes/Entries`,
21*8841b7d4SSean Zhang        )
227affc529SSandeepa Singh        .then(({ data: { Members = [] } = {} }) => {
237affc529SSandeepa Singh          const postCodeLogs = Members.map((log) => {
247affc529SSandeepa Singh            const { Created, MessageArgs, AdditionalDataURI } = log;
257affc529SSandeepa Singh            return {
267affc529SSandeepa Singh              date: new Date(Created),
277affc529SSandeepa Singh              bootCount: MessageArgs[0],
287affc529SSandeepa Singh              timeStampOffset: MessageArgs[1],
297affc529SSandeepa Singh              postCode: MessageArgs[2],
307affc529SSandeepa Singh              uri: AdditionalDataURI,
317affc529SSandeepa Singh            };
327affc529SSandeepa Singh          });
337affc529SSandeepa Singh          commit('setAllPostCodes', postCodeLogs);
347affc529SSandeepa Singh        })
357affc529SSandeepa Singh        .catch((error) => {
367affc529SSandeepa Singh          console.log('POST Codes Log Data:', error);
377affc529SSandeepa Singh        });
387affc529SSandeepa Singh    },
39d8c71c00SKonstantin Aladyshev    async deleteAllPostCodeLogs({ dispatch }, data) {
40d8c71c00SKonstantin Aladyshev      return await api
41d8c71c00SKonstantin Aladyshev        .post(
42*8841b7d4SSean Zhang          `${await this.dispatch('global/getSystemPath')}/LogServices/PostCodes/Actions/LogService.ClearLog`,
43d8c71c00SKonstantin Aladyshev        )
44d8c71c00SKonstantin Aladyshev        .then(() => dispatch('getPostCodesLogData'))
45d8c71c00SKonstantin Aladyshev        .then(() =>
468132399cSEd Tanous          i18n.tc('pagePostCodeLogs.toast.successDelete', data.length),
47d8c71c00SKonstantin Aladyshev        )
48d8c71c00SKonstantin Aladyshev        .catch((error) => {
49d8c71c00SKonstantin Aladyshev          console.log(error);
50d8c71c00SKonstantin Aladyshev          throw new Error(
518132399cSEd Tanous            i18n.tc('pagePostCodeLogs.toast.errorDelete', data.length),
52d8c71c00SKonstantin Aladyshev          );
53d8c71c00SKonstantin Aladyshev        });
54d8c71c00SKonstantin Aladyshev    },
557affc529SSandeepa Singh  },
567affc529SSandeepa Singh};
577affc529SSandeepa Singh
587affc529SSandeepa Singhexport default PostCodeLogsStore;
59