fix: classify Studio audit repairs as mutations
This commit is contained in:
1 parent
949e14c109
commit
9b7d5de12f
2 files changed
+46
-6
No files matched your search
@@ -88,6 +88,34 @@ describe("hotelMigrationEntries", () => {
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("classifies Studio Audit repair operations as privileged mutations", () => {
|
||||
const studioAudit = hotelMigrationEntries.find(
|
||||
(row) => row.legacyPath === "/admin/studio/audit",
|
||||
);
|
||||
|
||||
expect(studioAudit).toEqual(
|
||||
expect.objectContaining({
|
||||
capabilities: {
|
||||
read: [PERMS.ASSETS_IMPORT],
|
||||
mutate: [PERMS.ASSETS_IMPORT],
|
||||
},
|
||||
dependencies: expect.objectContaining({
|
||||
mutations: expect.arrayContaining([
|
||||
"POST /api/admin/import/audit",
|
||||
"applyCatalogSql",
|
||||
"ensureDirectories",
|
||||
"repairDuplicateClassnames",
|
||||
"repairFurniData",
|
||||
"repairMissingIcons",
|
||||
"repairMissingNitros",
|
||||
"repairOrphanedCatalog",
|
||||
]),
|
||||
}),
|
||||
auditRequirement: "PRIVILEGED_MUTATION",
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it("records the actual permissions for room, radio, and Studio mutations", () => {
|
||||
expect(hotelMigrationEntries).toContainEqual(
|
||||
expect.objectContaining({
|
||||
|
||||
@@ -368,16 +368,28 @@ export const hotelMigrationEntries: readonly MigrationEntry[] = [
|
||||
sourceFile: "src/app/admin/studio/audit/page.tsx",
|
||||
targetPath: "/admin/hotel/studio/audit",
|
||||
decision: "REBUILD",
|
||||
capabilities: { read: [PERMS.ASSETS_IMPORT], mutate: [] },
|
||||
dependencies: {
|
||||
queries: ["POST /api/admin/import/audit", "runCatalogAudit"],
|
||||
mutations: [],
|
||||
capabilities: {
|
||||
read: [PERMS.ASSETS_IMPORT],
|
||||
mutate: [PERMS.ASSETS_IMPORT],
|
||||
},
|
||||
auditRequirement: "NONE",
|
||||
dependencies: {
|
||||
queries: ["runCatalogAudit"],
|
||||
mutations: [
|
||||
"POST /api/admin/import/audit",
|
||||
"applyCatalogSql",
|
||||
"ensureDirectories",
|
||||
"repairDuplicateClassnames",
|
||||
"repairFurniData",
|
||||
"repairMissingIcons",
|
||||
"repairMissingNitros",
|
||||
"repairOrphanedCatalog",
|
||||
],
|
||||
},
|
||||
auditRequirement: "PRIVILEGED_MUTATION",
|
||||
localization: "PARTIAL",
|
||||
accessibility: "PARTIAL",
|
||||
notes: [
|
||||
"The POST endpoint performs a read-only database and filesystem audit",
|
||||
"Audit repairs can mutate asset files, catalog data, FurnitureData, and database structure",
|
||||
],
|
||||
}),
|
||||
plannedHotelEntry({
|
||||
|
||||
Reference in new issue
Block a user