feat: add integration access settings (#725)
* feat: add integration access settings * fix: typecheck and test issues * fix: test timeout * chore: address pull request feedback * chore: add throw if action forbidden for integration permissions * fix: unable to create new migrations because of duplicate prevId in sqlite snapshots * chore: add sqlite migration for integration permissions * test: add unit tests for integration access * test: add permission checks to integration router tests * test: add unit test for integration permissions * chore: add mysql migration * fix: format issues
This commit is contained in:
@@ -5,14 +5,14 @@ import { getPermissionsWithChildren, getPermissionsWithParents } from "../permis
|
||||
|
||||
describe("getPermissionsWithParents should return the correct permissions", () => {
|
||||
test.each([
|
||||
[["board-view-all"], ["board-view-all", "board-modify-all", "board-full-access", "admin"]],
|
||||
[["board-modify-all"], ["board-modify-all", "board-full-access", "admin"]],
|
||||
[["board-create"], ["board-create", "board-full-access", "admin"]],
|
||||
[["board-full-access"], ["board-full-access", "admin"]],
|
||||
[["integration-use-all"], ["integration-use-all", "integration-interact-all", "integration-full-access", "admin"]],
|
||||
[["integration-create"], ["integration-create", "integration-full-access", "admin"]],
|
||||
[["integration-interact-all"], ["integration-interact-all", "integration-full-access", "admin"]],
|
||||
[["integration-full-access"], ["integration-full-access", "admin"]],
|
||||
[["board-view-all"], ["board-view-all", "board-modify-all", "board-full-all", "admin"]],
|
||||
[["board-modify-all"], ["board-modify-all", "board-full-all", "admin"]],
|
||||
[["board-create"], ["board-create", "board-full-all", "admin"]],
|
||||
[["board-full-all"], ["board-full-all", "admin"]],
|
||||
[["integration-use-all"], ["integration-use-all", "integration-interact-all", "integration-full-all", "admin"]],
|
||||
[["integration-create"], ["integration-create", "integration-full-all", "admin"]],
|
||||
[["integration-interact-all"], ["integration-interact-all", "integration-full-all", "admin"]],
|
||||
[["integration-full-all"], ["integration-full-all", "admin"]],
|
||||
[["admin"], ["admin"]],
|
||||
] satisfies [GroupPermissionKey[], GroupPermissionKey[]][])("expect %s to return %s", (input, expectedOutput) => {
|
||||
expect(getPermissionsWithParents(input)).toEqual(expect.arrayContaining(expectedOutput));
|
||||
@@ -24,19 +24,19 @@ describe("getPermissionsWithChildren should return the correct permissions", ()
|
||||
[["board-view-all"], ["board-view-all"]],
|
||||
[["board-modify-all"], ["board-view-all", "board-modify-all"]],
|
||||
[["board-create"], ["board-create"]],
|
||||
[["board-full-access"], ["board-full-access", "board-modify-all", "board-view-all"]],
|
||||
[["board-full-all"], ["board-full-all", "board-modify-all", "board-view-all"]],
|
||||
[["integration-use-all"], ["integration-use-all"]],
|
||||
[["integration-create"], ["integration-create"]],
|
||||
[["integration-interact-all"], ["integration-interact-all", "integration-use-all"]],
|
||||
[["integration-full-access"], ["integration-full-access", "integration-interact-all", "integration-use-all"]],
|
||||
[["integration-full-all"], ["integration-full-all", "integration-interact-all", "integration-use-all"]],
|
||||
[
|
||||
["admin"],
|
||||
[
|
||||
"admin",
|
||||
"board-full-access",
|
||||
"board-full-all",
|
||||
"board-modify-all",
|
||||
"board-view-all",
|
||||
"integration-full-access",
|
||||
"integration-full-all",
|
||||
"integration-interact-all",
|
||||
"integration-use-all",
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user