Built-in permissions

JFW Built-in Permissions

This document provides a detailed overview of the built-in permissions in the system. Permissions are tied to specific objects (e.g., User, Organization, Brand) and actions (e.g., Create, Update, Read, Delete). Each permission ensures that users can perform only the actions they are authorized to, maintaining security and efficiency.


Permission Structure

Permissions are structured as follows:

  • Object: The entity being accessed (e.g., User, Brand, Invoice).

  • Action: The operation being performed on the object (e.g., Create, Update, Read, Delete).

  • Special Actions: Unique actions specific to an object (e.g., "Send Notification" for the Notification object).


List of Objects and Their Permissions

Below is a detailed list of all objects in the system, their associated permissions, and descriptions of each action.


1. Activity

  • Create Activity (ACTIVITY.CREATE): Log new activities.

  • Update Activity (ACTIVITY.UPDATE): Modify activity details.

  • Read Activity (ACTIVITY.READ): View activity logs.

  • Delete Activity (ACTIVITY.DELETE): Remove activities from the system.

  • Export Activities (ACTIVITY.EXPORT): Export activity logs to a file.


2. API Key

  • Create ApiKey (APIKEY.CREATE): Generate new API keys.

  • Update ApiKey (APIKEY.UPDATE): Modify API key details (e.g., permissions, expiration).

  • Read ApiKey (APIKEY.READ): View API key information.

  • Delete ApiKey (APIKEY.DELETE): Revoke API keys.


3. App Integration

  • Create App Integration (APP_INTEGRATION.CREATE): Set up new app integrations.

  • Update App Integration (APP_INTEGRATION.UPDATE): Modify integration details (e.g., API keys, settings).

  • Read App Integration (APP_INTEGRATION.READ): View integration information.

  • Delete App Integration (APP_INTEGRATION.DELETE): Remove integrations from the system.

  • Test Integration (APP_INTEGRATION.TEST): Test the functionality of an integration.


4. Brand

  • Create Brand (BRAND.CREATE): Create new brands.

  • Update Brand (BRAND.UPDATE): Modify brand details (e.g., name, logo).

  • Read Brand (BRAND.READ): View brand information.

  • Delete Brand (BRAND.DELETE): Remove brands from the system.


5. Device

  • Create Device (DEVICE.CREATE): Register new devices.

  • Update Device (DEVICE.UPDATE): Modify device details (e.g., name, status).

  • Read Device (DEVICE.READ): View device information.

  • Delete Device (DEVICE.DELETE): Remove devices from the system.


6. Email Pattern

  • Create Email Pattern (EMAIL_PATTERN.CREATE): Create new email pattern.

  • Update Email Pattern (EMAIL_PATTERN.UPDATE): Modify email pattern details (e.g., subject, body).

  • Read Email Pattern (EMAIL_PATTERN.READ): View email pattern information.

  • Delete Email Pattern (EMAIL_PATTERN.DELETE): Remove email patterns from the system.

  • Send Test Email (EMAIL_PATTERN.SEND_TEST): Send a test email using the pattern.


7. Event

  • Create Event (EVENT.CREATE): Log new events.

  • Update Event (EVENT.UPDATE): Modify event details.

  • Read Event (EVENT.READ): View event logs.

  • Delete Event (EVENT.DELETE): Remove events from the system.

  • Export Events (EVENT.EXPORT): Export event logs to a file.


8. Exchange Rate

  • Create Exchange Rate (EXCHANGE_RATE.CREATE): Add new exchange rates.

  • Update Exchange Rate (EXCHANGE_RATE.UPDATE): Modify exchange rate details.

  • Read Exchange Rate (EXCHANGE_RATE.READ): View exchange rate information.

  • Delete Exchange Rate (EXCHANGE_RATE.DELETE): Remove exchange rates from the system.

  • Refresh Rates (EXCHANGE_RATE.REFRESH): Refresh exchange rates from an external source.


9. Feature

  • Create Feature (FEATURE.CREATE): Create new features.

  • Update Feature (FEATURE.UPDATE): Modify feature details (e.g., name, description).

  • Read Feature (FEATURE.READ): View feature information.

  • Delete Feature (FEATURE.DELETE): Remove features from the system.

  • Enable/Disable Feature (FEATURE.TOGGLE): Toggle the status of a feature (e.g., active, inactive).


10. Invoice

  • Create Invoice (INVOICE.CREATE): Generate new invoices.

  • Update Invoice (INVOICE.UPDATE): Modify invoice details (e.g., amount, due date).

  • Read Invoice (INVOICE.READ): View invoice information.

  • Delete Invoice (INVOICE.DELETE): Remove invoices from the system.

  • Send Invoice (INVOICE.SEND): Send invoices to customers.

  • Export Invoice (INVOICE.EXPORT): Export an invoice.


11. Issue

  • Create Issue (ISSUE.CREATE): Log new issues.

  • Update Issue (ISSUE.UPDATE): Modify issue details (e.g., status, priority).

  • Read Issue (ISSUE.READ): View issue information.

  • Delete Issue (ISSUE.DELETE): Remove issues from the system.

  • Assign Issue (ISSUE.ASSIGN): Assign issues to users or teams.


