refactor: replace existing organization_role and audit_log tables with new definitions

- Deleted the old SQL files for organization_role and audit_log.
- Introduced new SQL file defining organization_role and audit_log with updated foreign key constraints and indexes.
- Updated metadata snapshots to reflect the new table structures and relationships.
- Adjusted access control permissions for backup and notification operations to include update capabilities.
This commit is contained in:
Mauricio Siu
2026-03-15 23:02:23 -06:00
parent 5410a56638
commit 947100c041
10 changed files with 224 additions and 7795 deletions

View File

@@ -77,22 +77,21 @@ export const backupRouter = createTRPCRouter({
.input(apiCreateBackup)
.mutation(async ({ input, ctx }) => {
try {
const newBackup = await createBackup(input);
const backup = await findBackupById(newBackup.backupId);
const serviceId =
backup.postgresId ||
backup.mysqlId ||
backup.mariadbId ||
backup.mongoId ||
backup.composeId;
input.postgresId ||
input.mysqlId ||
input.mariadbId ||
input.mongoId ||
input.composeId;
if (serviceId) {
await checkServicePermissionAndAccess(ctx, serviceId, {
backup: ["create"],
});
}
const newBackup = await createBackup(input);
const backup = await findBackupById(newBackup.backupId);
if (IS_CLOUD && backup.enabled) {
const databaseType = backup.databaseType;
let serverId = "";
@@ -168,21 +167,22 @@ export const backupRouter = createTRPCRouter({
.input(apiUpdateBackup)
.mutation(async ({ input, ctx }) => {
try {
await updateBackupById(input.backupId, input);
const backup = await findBackupById(input.backupId);
const existing = await findBackupById(input.backupId);
const serviceId =
backup.postgresId ||
backup.mysqlId ||
backup.mariadbId ||
backup.mongoId ||
backup.composeId;
existing.postgresId ||
existing.mysqlId ||
existing.mariadbId ||
existing.mongoId ||
existing.composeId;
if (serviceId) {
await checkServicePermissionAndAccess(ctx, serviceId, {
backup: ["create"],
backup: ["update"],
});
}
await updateBackupById(input.backupId, input);
const backup = await findBackupById(input.backupId);
if (IS_CLOUD) {
if (backup.enabled) {
await updateJob({

View File

@@ -107,7 +107,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateSlack: withPermission("notification", "create")
updateSlack: withPermission("notification", "update")
.input(apiUpdateSlack)
.mutation(async ({ input, ctx }) => {
try {
@@ -172,7 +172,7 @@ export const notificationRouter = createTRPCRouter({
}
}),
updateTelegram: withPermission("notification", "create")
updateTelegram: withPermission("notification", "update")
.input(apiUpdateTelegram)
.mutation(async ({ input, ctx }) => {
try {
@@ -238,7 +238,7 @@ export const notificationRouter = createTRPCRouter({
}
}),
updateDiscord: withPermission("notification", "create")
updateDiscord: withPermission("notification", "update")
.input(apiUpdateDiscord)
.mutation(async ({ input, ctx }) => {
try {
@@ -309,7 +309,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateEmail: withPermission("notification", "create")
updateEmail: withPermission("notification", "update")
.input(apiUpdateEmail)
.mutation(async ({ input, ctx }) => {
try {
@@ -375,7 +375,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateResend: withPermission("notification", "create")
updateResend: withPermission("notification", "update")
.input(apiUpdateResend)
.mutation(async ({ input, ctx }) => {
try {
@@ -561,7 +561,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateGotify: withPermission("notification", "create")
updateGotify: withPermission("notification", "update")
.input(apiUpdateGotify)
.mutation(async ({ input, ctx }) => {
try {
@@ -626,7 +626,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateNtfy: withPermission("notification", "create")
updateNtfy: withPermission("notification", "update")
.input(apiUpdateNtfy)
.mutation(async ({ input, ctx }) => {
try {
@@ -693,7 +693,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateCustom: withPermission("notification", "create")
updateCustom: withPermission("notification", "update")
.input(apiUpdateCustom)
.mutation(async ({ input, ctx }) => {
try {
@@ -755,7 +755,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateLark: withPermission("notification", "create")
updateLark: withPermission("notification", "update")
.input(apiUpdateLark)
.mutation(async ({ input, ctx }) => {
try {
@@ -821,7 +821,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updateTeams: withPermission("notification", "create")
updateTeams: withPermission("notification", "update")
.input(apiUpdateTeams)
.mutation(async ({ input, ctx }) => {
try {
@@ -888,7 +888,7 @@ export const notificationRouter = createTRPCRouter({
});
}
}),
updatePushover: withPermission("notification", "create")
updatePushover: withPermission("notification", "update")
.input(apiUpdatePushover)
.mutation(async ({ input, ctx }) => {
try {