mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-06-20 06:35:22 +02:00
Refactor license key deactivation process: update API to retrieve the current user's license key and improve error handling for user validation and missing license keys.
This commit is contained in:
@@ -105,7 +105,7 @@ export function LicenseKeySettings() {
|
||||
description="Are you sure you want to deactivate this license key? This will disable enterprise features."
|
||||
onClick={async () => {
|
||||
try {
|
||||
await deactivateLicenseKey({ licenseKey });
|
||||
await deactivateLicenseKey();
|
||||
await utils.licenseKey.getEnterpriseSettings.invalidate();
|
||||
setIsValid(false);
|
||||
toast.success("License key deactivated");
|
||||
|
||||
@@ -79,28 +79,35 @@ export const licenseKeyRouter = createTRPCRouter({
|
||||
});
|
||||
}
|
||||
}),
|
||||
deactivate: adminProcedure
|
||||
.input(z.object({ licenseKey: z.string() }))
|
||||
.mutation(async ({ input }) => {
|
||||
try {
|
||||
const isValidLicenseKey = await validateLicenseKey(input.licenseKey);
|
||||
if (!isValidLicenseKey) {
|
||||
throw new TRPCError({
|
||||
code: "BAD_REQUEST",
|
||||
message: "License key is invalid",
|
||||
});
|
||||
}
|
||||
return await deactivateLicenseKey(input.licenseKey);
|
||||
} catch (error) {
|
||||
deactivate: adminProcedure.mutation(async ({ ctx }) => {
|
||||
try {
|
||||
const currentUserId = ctx.user.id;
|
||||
const currentUser = await db.query.user.findFirst({
|
||||
where: eq(user.id, currentUserId),
|
||||
});
|
||||
if (!currentUser) {
|
||||
throw new TRPCError({
|
||||
code: "INTERNAL_SERVER_ERROR",
|
||||
message:
|
||||
error instanceof Error
|
||||
? error.message
|
||||
: "Failed to deactivate license key",
|
||||
code: "NOT_FOUND",
|
||||
message: "User not found",
|
||||
});
|
||||
}
|
||||
}),
|
||||
if (!currentUser.licenseKey) {
|
||||
throw new TRPCError({
|
||||
code: "BAD_REQUEST",
|
||||
message: "No license key found",
|
||||
});
|
||||
}
|
||||
return await deactivateLicenseKey(currentUser.licenseKey);
|
||||
} catch (error) {
|
||||
throw new TRPCError({
|
||||
code: "INTERNAL_SERVER_ERROR",
|
||||
message:
|
||||
error instanceof Error
|
||||
? error.message
|
||||
: "Failed to deactivate license key",
|
||||
});
|
||||
}
|
||||
}),
|
||||
getEnterpriseSettings: adminProcedure.query(async ({ ctx }) => {
|
||||
const currentUserId = ctx.user.id;
|
||||
const currentUser = await db.query.user.findFirst({
|
||||
|
||||
Reference in New Issue
Block a user