codbex / codbex-aion

Timesheet Management Application
https://codbex.com
Eclipse Public License 2.0
1 stars 2 forks source link

Expose API Facades to be Consumed from the Custom UI #43

Open ThuF opened 1 year ago

ThuF commented 1 year ago

Create HTTP API facades for the following requests (made in chronos-ext/ui/common/api.js) and move /services/v4/js/chronos-app/gen/api/... requests to /services/v4/js/chronos-ext/services/...:

  1. createProjectTask(): POST @ /services/v4/js/chronos-app/gen/api/Projects/Task.js
  2. updateProjectTask(): PUT @ /services/v4/js/chronos-app/gen/api/Projects/Task.js/${id}
  3. deleteProjectTask(): DELETE @ /services/v4/js/chronos-app/gen/api/Projects/Task.js/${id}
  4. createTimesheet(): POST @ /services/v4/js/chronos-app/gen/api/Timesheets/Timesheet.js
  5. updateTimesheet(): PUT @ /services/v4/js/chronos-app/gen/api/Timesheets/Timesheet.js/${id}
  6. deleteTimesheet(): DELETE @ /services/v4/js/chronos-app/gen/api/Timesheets/Timesheet.js/${id}
  7. createTimesheetItem(): POST @ /services/v4/js/chronos-app/gen/api/Timesheets/Item.js
  8. updateTimesheetItem(): PUT @ /services/v4/js/chronos-app/gen/api/Timesheets/Item.js/${id}
  9. deleteTimesheetItem(): DELETE @ /services/v4/js/chronos-app/gen/api/Timesheets/Item.js/${id}
  10. getTaskStatuses(): GET @ /services/v4/js/chronos-app/gen/api/Configurations/TaskStatus.js
ThuF commented 1 year ago

The will allow the enforcement of Admin role for the whole chronos-app module, instead of just the UI part as of now (chronos-ext/access/admin.access)

{
  "constraints": [
    {
      "path": "/chronos-app/gen/index.html",
      "method": "*",
      "roles": [
        "Admin"
      ],
      "scope": "HTTP"
    },
    {
      "method": "*",
      "scope": "HTTP",
      "path": "/chronos-app/gen/ui/",
      "roles": [
        "Admin"
      ]
    }
  ]
}