| export const RESOURCES = [ |
| { |
| key: "bank-accounts", |
| name: "Bank Accounts", |
| description: "Access to bank account data", |
| scopes: [ |
| { scope: "bank-accounts.read", type: "read", label: "Read" }, |
| { scope: "bank-accounts.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "customers", |
| name: "Customers", |
| description: "Access to customer data", |
| scopes: [ |
| { scope: "customers.read", type: "read", label: "Read" }, |
| { scope: "customers.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "documents", |
| name: "Documents", |
| description: "Access to document data", |
| scopes: [ |
| { scope: "documents.read", type: "read", label: "Read" }, |
| { scope: "documents.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "inbox", |
| name: "Inbox", |
| description: "Access to inbox data", |
| scopes: [ |
| { scope: "inbox.read", type: "read", label: "Read" }, |
| { scope: "inbox.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "invoices", |
| name: "Invoices", |
| description: "Access to invoice data", |
| scopes: [ |
| { scope: "invoices.read", type: "read", label: "Read" }, |
| { scope: "invoices.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "transactions", |
| name: "Transactions", |
| description: "Access to transaction data", |
| scopes: [ |
| { scope: "transactions.read", type: "read", label: "Read" }, |
| { scope: "transactions.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "teams", |
| name: "Teams", |
| description: "Access to team data", |
| scopes: [ |
| { scope: "teams.read", type: "read", label: "Read" }, |
| { scope: "teams.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "users", |
| name: "Users", |
| description: "Access to user data", |
| scopes: [ |
| { scope: "users.read", type: "read", label: "Read" }, |
| { scope: "users.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "tracker-entries", |
| name: "Tracker Entries", |
| description: "Access to tracker entry data", |
| scopes: [ |
| { scope: "tracker-entries.read", type: "read", label: "Read" }, |
| { |
| scope: "tracker-entries.write", |
| type: "write", |
| label: "Write", |
| }, |
| ], |
| }, |
| { |
| key: "tracker-projects", |
| name: "Tracker Projects", |
| description: "Access to tracker project data", |
| scopes: [ |
| { scope: "tracker-projects.read", type: "read", label: "Read" }, |
| { |
| scope: "tracker-projects.write", |
| type: "write", |
| label: "Write", |
| }, |
| ], |
| }, |
| { |
| key: "tags", |
| name: "Tags", |
| description: "Access to tag data", |
| scopes: [ |
| { scope: "tags.read", type: "read", label: "Read" }, |
| { scope: "tags.write", type: "write", label: "Write" }, |
| ], |
| }, |
| { |
| key: "reports", |
| name: "Reports", |
| description: "Access to reports data", |
| scopes: [{ scope: "reports.read", type: "read", label: "Read" }], |
| }, |
| { |
| key: "search", |
| name: "Search", |
| description: "Access to search functionality", |
| scopes: [{ scope: "search.read", type: "read", label: "Read" }], |
| }, |
| { |
| key: "notifications", |
| name: "Notifications", |
| description: "Access to notifications data", |
| scopes: [ |
| { scope: "notifications.read", type: "read", label: "Read" }, |
| { scope: "notifications.write", type: "write", label: "Write" }, |
| ], |
| }, |
| ] as const; |
|
|
| export const getScopeDescription = (scope: string) => { |
| |
| if (scope === "apis.all") { |
| return { |
| label: "Full access to all resources", |
| }; |
| } |
|
|
| if (scope === "apis.read") { |
| return { |
| label: "Read-only access to all resources", |
| }; |
| } |
|
|
| |
| for (const resource of RESOURCES) { |
| const foundScope = resource.scopes.find((s) => s.scope === scope); |
| if (foundScope) { |
| return { |
| label: `${foundScope.label} access to ${resource.name}`, |
| }; |
| } |
| } |
|
|
| |
| return { |
| label: scope, |
| }; |
| }; |
|
|