packages/openapi/src/admin/setting/update.ts
import type { RouteConfig } from '@asteasolutions/zod-to-openapi';
import { z } from 'zod';
import { axios } from '../../axios';
import { registerRoute } from '../../utils';
export const updateSettingRoSchema = z.object({
disallowSignUp: z.boolean().optional(),
disallowSpaceCreation: z.boolean().optional(),
disallowSpaceInvitation: z.boolean().optional(),
});
export type IUpdateSettingRo = z.infer<typeof updateSettingRoSchema>;
export const UPDATE_SETTING = '/admin/setting';
export const UpdateSettingRoute: RouteConfig = registerRoute({
method: 'patch',
path: UPDATE_SETTING,
description: 'Get the instance settings',
request: {
body: {
content: {
'application/json': {
schema: updateSettingRoSchema,
},
},
},
},
responses: {
200: {
description: 'Update settings successfully.',
},
},
tags: ['admin'],
});
export const updateSetting = async (updateSettingRo: IUpdateSettingRo) => {
return axios.patch(UPDATE_SETTING, updateSettingRo);
};