111 lines
4.3 KiB
TypeScript
111 lines
4.3 KiB
TypeScript
import { authedAdminProcedure } from "../../../procedures/authedProcedure";
|
|
import { importHandler, router } from "../../../trpc";
|
|
import { ZCreateSelfHostedLicenseSchema } from "./createSelfHostedLicenseKey.schema";
|
|
import { ZListMembersSchema } from "./listPaginated.schema";
|
|
import { ZAdminLockUserAccountSchema } from "./lockUserAccount.schema";
|
|
import { ZAdminRemoveTwoFactor } from "./removeTwoFactor.schema";
|
|
import { ZAdminPasswordResetSchema } from "./sendPasswordReset.schema";
|
|
import { ZSetSMSLockState } from "./setSMSLockState.schema";
|
|
import { toggleFeatureFlag } from "./toggleFeatureFlag.procedure";
|
|
import {
|
|
workspacePlatformCreateSchema,
|
|
workspacePlatformUpdateSchema,
|
|
workspacePlatformUpdateServiceAccountSchema,
|
|
workspacePlatformToggleEnabledSchema,
|
|
} from "./workspacePlatform/schema";
|
|
|
|
const NAMESPACE = "admin";
|
|
|
|
const namespaced = (s: string) => `${NAMESPACE}.${s}`;
|
|
|
|
export const adminRouter = router({
|
|
listPaginated: authedAdminProcedure.input(ZListMembersSchema).query(async (opts) => {
|
|
const handler = await importHandler(namespaced("listPaginated"), () => import("./listPaginated.handler"));
|
|
return handler(opts);
|
|
}),
|
|
sendPasswordReset: authedAdminProcedure.input(ZAdminPasswordResetSchema).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("sendPasswordReset"),
|
|
() => import("./sendPasswordReset.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
lockUserAccount: authedAdminProcedure.input(ZAdminLockUserAccountSchema).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("lockUserAccount"),
|
|
() => import("./lockUserAccount.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
toggleFeatureFlag,
|
|
removeTwoFactor: authedAdminProcedure.input(ZAdminRemoveTwoFactor).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("removeTwoFactor"),
|
|
() => import("./removeTwoFactor.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
getSMSLockStateTeamsUsers: authedAdminProcedure.query(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("getSMSLockStateTeamsUsers"),
|
|
() => import("./getSMSLockStateTeamsUsers.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
setSMSLockState: authedAdminProcedure.input(ZSetSMSLockState).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("setSMSLockState"),
|
|
() => import("./setSMSLockState.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
createSelfHostedLicense: authedAdminProcedure
|
|
.input(ZCreateSelfHostedLicenseSchema)
|
|
.mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("createSelfHostedLicense"),
|
|
() => import("./createSelfHostedLicenseKey.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
workspacePlatform: router({
|
|
list: authedAdminProcedure.query(async () => {
|
|
const handler = await importHandler(
|
|
namespaced("workspacePlatforms.list"),
|
|
() => import("./workspacePlatform/list.handler")
|
|
);
|
|
return handler();
|
|
}),
|
|
add: authedAdminProcedure.input(workspacePlatformCreateSchema).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("workspacePlatforms.add"),
|
|
() => import("./workspacePlatform/add.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
update: authedAdminProcedure.input(workspacePlatformUpdateSchema).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("workspacePlatforms.update"),
|
|
() => import("./workspacePlatform/update.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
updateServiceAccount: authedAdminProcedure
|
|
.input(workspacePlatformUpdateServiceAccountSchema)
|
|
.mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("workspacePlatforms.updateServiceAccount"),
|
|
() => import("./workspacePlatform/updateServiceAccount.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
toggleEnabled: authedAdminProcedure.input(workspacePlatformToggleEnabledSchema).mutation(async (opts) => {
|
|
const handler = await importHandler(
|
|
namespaced("workspacePlatforms.toggleEnabled"),
|
|
() => import("./workspacePlatform/toggleEnabled.handler")
|
|
);
|
|
return handler(opts);
|
|
}),
|
|
}),
|
|
});
|