Skip to content
This repository has been archived by the owner on Sep 12, 2023. It is now read-only.

Commit

Permalink
intrn(employee schedule): enhance the policy to create schedule
Browse files Browse the repository at this point in the history
  • Loading branch information
KennethTrecy committed Sep 11, 2022
1 parent c65df71 commit be8dcbc
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
12 changes: 10 additions & 2 deletions routes/api/employee_schedule/create.post.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { FieldRules, Rules } from "!/types/validation"
import type { FieldRules } from "!/types/validation"
import type { BaseManagerClass } from "!/types/independent"
import type { AuthenticatedIDRequest, Response } from "!/types/dependent"
import type { EmployeeScheduleDocument } from "$/types/documents/employee_schedule"
Expand All @@ -8,6 +8,7 @@ import { DayValues } from "$/types/database"
import Log from "$!/singletons/log"
import UserManager from "%/managers/user"
import JSONController from "!/controllers/json"
import Merger from "!/middlewares/miscellaneous/merger"
import CreatedResponseInfo from "!/response_infos/created"
import EmployeeScheduleManager from "%/managers/employee_schedule"
import convertTimeToMinutes from "$/object/convert_time_to_minutes"
Expand Down Expand Up @@ -37,7 +38,14 @@ export default class extends JSONController {
get filePath(): string { return __filename }

get policy(): Policy {
return CommonMiddlewareList.employeeSchedulePolicy
return new Merger([
CommonMiddlewareList.reachableEmployeeOnlyPolicy,
new PermissionBasedPolicy(permissionGroup, [
UPDATE_OWN_DATA,
UPDATE_ANYONE_ON_OWN_DEPARTMENT,
UPDATE_ANYONE_ON_ALL_DEPARTMENTS
])
]) as unknown as Policy
}

makeBodyRuleGenerator(unusedRequest: AuthenticatedIDRequest): FieldRules {
Expand Down
2 changes: 1 addition & 1 deletion routes/api/employee_schedule/update(id).patch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DayValues } from "$/types/database"

import Log from "$!/singletons/log"
import UserManager from "%/managers/user"
import Merger from "!/middlewares/miscellaneous/merger"
import NoContentResponseInfo from "!/response_infos/no_content"
import EmployeeScheduleManager from "%/managers/employee_schedule"
import convertTimeToMinutes from "$/object/convert_time_to_minutes"
Expand All @@ -29,7 +30,6 @@ import exists from "!/validators/manager/exists"
import required from "!/validators/base/required"
import range from "!/validators/comparison/range"
import oneOf from "!/validators/comparison/one-of"
import Merger from "!/middlewares/miscellaneous/merger"
import makeRelationshipRules from "!/rule_sets/make_relationships"
import makeResourceDocumentRules from "!/rule_sets/make_resource_document"
import uniqueEmployeeSchedule from "!/validators/date/unique_employee_schedule"
Expand Down

0 comments on commit be8dcbc

Please sign in to comment.