mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-24 00:42:59 +08:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { defineStore } from 'pinia';
|
|
import { useApiUtil } from '../composables';
|
|
|
|
const { withClientQuery } = useApiUtil();
|
|
|
|
import { GET_AUDIT_LOG_FOR_TARGET } from '../graphql/_queries';
|
|
|
|
export const useAuditLogStore = defineStore('auditlog', {
|
|
state: () => {
|
|
return {
|
|
auditLogs: [] as any as any[],
|
|
fetchingAudits: false,
|
|
};
|
|
},
|
|
getters: {
|
|
getAuditLogs: state => state.auditLogs,
|
|
},
|
|
actions: {
|
|
async fetchAuditLogs(params) {
|
|
this.fetchingAudits = true;
|
|
await withClientQuery(GET_AUDIT_LOG_FOR_TARGET, params, 'auditLogsFilter')
|
|
.then(payload => {
|
|
this.fetchingAudits = false;
|
|
this.auditLogs = payload?.map(logs => {
|
|
logs.stateAfter = typeof logs?.stateAfter === 'string' ? JSON.parse(logs?.stateAfter) : logs?.stateAfter;
|
|
logs.stateBefore = typeof logs?.stateBefore === 'string' ? JSON.parse(logs?.stateBefore) : logs?.stateBefore;
|
|
return logs;
|
|
});
|
|
})
|
|
.catch(err => (this.fetchingAudits = false));
|
|
},
|
|
async restLogs() {
|
|
this.auditLogs = [];
|
|
},
|
|
},
|
|
});
|