mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
Merge branch 'feature' into feat/refresh
# Conflicts: # app/api/agent/[agentId]/backup/route.ts # app/api/events/route.ts # src/components/wrappers/dashboard/database/backup/actions/backup-actions-form.tsx # src/components/wrappers/dashboard/database/backup/actions/backup-actions.action.ts # src/components/wrappers/dashboard/database/channels-policy/policy-form.tsx # src/lib/tasks/database/index.ts
This commit is contained in:
+1
-1
@@ -95,7 +95,7 @@ export const StorageS3Form = ({form}: StorageS3FormProps) => {
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="config.useSSL"
|
||||
name="config.ssl"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>Use SSL</FormLabel>
|
||||
|
||||
@@ -220,18 +220,7 @@ export const BackupActionsForm = ({backup, action}: BackupActionsFormProps) => {
|
||||
|
||||
<div className="flex flex-row items-center gap-x-4 w-full">
|
||||
{action === "delete" && (
|
||||
// <ButtonWithLoading
|
||||
// type="button"
|
||||
// variant="destructive"
|
||||
// onClick={() => mutationDeleteEntireBackup.mutateAsync()}
|
||||
// isPending={mutationDeleteEntireBackup.isPending}
|
||||
// disabled={mutationDeleteEntireBackup.isPending}
|
||||
// >
|
||||
// Delete entire backup
|
||||
// </ButtonWithLoading>
|
||||
|
||||
|
||||
<ButtonWithLoading
|
||||
<ButtonWithLoading
|
||||
type="button"
|
||||
variant="destructive"
|
||||
onClick={() => mutationDeleteEntireBackup.mutateAsync()}
|
||||
@@ -240,35 +229,6 @@ export const BackupActionsForm = ({backup, action}: BackupActionsFormProps) => {
|
||||
>
|
||||
Delete entire backup
|
||||
</ButtonWithLoading>
|
||||
|
||||
// <ButtonWithConfirm
|
||||
// title={"Delete entire backup"}
|
||||
// description={"Are you sure you want to delete this entire backup?"}
|
||||
// button={{
|
||||
// main: {
|
||||
// type: "button",
|
||||
// variant: "destructive",
|
||||
// text: "Delete entire backup",
|
||||
// },
|
||||
// confirm: {
|
||||
// className: "w-full",
|
||||
// text: "Delete",
|
||||
// icon: <Trash2/>,
|
||||
// variant: "destructive",
|
||||
// onClick: async () => {
|
||||
// mutationDeleteEntireBackup.mutateAsync()
|
||||
// },
|
||||
// },
|
||||
// cancel: {
|
||||
// className: "w-full",
|
||||
// text: "Cancel",
|
||||
// icon: <Trash2/>,
|
||||
// variant: "outline",
|
||||
// },
|
||||
// }}
|
||||
// isPending={mutationDeleteEntireBackup.isPending}
|
||||
// />
|
||||
|
||||
)}
|
||||
|
||||
{filteredBackupStorages.length > 0 && (
|
||||
|
||||
@@ -103,7 +103,6 @@ export const ChannelPoliciesForm = ({
|
||||
return existing &&
|
||||
(existing.eventKinds !== policy.eventKinds || existing.enabled !== policy.enabled);
|
||||
});
|
||||
|
||||
const promises = kind === "notification"
|
||||
? [
|
||||
policiesToAdd.length > 0 ? await createAlertPoliciesAction({databaseId: database.id, alertPolicies: policiesToAdd}) : null,
|
||||
@@ -128,9 +127,9 @@ export const ChannelPoliciesForm = ({
|
||||
if (failedActions.length > 0) throw new Error(failedActions[0].data.actionError?.message || "One or more operations failed");
|
||||
return {success: true};
|
||||
},
|
||||
onSuccess: () => {
|
||||
toast.success("Policies saved successfully");
|
||||
queryClient.invalidateQueries({queryKey: ["database-data", database.id]});
|
||||
onSuccess: () => {
|
||||
toast.success("Policies saved successfully");
|
||||
queryClient.invalidateQueries({queryKey: ["database-data", database.id]});
|
||||
},
|
||||
onError: (error: any) => { toast.error(error.message || "Failed to save policies"); },
|
||||
});
|
||||
|
||||
@@ -4,13 +4,11 @@ import {ServerActionResult} from "@/types/action-type";
|
||||
import {db} from "@/db";
|
||||
import * as drizzleDb from "@/db";
|
||||
import {Backup} from "@/db/schema/07_database";
|
||||
import {getFileExtension} from "../../../../../../app/api/agent/[agentId]/backup/helpers";
|
||||
import {v4 as uuidv4} from "uuid";
|
||||
import {eq} from "drizzle-orm";
|
||||
import {uploadLocalPrivate, uploadS3Private} from "@/features/upload/private/upload.action";
|
||||
import {z} from "zod";
|
||||
import {env} from "@/env.mjs";
|
||||
import {storeBackupFiles} from "@/features/storages/helpers";
|
||||
import {getFileExtension} from "@/features/api/upload/helpers/file";
|
||||
|
||||
|
||||
export const uploadBackupAction = userAction
|
||||
|
||||
Reference in New Issue
Block a user