mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-23 08:23:00 +08:00
38 lines
1.1 KiB
TypeScript
38 lines
1.1 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 = [];
|
|
},
|
|
}
|
|
})
|