budibase/packages/builder/src/stores/backend/roles.js

31 lines
758 B
JavaScript
Raw Normal View History

import { writable } from "svelte/store"
import api from "builderStore/api"
export function createRolesStore() {
2021-03-29 18:23:53 +02:00
const { subscribe, update, set } = writable([])
return {
subscribe,
fetch: async () => {
set(await getRoles())
},
2021-05-04 12:32:22 +02:00
delete: async role => {
const response = await api.delete(`/api/roles/${role._id}/${role._rev}`)
2021-05-04 12:32:22 +02:00
update(state => state.filter(existing => existing._id !== role._id))
return response
},
2021-05-04 12:32:22 +02:00
save: async role => {
const response = await api.post("/api/roles", role)
set(await getRoles())
return response
},
}
}
async function getRoles() {
2021-03-23 13:31:18 +01:00
const response = await api.get("/api/roles")
return await response.json()
}
export const roles = createRolesStore()