import axios from "axios"; import { Resource } from "@/types/proto/api/v2/resource_service"; export function getSystemStatus() { return axios.get("/api/v1/status"); } export function getSystemSetting() { return axios.get("/api/v1/system/setting"); } export function upsertSystemSetting(systemSetting: SystemSetting) { return axios.post("/api/v1/system/setting", systemSetting); } export function vacuumDatabase() { return axios.post("/api/v1/system/vacuum"); } export function signin(username: string, password: string, remember: boolean) { return axios.post("/api/v1/auth/signin", { username, password, remember, }); } export function signinWithSSO(identityProviderId: IdentityProviderId, code: string, redirectUri: string) { return axios.post("/api/v1/auth/signin/sso", { identityProviderId, code, redirectUri, }); } export function signup(username: string, password: string) { return axios.post("/api/v1/auth/signup", { username, password, }); } export function signout() { return axios.post("/api/v1/auth/signout"); } export function getUserList() { return axios.get("/api/v1/user"); } export function getUserById(id: number) { return axios.get(`/api/v1/user/${id}`); } export function upsertUserSetting(upsert: UserSettingUpsert) { return axios.post(`/api/v1/user/setting`, upsert); } export function getMemoStats(username: string) { return axios.get(`/api/v1/memo/stats?creatorUsername=${username}`); } export function createResource(resourceCreate: ResourceCreate) { return axios.post("/api/v1/resource", resourceCreate); } export function createResourceWithBlob(formData: FormData) { return axios.post("/api/v1/resource/blob", formData); } export function getStorageList() { return axios.get(`/api/v1/storage`); } export function createStorage(storageCreate: StorageCreate) { return axios.post(`/api/v1/storage`, storageCreate); } export function patchStorage(storagePatch: StoragePatch) { return axios.patch(`/api/v1/storage/${storagePatch.id}`, storagePatch); } export function deleteStorage(storageId: StorageId) { return axios.delete(`/api/v1/storage/${storageId}`); } export function getIdentityProviderList() { return axios.get(`/api/v1/idp`); } export function createIdentityProvider(identityProviderCreate: IdentityProviderCreate) { return axios.post(`/api/v1/idp`, identityProviderCreate); } export function patchIdentityProvider(identityProviderPatch: IdentityProviderPatch) { return axios.patch(`/api/v1/idp/${identityProviderPatch.id}`, identityProviderPatch); } export function deleteIdentityProvider(id: IdentityProviderId) { return axios.delete(`/api/v1/idp/${id}`); }