sb-mig
Version:
CLI to rule the world. (and handle stuff related to Storyblok CMS)
36 lines (35 loc) • 1.13 kB
JavaScript
import { getAllItemsWithPagination } from "../../api/utils/request.js";
export async function getAllRoles(client) {
const spaceId = client.spaceId;
return getAllItemsWithPagination({
apiFn: ({ per_page, page }) => client.sbApi.get(`spaces/${spaceId}/space_roles/`, {
per_page,
page,
}),
params: {
spaceId,
},
itemsKey: "space_roles",
});
}
export async function getRole(client, roleName) {
const roles = await getAllRoles(client);
const match = roles.filter((r) => r.role === roleName);
if (Array.isArray(match) && match.length === 0)
return false;
return match;
}
export async function createRole(client, role) {
const spaceId = client.spaceId;
return client.sbApi
.post(`spaces/${spaceId}/space_roles/`, { space_role: role })
.then((res) => res.data);
}
export async function updateRole(client, role) {
const spaceId = client.spaceId;
return client.sbApi
.put(`spaces/${spaceId}/space_roles/${role.id}`, {
space_role: role,
})
.then((res) => res.data);
}