12. Issue Category

  • Create Issue Category (ISSUE_CATEGORY.CREATE): Create new issue categories.

  • Update Issue Category (ISSUE_CATEGORY.UPDATE): Modify issue category details (e.g., name, description).

  • Read Issue Category (ISSUE_CATEGORY.READ): View issue category information.

  • Delete Issue Category (ISSUE_CATEGORY.DELETE): Remove issue categories from the system.


13. License

  • Create License (LICENSE.CREATE): Generate new licenses.

  • Update License (LICENSE.UPDATE): Modify license details (e.g., expiration date).

  • Read License (LICENSE.READ): View license information.

  • Delete License (LICENSE.DELETE): Revoke licenses.


14. Notification

  • Create Notification (NOTIFICATION.CREATE): Create new notifications.

  • Update Notification (NOTIFICATION.UPDATE): Modify notification details.

  • Read Notification (NOTIFICATION.READ): View notification information.

  • Delete Notification (NOTIFICATION.DELETE): Remove notifications from the system.

  • Send Notification (NOTIFICATION.SEND): Send notifications to users.


15. Organization

  • Create Organization (ORGANIZATION.CREATE): Create new organizations.

  • Update Organization (ORGANIZATION.UPDATE): Modify organization details (e.g., name, address).

  • Read Organization (ORGANIZATION.READ): View organization information.

  • Delete Organization (ORGANIZATION.DELETE): Remove organizations from the system.


16. Package

  • Create Package (PACKAGE.CREATE): Create new packages.

  • Update Package (PACKAGE.UPDATE): Modify package details (e.g., name, features).

  • Read Package (PACKAGE.READ): View package information.

  • Delete Package (PACKAGE.DELETE): Remove packages from the system.

  • Manage Features (PACKAGE.MANAGE_FEATURES): Manage features included in a package.


17. Payment

  • Create Payment (PAYMENT.CREATE): Record new payments.

  • Update Payment (PAYMENT.UPDATE): Modify payment details (e.g., amount, status).

  • Read Payment (PAYMENT.READ): View payment information.

  • Delete Payment (PAYMENT.DELETE): Remove payments from the system.


18. Permission

  • Create Permission (PERMISSION.CREATE): Create new permissions.

  • Update Permission (PERMISSION.UPDATE): Modify permission details.

  • Read Permission (PERMISSION.READ): View permission information.

  • Delete Permission (PERMISSION.DELETE): Remove permissions from the system.


19. Price

  • Create Price (PRICE.CREATE): Create new prices.

  • Update Price (PRICE.UPDATE): Modify price details (e.g., amount, currency).

  • Read Price (PRICE.READ): View price information.

  • Delete Price (PRICE.DELETE): Remove prices from the system.


20. Role

  • Create Role (ROLE.CREATE): Create new roles.

  • Update Role (ROLE.UPDATE): Modify role details (e.g., name, permissions).

  • Read Role (ROLE.READ): View role information.

  • Delete Role (ROLE.DELETE): Remove roles from the system.

  • Assign Permission (ROLE.ASSIGN_PERMISSION): Assign permissions to roles.

  • Remove Permission(ROLE.REMOVE_PERMISSON): Remove permissions from a role.


21. SMS Pattern

  • Create SMS Pattern (SMS_PATTERN.CREATE): Create new SMS patterns.

  • Update SMS Pattern (SMS_PATTERN.UPDATE): Modify SMS pattern details (e.g., message content).

  • Read SMS Pattern (SMS_PATTERN.READ): View SMS pattern information.

  • Delete SMS Pattern (SMS_PATTERN.DELETE): Remove SMS patterns from the system.

  • Send Test SMS (SMS_PATTERN.SEND_TEST): Send a test SMS using the pattern.


22. Subscription Type

  • Create Subscription Type (SUBSCRIPTION_TYPE.CREATE): Create new subscription types.

  • Update Subscription Type (SUBSCRIPTION_TYPE.UPDATE): Modify subscription type details (e.g., name, duration).

  • Read Subscription Type (SUBSCRIPTION_TYPE.READ): View subscription type information.

  • Delete Subscription Type (SUBSCRIPTION_TYPE.DELETE): Remove subscription types from the system.


23. Transaction

  • Create Transaction (TRANSACTION.CREATE): Record new transactions.

  • Update Transaction (TRANSACTION.UPDATE): Modify transaction details (e.g., amount, status).

  • Read Transaction (TRANSACTION.READ): View transaction information.

  • Delete Transaction (TRANSACTION.DELETE): Remove transactions from the system.

  • Export Transactions (TRANSACTION.EXPORT): Export transaction records to a file.


24. User

  • Create User (USER.CREATE): Create new users in the system.

  • Update User (USER.UPDATE): Modify existing user details (e.g., name, email, role).

  • Read User (USER.READ): View user information.

  • Delete User (USER.DELETE): Remove users from the system.

  • Assign Role (USER.ASSIGN_ROLE): Assign roles to users.

  • Remove Role (USER.REMOVE_ROLE): Remove role from a user.

  • Reset Password (USER.RESET_PASSWORD): Reset a user's password.

Last updated

Was this helpful?