@m6d/cortex-server 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/src/{adapters → lib/adapters}/database.d.ts +16 -1
  3. package/dist/src/lib/ai/context/compressor.d.ts +18 -0
  4. package/dist/src/{ai → lib/ai}/context/index.d.ts +2 -1
  5. package/dist/src/lib/ai/context/intra-turn-compressor.d.ts +24 -0
  6. package/dist/src/{ai → lib/ai}/context/types.d.ts +2 -0
  7. package/dist/src/lib/config.d.ts +153 -0
  8. package/dist/src/{db → lib/db}/schema.d.ts +104 -1
  9. package/dist/src/{index.d.ts → lib/index.d.ts} +2 -2
  10. package/dist/src/{types.d.ts → lib/types.d.ts} +15 -14
  11. package/index.ts +1 -1
  12. package/package.json +8 -3
  13. package/src/{adapters → lib/adapters}/database.ts +20 -1
  14. package/src/{adapters → lib/adapters}/minio.ts +2 -1
  15. package/src/{adapters → lib/adapters}/mssql.ts +38 -2
  16. package/src/lib/ai/context/compressor.ts +259 -0
  17. package/src/{ai → lib/ai}/context/index.ts +6 -1
  18. package/src/lib/ai/context/intra-turn-compressor.ts +264 -0
  19. package/src/{ai → lib/ai}/context/types.ts +4 -1
  20. package/src/{ai → lib/ai}/index.ts +114 -13
  21. package/src/lib/ai/prompt.ts +354 -0
  22. package/src/{ai → lib/ai}/tools/execute-code.tool.ts +5 -2
  23. package/src/{auth → lib/auth}/middleware.ts +7 -0
  24. package/src/lib/config.ts +181 -0
  25. package/src/{db/migrations/20260309012148_cloudy_maria_hill → lib/db/migrations/20260326231647_nice_speedball}/migration.sql +12 -0
  26. package/src/{db/migrations/20260309012148_cloudy_maria_hill → lib/db/migrations/20260326231647_nice_speedball}/snapshot.json +106 -1
  27. package/src/{db → lib/db}/schema.ts +15 -2
  28. package/src/{factory.ts → lib/factory.ts} +1 -0
  29. package/src/{index.ts → lib/index.ts} +3 -1
  30. package/src/{routes → lib/routes}/files.ts +9 -2
  31. package/src/{routes → lib/routes}/threads.ts +8 -1
  32. package/src/{types.ts → lib/types.ts} +16 -15
  33. package/src/sample/db/client.ts +9 -0
  34. package/src/sample/db/migrations/20260411023125_rich_purple_man/migration.sql +5 -0
  35. package/src/sample/db/migrations/20260411023125_rich_purple_man/snapshot.json +50 -0
  36. package/src/sample/db/schema.ts +10 -0
  37. package/src/sample/domains/account/concepts/session.concept.ts +17 -0
  38. package/src/sample/domains/account/endpoints/listCurrentSessions.endpoint.ts +31 -0
  39. package/src/sample/domains/account/endpoints/revokeAllOtherSessions.endpoint.ts +22 -0
  40. package/src/sample/domains/account/endpoints/revokeCurrentSession.endpoint.ts +33 -0
  41. package/src/sample/domains/account/index.ts +18 -0
  42. package/src/sample/domains/appraisals/concepts/appraisalCycle.concept.ts +15 -0
  43. package/src/sample/domains/appraisals/concepts/appraisalRecord.concept.ts +20 -0
  44. package/src/sample/domains/appraisals/concepts/appraisalRecordCompetency.concept.ts +10 -0
  45. package/src/sample/domains/appraisals/concepts/appraisalRecordFunctionalRequirement.concept.ts +10 -0
  46. package/src/sample/domains/appraisals/concepts/appraisalRecordGoal.concept.ts +17 -0
  47. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordById.endpoint.ts +321 -0
  48. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordCompetencies.endpoint.ts +120 -0
  49. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordFunctionalRequirements.endpoint.ts +126 -0
  50. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordGoals.endpoint.ts +104 -0
  51. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordScore.endpoint.ts +58 -0
  52. package/src/sample/domains/appraisals/endpoints/listAppraisalCyclesSimple.endpoint.ts +52 -0
  53. package/src/sample/domains/appraisals/endpoints/listAppraisalRecords.endpoint.ts +245 -0
  54. package/src/sample/domains/appraisals/endpoints/listAppraisalTemplatesSimple.endpoint.ts +52 -0
  55. package/src/sample/domains/appraisals/index.ts +40 -0
  56. package/src/sample/domains/appraisals/rules/appraisalRecordScoping.rule.ts +7 -0
  57. package/src/sample/domains/attendance/concepts/attendancePermission.concept.ts +17 -0
  58. package/src/sample/domains/attendance/concepts/attendanceTransaction.concept.ts +17 -0
  59. package/src/sample/domains/attendance/concepts/publicHoliday.concept.ts +10 -0
  60. package/src/sample/domains/attendance/concepts/punch.concept.ts +19 -0
  61. package/src/sample/domains/attendance/endpoints/getAttendanceTransactionById.endpoint.ts +444 -0
  62. package/src/sample/domains/attendance/endpoints/getCurrentAttendanceProfile.endpoint.ts +886 -0
  63. package/src/sample/domains/attendance/endpoints/getCurrentAttendanceStatistics.endpoint.ts +49 -0
  64. package/src/sample/domains/attendance/endpoints/listAttendancePermissions.endpoint.ts +176 -0
  65. package/src/sample/domains/attendance/endpoints/listAttendanceTransactionStates.endpoint.ts +26 -0
  66. package/src/sample/domains/attendance/endpoints/listAttendanceTransactions.endpoint.ts +373 -0
  67. package/src/sample/domains/attendance/endpoints/listPublicHolidaysSimple.endpoint.ts +52 -0
  68. package/src/sample/domains/attendance/endpoints/listPunchTypes.endpoint.ts +25 -0
  69. package/src/sample/domains/attendance/endpoints/listPunches.endpoint.ts +178 -0
  70. package/src/sample/domains/attendance/index.ts +41 -0
  71. package/src/sample/domains/attendance/services/attendancePermissions.service.ts +15 -0
  72. package/src/sample/domains/employees/concepts/employee.concept.ts +20 -0
  73. package/src/sample/domains/employees/concepts/employeeBankAccount.concept.ts +19 -0
  74. package/src/sample/domains/employees/concepts/employeeChild.concept.ts +19 -0
  75. package/src/sample/domains/employees/concepts/employeeDocument.concept.ts +21 -0
  76. package/src/sample/domains/employees/concepts/employeeEvent.concept.ts +21 -0
  77. package/src/sample/domains/employees/concepts/employeeExperience.concept.ts +18 -0
  78. package/src/sample/domains/employees/concepts/employeeJobLevelChange.concept.ts +21 -0
  79. package/src/sample/domains/employees/concepts/employeeMedal.concept.ts +20 -0
  80. package/src/sample/domains/employees/concepts/employeeQualification.concept.ts +20 -0
  81. package/src/sample/domains/employees/concepts/employeeSpouse.concept.ts +21 -0
  82. package/src/sample/domains/employees/concepts/employeeViolation.concept.ts +19 -0
  83. package/src/sample/domains/employees/endpoints/getCurrentEmployee.endpoint.ts +1651 -0
  84. package/src/sample/domains/employees/endpoints/getCurrentIdentity.endpoint.ts +197 -0
  85. package/src/sample/domains/employees/endpoints/getCurrentManagers.endpoint.ts +142 -0
  86. package/src/sample/domains/employees/endpoints/getEmployeeById.endpoint.ts +1659 -0
  87. package/src/sample/domains/employees/endpoints/getEmployeeStatistics.endpoint.ts +43 -0
  88. package/src/sample/domains/employees/endpoints/listBankAccounts.endpoint.ts +223 -0
  89. package/src/sample/domains/employees/endpoints/listChildren.endpoint.ts +211 -0
  90. package/src/sample/domains/employees/endpoints/listDocuments.endpoint.ts +222 -0
  91. package/src/sample/domains/employees/endpoints/listEmployeesSimple.endpoint.ts +156 -0
  92. package/src/sample/domains/employees/endpoints/listEvents.endpoint.ts +120 -0
  93. package/src/sample/domains/employees/endpoints/listExperiences.endpoint.ts +188 -0
  94. package/src/sample/domains/employees/endpoints/listJobLevelChanges.endpoint.ts +240 -0
  95. package/src/sample/domains/employees/endpoints/listMedals.endpoint.ts +266 -0
  96. package/src/sample/domains/employees/endpoints/listQualifications.endpoint.ts +265 -0
  97. package/src/sample/domains/employees/endpoints/listSpouses.endpoint.ts +278 -0
  98. package/src/sample/domains/employees/endpoints/listViolations.endpoint.ts +245 -0
  99. package/src/sample/domains/employees/index.ts +75 -0
  100. package/src/sample/domains/employees/services/employees.service.ts +181 -0
  101. package/src/sample/domains/index.ts +10 -0
  102. package/src/sample/domains/leaves/concepts/leave.concept.ts +21 -0
  103. package/src/sample/domains/leaves/concepts/leaveBalance.concept.ts +17 -0
  104. package/src/sample/domains/leaves/concepts/leaveBalanceTransaction.concept.ts +16 -0
  105. package/src/sample/domains/leaves/concepts/leaveType.concept.ts +13 -0
  106. package/src/sample/domains/leaves/concepts/leaveTypes.concept.ts +205 -0
  107. package/src/sample/domains/leaves/endpoints/getBalance.endpoint.ts +53 -0
  108. package/src/sample/domains/leaves/endpoints/getLeaveById.endpoint.ts +53 -0
  109. package/src/sample/domains/leaves/endpoints/listBalanceTransactions.endpoint.ts +196 -0
  110. package/src/sample/domains/leaves/endpoints/listBalanceTypes.endpoint.ts +26 -0
  111. package/src/sample/domains/leaves/endpoints/listBalances.endpoint.ts +201 -0
  112. package/src/sample/domains/leaves/endpoints/listLeaveTypes.endpoint.ts +28 -0
  113. package/src/sample/domains/leaves/endpoints/listLeaves.endpoint.ts +234 -0
  114. package/src/sample/domains/leaves/index.ts +38 -0
  115. package/src/sample/domains/leaves/services/leaveRequests.service.ts +232 -0
  116. package/src/sample/domains/notifications/concepts/notification.concept.ts +19 -0
  117. package/src/sample/domains/notifications/endpoints/countMyNotifications.endpoint.ts +21 -0
  118. package/src/sample/domains/notifications/endpoints/getMyNotification.endpoint.ts +57 -0
  119. package/src/sample/domains/notifications/endpoints/listMyNotifications.endpoint.ts +59 -0
  120. package/src/sample/domains/notifications/endpoints/markMyNotificationAsRead.endpoint.ts +32 -0
  121. package/src/sample/domains/notifications/index.ts +20 -0
  122. package/src/sample/domains/payroll/concepts/payslip.concept.ts +18 -0
  123. package/src/sample/domains/payroll/concepts/salaryCertificate.concept.ts +17 -0
  124. package/src/sample/domains/payroll/concepts/salaryCertificateRequestingEntity.concept.ts +8 -0
  125. package/src/sample/domains/payroll/endpoints/getPayslipById.endpoint.ts +238 -0
  126. package/src/sample/domains/payroll/endpoints/listPayslips.endpoint.ts +216 -0
  127. package/src/sample/domains/payroll/endpoints/listSalaryCertificateLanguages.endpoint.ts +25 -0
  128. package/src/sample/domains/payroll/endpoints/listSalaryCertificateRequestingEntities.endpoint.ts +62 -0
  129. package/src/sample/domains/payroll/endpoints/listSalaryCertificateTypes.endpoint.ts +24 -0
  130. package/src/sample/domains/payroll/endpoints/listSalaryCertificates.endpoint.ts +122 -0
  131. package/src/sample/domains/payroll/endpoints/previewSalaryCertificate.endpoint.ts +45 -0
  132. package/src/sample/domains/payroll/index.ts +32 -0
  133. package/src/sample/domains/payroll/rules/payrollEmployeeContext.rule.ts +7 -0
  134. package/src/sample/domains/payroll/services/salaryCertificates.service.ts +15 -0
  135. package/src/sample/domains/servicing/concepts/service.concept.ts +6 -0
  136. package/src/sample/domains/servicing/concepts/serviceRequest.concept.ts +12 -0
  137. package/src/sample/domains/servicing/concepts/serviceRequestApproval.concept.ts +9 -0
  138. package/src/sample/domains/servicing/endpoints/cancelServiceRequest.endpoint.ts +21 -0
  139. package/src/sample/domains/servicing/endpoints/createServiceRequest.endpoint.ts +511 -0
  140. package/src/sample/domains/servicing/endpoints/getServiceRequest.endpoint.ts +352 -0
  141. package/src/sample/domains/servicing/endpoints/getServiceRequestFormItems.endpoint.ts +219 -0
  142. package/src/sample/domains/servicing/endpoints/getServiceRequestTransactionFormItems.endpoint.ts +216 -0
  143. package/src/sample/domains/servicing/endpoints/getServiceStates.endpoint.ts +47 -0
  144. package/src/sample/domains/servicing/endpoints/invokeServiceRequestAction.endpoint.ts +139 -0
  145. package/src/sample/domains/servicing/endpoints/listServiceRequests.endpoint.ts +292 -0
  146. package/src/sample/domains/servicing/endpoints/listServices.endpoint.ts +108 -0
  147. package/src/sample/domains/servicing/endpoints/updateServiceRequest.endpoint.ts +355 -0
  148. package/src/sample/domains/servicing/index.ts +44 -0
  149. package/src/sample/domains/servicing/rules/checkValidActions.rule.ts +7 -0
  150. package/src/sample/domains/servicing/rules/createServiceRequest.rule.ts +7 -0
  151. package/src/sample/domains/servicing/rules/filterServiceRequestsByState.rule.ts +7 -0
  152. package/src/sample/domains/servicing/rules/passingOptionFields.rule.ts +7 -0
  153. package/src/sample/domains/shared/rules/pagination.rule.ts +7 -0
  154. package/src/sample/domains/suggestions/concepts/suggestion.concept.ts +19 -0
  155. package/src/sample/domains/suggestions/concepts/suggestionCategory.concept.ts +7 -0
  156. package/src/sample/domains/suggestions/concepts/suggestionImpactLevel.concept.ts +7 -0
  157. package/src/sample/domains/suggestions/endpoints/createSuggestion.endpoint.ts +705 -0
  158. package/src/sample/domains/suggestions/endpoints/deleteSuggestion.endpoint.ts +32 -0
  159. package/src/sample/domains/suggestions/endpoints/getSuggestionById.endpoint.ts +635 -0
  160. package/src/sample/domains/suggestions/endpoints/listSuggestionCategories.endpoint.ts +62 -0
  161. package/src/sample/domains/suggestions/endpoints/listSuggestionImpactLevels.endpoint.ts +62 -0
  162. package/src/sample/domains/suggestions/endpoints/listSuggestionStates.endpoint.ts +24 -0
  163. package/src/sample/domains/suggestions/endpoints/listSuggestions.endpoint.ts +132 -0
  164. package/src/sample/domains/suggestions/endpoints/updateSuggestion.endpoint.ts +690 -0
  165. package/src/sample/domains/suggestions/endpoints/updateSuggestionState.endpoint.ts +39 -0
  166. package/src/sample/domains/suggestions/index.ts +34 -0
  167. package/src/sample/domains/suggestions/rules/suggestionScope.rule.ts +7 -0
  168. package/src/sample/domains/surveys/concepts/survey.concept.ts +10 -0
  169. package/src/sample/domains/surveys/concepts/surveyResponse.concept.ts +14 -0
  170. package/src/sample/domains/surveys/endpoints/getSurveyResponseById.endpoint.ts +131 -0
  171. package/src/sample/domains/surveys/endpoints/getTargetedSurvey.endpoint.ts +129 -0
  172. package/src/sample/domains/surveys/endpoints/listTargetedSurveys.endpoint.ts +160 -0
  173. package/src/sample/domains/surveys/endpoints/respondToSurvey.endpoint.ts +144 -0
  174. package/src/sample/domains/surveys/index.ts +21 -0
  175. package/src/sample/drizzle.config.ts +11 -0
  176. package/src/sample/index.bak.ts +341 -0
  177. package/src/sample/index.ts +318 -0
  178. package/src/sample/official-statements/defaults.ts +57 -0
  179. package/src/sample/official-statements/routes.ts +137 -0
  180. package/src/sample/official-statements/service.ts +148 -0
  181. package/src/sample/official-statements/types.ts +23 -0
  182. package/dist/src/ai/context/compressor.d.ts +0 -7
  183. package/dist/src/ai/tools/call-endpoint.tool.d.ts +0 -7
  184. package/dist/src/config.d.ts +0 -159
  185. package/src/ai/context/compressor.ts +0 -47
  186. package/src/ai/prompt.ts +0 -126
  187. package/src/ai/tools/call-endpoint.tool.ts +0 -89
  188. package/src/config.ts +0 -164
  189. package/src/db/migrations/20260315000000_add_context_meta/migration.sql +0 -1
  190. package/dist/src/{adapters → lib/adapters}/minio.d.ts +0 -0
  191. package/dist/src/{adapters → lib/adapters}/mssql.d.ts +0 -0
  192. package/dist/src/{adapters → lib/adapters}/storage.d.ts +0 -0
  193. package/dist/src/{ai → lib/ai}/active-streams.d.ts +0 -0
  194. package/dist/src/{ai → lib/ai}/context/builder.d.ts +0 -0
  195. package/dist/src/{ai → lib/ai}/context/summarizer.d.ts +0 -0
  196. package/dist/src/{ai → lib/ai}/context/token-estimator.d.ts +0 -0
  197. package/dist/src/{ai → lib/ai}/fetch.d.ts +0 -0
  198. package/dist/src/{ai → lib/ai}/helpers.d.ts +0 -0
  199. package/dist/src/{ai → lib/ai}/index.d.ts +0 -0
  200. package/dist/src/{ai → lib/ai}/interceptors/request-interceptor.d.ts +0 -0
  201. package/dist/src/{ai → lib/ai}/prompt.d.ts +0 -0
  202. package/dist/src/{ai → lib/ai}/tools/capture-files.tool.d.ts +0 -0
  203. package/dist/src/{ai → lib/ai}/tools/execute-code.tool.d.ts +0 -0
  204. package/dist/src/{ai → lib/ai}/tools/query-graph.tool.d.ts +0 -0
  205. package/dist/src/{auth → lib/auth}/middleware.d.ts +0 -0
  206. package/dist/src/{cli → lib/cli}/extract-endpoints.d.ts +0 -0
  207. package/dist/src/{db → lib/db}/migrate.d.ts +0 -0
  208. package/dist/src/{factory.d.ts → lib/factory.d.ts} +0 -0
  209. package/dist/src/{graph → lib/graph}/expand-domains.d.ts +0 -0
  210. package/dist/src/{graph → lib/graph}/generate-cypher.d.ts +0 -0
  211. package/dist/src/{graph → lib/graph}/helpers.d.ts +2 -2
  212. /package/dist/src/{graph → lib/graph}/index.d.ts +0 -0
  213. /package/dist/src/{graph → lib/graph}/neo4j.d.ts +0 -0
  214. /package/dist/src/{graph → lib/graph}/resolver.d.ts +0 -0
  215. /package/dist/src/{graph → lib/graph}/seed.d.ts +0 -0
  216. /package/dist/src/{graph → lib/graph}/types.d.ts +0 -0
  217. /package/dist/src/{graph → lib/graph}/validate.d.ts +0 -0
  218. /package/dist/src/{routes → lib/routes}/chat.d.ts +0 -0
  219. /package/dist/src/{routes → lib/routes}/files.d.ts +0 -0
  220. /package/dist/src/{routes → lib/routes}/index.d.ts +0 -0
  221. /package/dist/src/{routes → lib/routes}/threads.d.ts +0 -0
  222. /package/dist/src/{routes → lib/routes}/ws.d.ts +0 -0
  223. /package/dist/src/{ws → lib/ws}/connections.d.ts +0 -0
  224. /package/dist/src/{ws → lib/ws}/events.d.ts +0 -0
  225. /package/dist/src/{ws → lib/ws}/index.d.ts +0 -0
  226. /package/dist/src/{ws → lib/ws}/notify.d.ts +0 -0
  227. /package/src/{adapters → lib/adapters}/storage.ts +0 -0
  228. /package/src/{ai → lib/ai}/active-streams.ts +0 -0
  229. /package/src/{ai → lib/ai}/context/builder.ts +0 -0
  230. /package/src/{ai → lib/ai}/context/summarizer.ts +0 -0
  231. /package/src/{ai → lib/ai}/context/token-estimator.ts +0 -0
  232. /package/src/{ai → lib/ai}/fetch.ts +0 -0
  233. /package/src/{ai → lib/ai}/helpers.ts +0 -0
  234. /package/src/{ai → lib/ai}/interceptors/request-interceptor.ts +0 -0
  235. /package/src/{ai → lib/ai}/tools/capture-files.tool.ts +0 -0
  236. /package/src/{ai → lib/ai}/tools/query-graph.tool.ts +0 -0
  237. /package/src/{cli → lib/cli}/extract-endpoints.ts +0 -0
  238. /package/src/{db → lib/db}/migrate.ts +0 -0
  239. /package/src/{graph → lib/graph}/expand-domains.ts +0 -0
  240. /package/src/{graph → lib/graph}/generate-cypher.ts +0 -0
  241. /package/src/{graph → lib/graph}/helpers.ts +0 -0
  242. /package/src/{graph → lib/graph}/index.ts +0 -0
  243. /package/src/{graph → lib/graph}/neo4j.ts +0 -0
  244. /package/src/{graph → lib/graph}/resolver.ts +0 -0
  245. /package/src/{graph → lib/graph}/seed.ts +0 -0
  246. /package/src/{graph → lib/graph}/types.ts +0 -0
  247. /package/src/{graph → lib/graph}/validate.ts +0 -0
  248. /package/src/{routes → lib/routes}/chat.ts +0 -0
  249. /package/src/{routes → lib/routes}/index.ts +0 -0
  250. /package/src/{routes → lib/routes}/ws.ts +0 -0
  251. /package/src/{ws → lib/ws}/connections.ts +0 -0
  252. /package/src/{ws → lib/ws}/events.ts +0 -0
  253. /package/src/{ws → lib/ws}/index.ts +0 -0
  254. /package/src/{ws → lib/ws}/notify.ts +0 -0
@@ -0,0 +1,1659 @@
1
+ import { defineEndpoint } from "@m6d/cortex-server";
2
+ import { employeeConcept } from "../concepts/employee.concept";
3
+ import { getCurrentIdentityEndpoint } from "./getCurrentIdentity.endpoint";
4
+
5
+ export const getEmployeeByIdEndpoint = defineEndpoint({
6
+ name: "Get employee by ID",
7
+ path: "/employees/{id}",
8
+ method: "GET",
9
+ description:
10
+ "Get the full employee profile by ID. Data is scoped so employees can view their own record. Returns comprehensive personal, job, and employment details.",
11
+ queries: [employeeConcept],
12
+ returns: [{ concept: employeeConcept }],
13
+ dependsOn: [
14
+ {
15
+ endpoint: getCurrentIdentityEndpoint,
16
+ paramName: "id",
17
+ fromField: "employee.id",
18
+ },
19
+ ],
20
+
21
+ // @auto-generated-start
22
+ autoGenerated: {
23
+ params: [{ name: "id", required: true, type: "uuid" }] as const,
24
+ body: [] as const,
25
+ response: [
26
+ { name: "id", required: false, type: "uuid" },
27
+ {
28
+ name: "user",
29
+ required: false,
30
+ type: "object",
31
+ properties: [
32
+ { name: "id", required: false, type: "uuid" },
33
+ {
34
+ name: "name",
35
+ required: false,
36
+ type: "object",
37
+ properties: [
38
+ { name: "ar", required: false, type: "string" },
39
+ { name: "en", required: false, type: "string" },
40
+ ],
41
+ },
42
+ ],
43
+ },
44
+ {
45
+ name: "name",
46
+ required: false,
47
+ type: "object",
48
+ properties: [
49
+ { name: "ar", required: false, type: "string" },
50
+ { name: "en", required: false, type: "string" },
51
+ ],
52
+ },
53
+ {
54
+ name: "oldName",
55
+ required: false,
56
+ type: "object",
57
+ properties: [
58
+ { name: "ar", required: false, type: "string" },
59
+ { name: "en", required: false, type: "string" },
60
+ ],
61
+ },
62
+ { name: "gender", required: false, type: "string" },
63
+ {
64
+ name: "nationality",
65
+ required: false,
66
+ type: "object",
67
+ properties: [
68
+ { name: "id", required: false, type: "uuid" },
69
+ {
70
+ name: "name",
71
+ required: false,
72
+ type: "object",
73
+ properties: [
74
+ { name: "ar", required: false, type: "string" },
75
+ { name: "en", required: false, type: "string" },
76
+ ],
77
+ },
78
+ {
79
+ name: "description",
80
+ required: false,
81
+ type: "object",
82
+ properties: [
83
+ { name: "ar", required: false, type: "string" },
84
+ { name: "en", required: false, type: "string" },
85
+ ],
86
+ },
87
+ { name: "order", required: false, type: "number" },
88
+ { name: "category", required: false, type: "string" },
89
+ ],
90
+ },
91
+ {
92
+ name: "oldNationality",
93
+ required: false,
94
+ type: "object",
95
+ properties: [
96
+ { name: "id", required: false, type: "uuid" },
97
+ {
98
+ name: "name",
99
+ required: false,
100
+ type: "object",
101
+ properties: [
102
+ { name: "ar", required: false, type: "string" },
103
+ { name: "en", required: false, type: "string" },
104
+ ],
105
+ },
106
+ {
107
+ name: "description",
108
+ required: false,
109
+ type: "object",
110
+ properties: [
111
+ { name: "ar", required: false, type: "string" },
112
+ { name: "en", required: false, type: "string" },
113
+ ],
114
+ },
115
+ { name: "order", required: false, type: "number" },
116
+ { name: "category", required: false, type: "string" },
117
+ ],
118
+ },
119
+ { name: "oldNationalityName", required: false, type: "string" },
120
+ { name: "newNationalityChangeDate", required: false, type: "datetime" },
121
+ { name: "dateOfBirth", required: false, type: "datetime" },
122
+ { name: "placeOfBirth", required: false, type: "string" },
123
+ {
124
+ name: "maritalStatus",
125
+ required: false,
126
+ type: "object",
127
+ properties: [
128
+ { name: "id", required: false, type: "uuid" },
129
+ {
130
+ name: "name",
131
+ required: false,
132
+ type: "object",
133
+ properties: [
134
+ { name: "ar", required: false, type: "string" },
135
+ { name: "en", required: false, type: "string" },
136
+ ],
137
+ },
138
+ ],
139
+ },
140
+ { name: "heightInCentimeters", required: false, type: "number" },
141
+ { name: "weightInKilograms", required: false, type: "number" },
142
+ {
143
+ name: "religion",
144
+ required: false,
145
+ type: "object",
146
+ properties: [
147
+ { name: "id", required: false, type: "uuid" },
148
+ {
149
+ name: "name",
150
+ required: false,
151
+ type: "object",
152
+ properties: [
153
+ { name: "ar", required: false, type: "string" },
154
+ { name: "en", required: false, type: "string" },
155
+ ],
156
+ },
157
+ ],
158
+ },
159
+ { name: "bloodType", required: false, type: "string" },
160
+ { name: "nationalityAcquisitionMethod", required: false, type: "string" },
161
+ { name: "nationalityAcquisitionDate", required: false, type: "datetime" },
162
+ { name: "isMotherCitizen", required: false, type: "boolean" },
163
+ {
164
+ name: "photoFile",
165
+ required: false,
166
+ type: "object",
167
+ properties: [
168
+ { name: "id", required: false, type: "uuid" },
169
+ { name: "createdTime", required: false, type: "datetime" },
170
+ {
171
+ name: "name",
172
+ required: false,
173
+ type: "object",
174
+ properties: [
175
+ { name: "ar", required: false, type: "string" },
176
+ { name: "en", required: false, type: "string" },
177
+ ],
178
+ },
179
+ {
180
+ name: "description",
181
+ required: false,
182
+ type: "object",
183
+ properties: [
184
+ { name: "ar", required: false, type: "string" },
185
+ { name: "en", required: false, type: "string" },
186
+ ],
187
+ },
188
+ { name: "sizeInBytes", required: false, type: "number" },
189
+ { name: "contentType", required: false, type: "string" },
190
+ ],
191
+ },
192
+ { name: "nationalIdNumber", required: false, type: "string" },
193
+ { name: "nationalIdExpirationDate", required: false, type: "datetime" },
194
+ { name: "passportNumber", required: false, type: "string" },
195
+ { name: "passportExpirationDate", required: false, type: "datetime" },
196
+ { name: "passportUnifiedNumber", required: false, type: "string" },
197
+ { name: "passportIssueAuthority", required: false, type: "string" },
198
+ { name: "familyBookNumber", required: false, type: "string" },
199
+ {
200
+ name: "familyBookIssuingCity",
201
+ required: false,
202
+ type: "object",
203
+ properties: [
204
+ { name: "id", required: false, type: "uuid" },
205
+ {
206
+ name: "name",
207
+ required: false,
208
+ type: "object",
209
+ properties: [
210
+ { name: "ar", required: false, type: "string" },
211
+ { name: "en", required: false, type: "string" },
212
+ ],
213
+ },
214
+ { name: "suburbCount", required: false, type: "number" },
215
+ ],
216
+ },
217
+ {
218
+ name: "familyBookIssuingSuburb",
219
+ required: false,
220
+ type: "object",
221
+ properties: [
222
+ { name: "id", required: false, type: "uuid" },
223
+ {
224
+ name: "name",
225
+ required: false,
226
+ type: "object",
227
+ properties: [
228
+ { name: "ar", required: false, type: "string" },
229
+ { name: "en", required: false, type: "string" },
230
+ ],
231
+ },
232
+ ],
233
+ },
234
+ { name: "residencyNumber", required: false, type: "string" },
235
+ { name: "residencyExpirationDate", required: false, type: "datetime" },
236
+ {
237
+ name: "city",
238
+ required: false,
239
+ type: "object",
240
+ properties: [
241
+ { name: "id", required: false, type: "uuid" },
242
+ {
243
+ name: "name",
244
+ required: false,
245
+ type: "object",
246
+ properties: [
247
+ { name: "ar", required: false, type: "string" },
248
+ { name: "en", required: false, type: "string" },
249
+ ],
250
+ },
251
+ { name: "suburbCount", required: false, type: "number" },
252
+ ],
253
+ },
254
+ { name: "address", required: false, type: "string" },
255
+ { name: "phoneNumber", required: false, type: "string" },
256
+ { name: "email", required: false, type: "string" },
257
+ { name: "number", required: false, type: "string" },
258
+ { name: "isConfidential", required: false, type: "boolean" },
259
+ {
260
+ name: "department",
261
+ required: false,
262
+ type: "object",
263
+ properties: [
264
+ { name: "id", required: false, type: "uuid" },
265
+ {
266
+ name: "name",
267
+ required: false,
268
+ type: "object",
269
+ properties: [
270
+ { name: "ar", required: false, type: "string" },
271
+ { name: "en", required: false, type: "string" },
272
+ ],
273
+ },
274
+ { name: "code", required: false, type: "string" },
275
+ {
276
+ name: "parent",
277
+ required: false,
278
+ type: "object",
279
+ properties: [
280
+ { name: "id", required: false, type: "uuid" },
281
+ {
282
+ name: "name",
283
+ required: false,
284
+ type: "object",
285
+ properties: [
286
+ { name: "ar", required: false, type: "string" },
287
+ { name: "en", required: false, type: "string" },
288
+ ],
289
+ },
290
+ ],
291
+ },
292
+ {
293
+ name: "parentSecond",
294
+ required: false,
295
+ type: "object",
296
+ properties: [
297
+ { name: "id", required: false, type: "uuid" },
298
+ {
299
+ name: "name",
300
+ required: false,
301
+ type: "object",
302
+ properties: [
303
+ { name: "ar", required: false, type: "string" },
304
+ { name: "en", required: false, type: "string" },
305
+ ],
306
+ },
307
+ ],
308
+ },
309
+ {
310
+ name: "parentThird",
311
+ required: false,
312
+ type: "object",
313
+ properties: [
314
+ { name: "id", required: false, type: "uuid" },
315
+ {
316
+ name: "name",
317
+ required: false,
318
+ type: "object",
319
+ properties: [
320
+ { name: "ar", required: false, type: "string" },
321
+ { name: "en", required: false, type: "string" },
322
+ ],
323
+ },
324
+ ],
325
+ },
326
+ { name: "childCount", required: false, type: "number" },
327
+ { name: "employeeCount", required: false, type: "number" },
328
+ {
329
+ name: "manager",
330
+ required: false,
331
+ type: "object",
332
+ properties: [
333
+ { name: "id", required: false, type: "uuid" },
334
+ {
335
+ name: "name",
336
+ required: false,
337
+ type: "object",
338
+ properties: [
339
+ { name: "ar", required: false, type: "string" },
340
+ { name: "en", required: false, type: "string" },
341
+ ],
342
+ },
343
+ { name: "number", required: false, type: "string" },
344
+ {
345
+ name: "jobClassification",
346
+ required: false,
347
+ type: "object",
348
+ properties: [
349
+ { name: "id", required: false, type: "uuid" },
350
+ {
351
+ name: "name",
352
+ required: false,
353
+ type: "object",
354
+ properties: [
355
+ { name: "ar", required: false, type: "string" },
356
+ { name: "en", required: false, type: "string" },
357
+ ],
358
+ },
359
+ { name: "type", required: false, type: "string" },
360
+ ],
361
+ },
362
+ {
363
+ name: "jobLevel",
364
+ required: false,
365
+ type: "object",
366
+ properties: [
367
+ { name: "id", required: false, type: "uuid" },
368
+ {
369
+ name: "name",
370
+ required: false,
371
+ type: "object",
372
+ properties: [
373
+ { name: "ar", required: false, type: "string" },
374
+ { name: "en", required: false, type: "string" },
375
+ ],
376
+ },
377
+ ],
378
+ },
379
+ {
380
+ name: "jobTitle",
381
+ required: false,
382
+ type: "object",
383
+ properties: [
384
+ { name: "id", required: false, type: "uuid" },
385
+ {
386
+ name: "name",
387
+ required: false,
388
+ type: "object",
389
+ properties: [
390
+ { name: "ar", required: false, type: "string" },
391
+ { name: "en", required: false, type: "string" },
392
+ ],
393
+ },
394
+ {
395
+ name: "category",
396
+ required: false,
397
+ type: "object",
398
+ properties: [
399
+ { name: "id", required: false, type: "uuid" },
400
+ { name: "name", required: false, type: "object" },
401
+ ],
402
+ },
403
+ ],
404
+ },
405
+ {
406
+ name: "department",
407
+ required: false,
408
+ type: "object",
409
+ properties: [
410
+ { name: "id", required: false, type: "uuid" },
411
+ {
412
+ name: "name",
413
+ required: false,
414
+ type: "object",
415
+ properties: [
416
+ { name: "ar", required: false, type: "string" },
417
+ { name: "en", required: false, type: "string" },
418
+ ],
419
+ },
420
+ ],
421
+ },
422
+ {
423
+ name: "user",
424
+ required: false,
425
+ type: "object",
426
+ properties: [
427
+ { name: "id", required: false, type: "uuid" },
428
+ {
429
+ name: "name",
430
+ required: false,
431
+ type: "object",
432
+ properties: [
433
+ { name: "ar", required: false, type: "string" },
434
+ { name: "en", required: false, type: "string" },
435
+ ],
436
+ },
437
+ ],
438
+ },
439
+ ],
440
+ },
441
+ ],
442
+ },
443
+ {
444
+ name: "manager",
445
+ required: false,
446
+ type: "object",
447
+ properties: [
448
+ {
449
+ name: "employee",
450
+ required: false,
451
+ type: "object",
452
+ properties: [
453
+ { name: "id", required: false, type: "uuid" },
454
+ {
455
+ name: "name",
456
+ required: false,
457
+ type: "object",
458
+ properties: [
459
+ { name: "ar", required: false, type: "string" },
460
+ { name: "en", required: false, type: "string" },
461
+ ],
462
+ },
463
+ { name: "number", required: false, type: "string" },
464
+ {
465
+ name: "jobClassification",
466
+ required: false,
467
+ type: "object",
468
+ properties: [
469
+ { name: "id", required: false, type: "uuid" },
470
+ {
471
+ name: "name",
472
+ required: false,
473
+ type: "object",
474
+ properties: [
475
+ { name: "ar", required: false, type: "string" },
476
+ { name: "en", required: false, type: "string" },
477
+ ],
478
+ },
479
+ { name: "type", required: false, type: "string" },
480
+ ],
481
+ },
482
+ {
483
+ name: "jobLevel",
484
+ required: false,
485
+ type: "object",
486
+ properties: [
487
+ { name: "id", required: false, type: "uuid" },
488
+ {
489
+ name: "name",
490
+ required: false,
491
+ type: "object",
492
+ properties: [
493
+ { name: "ar", required: false, type: "string" },
494
+ { name: "en", required: false, type: "string" },
495
+ ],
496
+ },
497
+ ],
498
+ },
499
+ {
500
+ name: "jobTitle",
501
+ required: false,
502
+ type: "object",
503
+ properties: [
504
+ { name: "id", required: false, type: "uuid" },
505
+ {
506
+ name: "name",
507
+ required: false,
508
+ type: "object",
509
+ properties: [
510
+ { name: "ar", required: false, type: "string" },
511
+ { name: "en", required: false, type: "string" },
512
+ ],
513
+ },
514
+ {
515
+ name: "category",
516
+ required: false,
517
+ type: "object",
518
+ properties: [
519
+ { name: "id", required: false, type: "uuid" },
520
+ { name: "name", required: false, type: "object" },
521
+ ],
522
+ },
523
+ ],
524
+ },
525
+ {
526
+ name: "department",
527
+ required: false,
528
+ type: "object",
529
+ properties: [
530
+ { name: "id", required: false, type: "uuid" },
531
+ {
532
+ name: "name",
533
+ required: false,
534
+ type: "object",
535
+ properties: [
536
+ { name: "ar", required: false, type: "string" },
537
+ { name: "en", required: false, type: "string" },
538
+ ],
539
+ },
540
+ ],
541
+ },
542
+ {
543
+ name: "user",
544
+ required: false,
545
+ type: "object",
546
+ properties: [
547
+ { name: "id", required: false, type: "uuid" },
548
+ {
549
+ name: "name",
550
+ required: false,
551
+ type: "object",
552
+ properties: [
553
+ { name: "ar", required: false, type: "string" },
554
+ { name: "en", required: false, type: "string" },
555
+ ],
556
+ },
557
+ ],
558
+ },
559
+ ],
560
+ },
561
+ { name: "type", required: false, type: "string" },
562
+ {
563
+ name: "titles",
564
+ required: false,
565
+ type: "object",
566
+ isArray: true,
567
+ properties: [
568
+ { name: "ar", required: false, type: "string" },
569
+ { name: "en", required: false, type: "string" },
570
+ ],
571
+ },
572
+ ],
573
+ },
574
+ {
575
+ name: "jobClassification",
576
+ required: false,
577
+ type: "object",
578
+ properties: [
579
+ { name: "id", required: false, type: "uuid" },
580
+ {
581
+ name: "name",
582
+ required: false,
583
+ type: "object",
584
+ properties: [
585
+ { name: "ar", required: false, type: "string" },
586
+ { name: "en", required: false, type: "string" },
587
+ ],
588
+ },
589
+ { name: "type", required: false, type: "string" },
590
+ ],
591
+ },
592
+ {
593
+ name: "jobLevel",
594
+ required: false,
595
+ type: "object",
596
+ properties: [
597
+ { name: "id", required: false, type: "uuid" },
598
+ {
599
+ name: "name",
600
+ required: false,
601
+ type: "object",
602
+ properties: [
603
+ { name: "ar", required: false, type: "string" },
604
+ { name: "en", required: false, type: "string" },
605
+ ],
606
+ },
607
+ ],
608
+ },
609
+ {
610
+ name: "jobTitle",
611
+ required: false,
612
+ type: "object",
613
+ properties: [
614
+ { name: "id", required: false, type: "uuid" },
615
+ {
616
+ name: "name",
617
+ required: false,
618
+ type: "object",
619
+ properties: [
620
+ { name: "ar", required: false, type: "string" },
621
+ { name: "en", required: false, type: "string" },
622
+ ],
623
+ },
624
+ ],
625
+ },
626
+ {
627
+ name: "jobCategory",
628
+ required: false,
629
+ type: "object",
630
+ properties: [
631
+ { name: "id", required: false, type: "uuid" },
632
+ {
633
+ name: "name",
634
+ required: false,
635
+ type: "object",
636
+ properties: [
637
+ { name: "ar", required: false, type: "string" },
638
+ { name: "en", required: false, type: "string" },
639
+ ],
640
+ },
641
+ ],
642
+ },
643
+ {
644
+ name: "qualification",
645
+ required: false,
646
+ type: "object",
647
+ properties: [
648
+ { name: "id", required: false, type: "uuid" },
649
+ {
650
+ name: "name",
651
+ required: false,
652
+ type: "object",
653
+ properties: [
654
+ { name: "ar", required: false, type: "string" },
655
+ { name: "en", required: false, type: "string" },
656
+ ],
657
+ },
658
+ ],
659
+ },
660
+ { name: "hireDate", required: false, type: "datetime" },
661
+ { name: "lengthOfServiceInDays", required: false, type: "number" },
662
+ { name: "lengthOfPreviousExperienceInDays", required: false, type: "number" },
663
+ { name: "seniorityRecordInMonths", required: false, type: "number" },
664
+ {
665
+ name: "employmentType",
666
+ required: false,
667
+ type: "object",
668
+ properties: [
669
+ { name: "id", required: false, type: "uuid" },
670
+ {
671
+ name: "name",
672
+ required: false,
673
+ type: "object",
674
+ properties: [
675
+ { name: "ar", required: false, type: "string" },
676
+ { name: "en", required: false, type: "string" },
677
+ ],
678
+ },
679
+ ],
680
+ },
681
+ { name: "workLocation", required: false, type: "string" },
682
+ {
683
+ name: "militaryStatus",
684
+ required: false,
685
+ type: "object",
686
+ properties: [
687
+ { name: "id", required: false, type: "uuid" },
688
+ {
689
+ name: "name",
690
+ required: false,
691
+ type: "object",
692
+ properties: [
693
+ { name: "ar", required: false, type: "string" },
694
+ { name: "en", required: false, type: "string" },
695
+ ],
696
+ },
697
+ ],
698
+ },
699
+ { name: "state", required: false, type: "string" },
700
+ {
701
+ name: "lastJobLevelChange",
702
+ required: false,
703
+ type: "object",
704
+ properties: [
705
+ { name: "id", required: false, type: "uuid" },
706
+ {
707
+ name: "employee",
708
+ required: false,
709
+ type: "object",
710
+ properties: [
711
+ { name: "id", required: false, type: "uuid" },
712
+ {
713
+ name: "name",
714
+ required: false,
715
+ type: "object",
716
+ properties: [
717
+ { name: "ar", required: false, type: "string" },
718
+ { name: "en", required: false, type: "string" },
719
+ ],
720
+ },
721
+ { name: "number", required: false, type: "string" },
722
+ {
723
+ name: "jobClassification",
724
+ required: false,
725
+ type: "object",
726
+ properties: [
727
+ { name: "id", required: false, type: "uuid" },
728
+ {
729
+ name: "name",
730
+ required: false,
731
+ type: "object",
732
+ properties: [
733
+ { name: "ar", required: false, type: "string" },
734
+ { name: "en", required: false, type: "string" },
735
+ ],
736
+ },
737
+ { name: "type", required: false, type: "string" },
738
+ ],
739
+ },
740
+ {
741
+ name: "jobLevel",
742
+ required: false,
743
+ type: "object",
744
+ properties: [
745
+ { name: "id", required: false, type: "uuid" },
746
+ {
747
+ name: "name",
748
+ required: false,
749
+ type: "object",
750
+ properties: [
751
+ { name: "ar", required: false, type: "string" },
752
+ { name: "en", required: false, type: "string" },
753
+ ],
754
+ },
755
+ ],
756
+ },
757
+ {
758
+ name: "jobTitle",
759
+ required: false,
760
+ type: "object",
761
+ properties: [
762
+ { name: "id", required: false, type: "uuid" },
763
+ {
764
+ name: "name",
765
+ required: false,
766
+ type: "object",
767
+ properties: [
768
+ { name: "ar", required: false, type: "string" },
769
+ { name: "en", required: false, type: "string" },
770
+ ],
771
+ },
772
+ {
773
+ name: "category",
774
+ required: false,
775
+ type: "object",
776
+ properties: [
777
+ { name: "id", required: false, type: "uuid" },
778
+ { name: "name", required: false, type: "object" },
779
+ ],
780
+ },
781
+ ],
782
+ },
783
+ {
784
+ name: "department",
785
+ required: false,
786
+ type: "object",
787
+ properties: [
788
+ { name: "id", required: false, type: "uuid" },
789
+ {
790
+ name: "name",
791
+ required: false,
792
+ type: "object",
793
+ properties: [
794
+ { name: "ar", required: false, type: "string" },
795
+ { name: "en", required: false, type: "string" },
796
+ ],
797
+ },
798
+ ],
799
+ },
800
+ {
801
+ name: "user",
802
+ required: false,
803
+ type: "object",
804
+ properties: [
805
+ { name: "id", required: false, type: "uuid" },
806
+ {
807
+ name: "name",
808
+ required: false,
809
+ type: "object",
810
+ properties: [
811
+ { name: "ar", required: false, type: "string" },
812
+ { name: "en", required: false, type: "string" },
813
+ ],
814
+ },
815
+ ],
816
+ },
817
+ ],
818
+ },
819
+ {
820
+ name: "serviceRequest",
821
+ required: false,
822
+ type: "object",
823
+ properties: [{ name: "id", required: false, type: "uuid" }],
824
+ },
825
+ { name: "type", required: false, type: "string" },
826
+ {
827
+ name: "promotionType",
828
+ required: false,
829
+ type: "object",
830
+ properties: [
831
+ { name: "id", required: false, type: "uuid" },
832
+ {
833
+ name: "name",
834
+ required: false,
835
+ type: "object",
836
+ properties: [
837
+ { name: "ar", required: false, type: "string" },
838
+ { name: "en", required: false, type: "string" },
839
+ ],
840
+ },
841
+ ],
842
+ },
843
+ { name: "reason", required: false, type: "string" },
844
+ { name: "changeDate", required: false, type: "datetime" },
845
+ { name: "referenceDate", required: false, type: "datetime" },
846
+ { name: "referenceNumber", required: false, type: "string" },
847
+ {
848
+ name: "currentJobLevel",
849
+ required: false,
850
+ type: "object",
851
+ properties: [
852
+ { name: "id", required: false, type: "uuid" },
853
+ {
854
+ name: "name",
855
+ required: false,
856
+ type: "object",
857
+ properties: [
858
+ { name: "ar", required: false, type: "string" },
859
+ { name: "en", required: false, type: "string" },
860
+ ],
861
+ },
862
+ ],
863
+ },
864
+ {
865
+ name: "newJobLevel",
866
+ required: false,
867
+ type: "object",
868
+ properties: [
869
+ { name: "id", required: false, type: "uuid" },
870
+ {
871
+ name: "name",
872
+ required: false,
873
+ type: "object",
874
+ properties: [
875
+ { name: "ar", required: false, type: "string" },
876
+ { name: "en", required: false, type: "string" },
877
+ ],
878
+ },
879
+ ],
880
+ },
881
+ ],
882
+ },
883
+ { name: "nextPromotionDueDate", required: false, type: "datetime" },
884
+ {
885
+ name: "qualifications",
886
+ required: false,
887
+ type: "object",
888
+ isArray: true,
889
+ properties: [
890
+ { name: "id", required: false, type: "uuid" },
891
+ {
892
+ name: "employee",
893
+ required: false,
894
+ type: "object",
895
+ properties: [
896
+ { name: "id", required: false, type: "uuid" },
897
+ {
898
+ name: "name",
899
+ required: false,
900
+ type: "object",
901
+ properties: [
902
+ { name: "ar", required: false, type: "string" },
903
+ { name: "en", required: false, type: "string" },
904
+ ],
905
+ },
906
+ { name: "number", required: false, type: "string" },
907
+ {
908
+ name: "jobClassification",
909
+ required: false,
910
+ type: "object",
911
+ properties: [
912
+ { name: "id", required: false, type: "uuid" },
913
+ {
914
+ name: "name",
915
+ required: false,
916
+ type: "object",
917
+ properties: [
918
+ { name: "ar", required: false, type: "string" },
919
+ { name: "en", required: false, type: "string" },
920
+ ],
921
+ },
922
+ { name: "type", required: false, type: "string" },
923
+ ],
924
+ },
925
+ {
926
+ name: "jobLevel",
927
+ required: false,
928
+ type: "object",
929
+ properties: [
930
+ { name: "id", required: false, type: "uuid" },
931
+ {
932
+ name: "name",
933
+ required: false,
934
+ type: "object",
935
+ properties: [
936
+ { name: "ar", required: false, type: "string" },
937
+ { name: "en", required: false, type: "string" },
938
+ ],
939
+ },
940
+ ],
941
+ },
942
+ {
943
+ name: "jobTitle",
944
+ required: false,
945
+ type: "object",
946
+ properties: [
947
+ { name: "id", required: false, type: "uuid" },
948
+ {
949
+ name: "name",
950
+ required: false,
951
+ type: "object",
952
+ properties: [
953
+ { name: "ar", required: false, type: "string" },
954
+ { name: "en", required: false, type: "string" },
955
+ ],
956
+ },
957
+ {
958
+ name: "category",
959
+ required: false,
960
+ type: "object",
961
+ properties: [
962
+ { name: "id", required: false, type: "uuid" },
963
+ { name: "name", required: false, type: "object" },
964
+ ],
965
+ },
966
+ ],
967
+ },
968
+ {
969
+ name: "department",
970
+ required: false,
971
+ type: "object",
972
+ properties: [
973
+ { name: "id", required: false, type: "uuid" },
974
+ {
975
+ name: "name",
976
+ required: false,
977
+ type: "object",
978
+ properties: [
979
+ { name: "ar", required: false, type: "string" },
980
+ { name: "en", required: false, type: "string" },
981
+ ],
982
+ },
983
+ ],
984
+ },
985
+ {
986
+ name: "user",
987
+ required: false,
988
+ type: "object",
989
+ properties: [
990
+ { name: "id", required: false, type: "uuid" },
991
+ {
992
+ name: "name",
993
+ required: false,
994
+ type: "object",
995
+ properties: [
996
+ { name: "ar", required: false, type: "string" },
997
+ { name: "en", required: false, type: "string" },
998
+ ],
999
+ },
1000
+ ],
1001
+ },
1002
+ ],
1003
+ },
1004
+ {
1005
+ name: "qualification",
1006
+ required: false,
1007
+ type: "object",
1008
+ properties: [
1009
+ { name: "id", required: false, type: "uuid" },
1010
+ {
1011
+ name: "name",
1012
+ required: false,
1013
+ type: "object",
1014
+ properties: [
1015
+ { name: "ar", required: false, type: "string" },
1016
+ { name: "en", required: false, type: "string" },
1017
+ ],
1018
+ },
1019
+ ],
1020
+ },
1021
+ {
1022
+ name: "major",
1023
+ required: false,
1024
+ type: "object",
1025
+ properties: [
1026
+ { name: "id", required: false, type: "uuid" },
1027
+ {
1028
+ name: "name",
1029
+ required: false,
1030
+ type: "object",
1031
+ properties: [
1032
+ { name: "ar", required: false, type: "string" },
1033
+ { name: "en", required: false, type: "string" },
1034
+ ],
1035
+ },
1036
+ ],
1037
+ },
1038
+ {
1039
+ name: "specialization",
1040
+ required: false,
1041
+ type: "object",
1042
+ properties: [
1043
+ { name: "id", required: false, type: "uuid" },
1044
+ {
1045
+ name: "name",
1046
+ required: false,
1047
+ type: "object",
1048
+ properties: [
1049
+ { name: "ar", required: false, type: "string" },
1050
+ { name: "en", required: false, type: "string" },
1051
+ ],
1052
+ },
1053
+ ],
1054
+ },
1055
+ { name: "commencementDate", required: false, type: "datetime" },
1056
+ { name: "graduationDate", required: false, type: "datetime" },
1057
+ { name: "grade", required: false, type: "string" },
1058
+ { name: "score", required: false, type: "string" },
1059
+ { name: "institution", required: false, type: "string" },
1060
+ { name: "placeOfStudy", required: false, type: "string" },
1061
+ {
1062
+ name: "attachment",
1063
+ required: false,
1064
+ type: "object",
1065
+ properties: [
1066
+ { name: "id", required: false, type: "uuid" },
1067
+ { name: "createdTime", required: false, type: "datetime" },
1068
+ {
1069
+ name: "name",
1070
+ required: false,
1071
+ type: "object",
1072
+ properties: [
1073
+ { name: "ar", required: false, type: "string" },
1074
+ { name: "en", required: false, type: "string" },
1075
+ ],
1076
+ },
1077
+ {
1078
+ name: "description",
1079
+ required: false,
1080
+ type: "object",
1081
+ properties: [
1082
+ { name: "ar", required: false, type: "string" },
1083
+ { name: "en", required: false, type: "string" },
1084
+ ],
1085
+ },
1086
+ { name: "sizeInBytes", required: false, type: "number" },
1087
+ { name: "contentType", required: false, type: "string" },
1088
+ ],
1089
+ },
1090
+ ],
1091
+ },
1092
+ {
1093
+ name: "children",
1094
+ required: false,
1095
+ type: "object",
1096
+ isArray: true,
1097
+ properties: [
1098
+ { name: "id", required: false, type: "uuid" },
1099
+ {
1100
+ name: "employee",
1101
+ required: false,
1102
+ type: "object",
1103
+ properties: [
1104
+ { name: "id", required: false, type: "uuid" },
1105
+ {
1106
+ name: "name",
1107
+ required: false,
1108
+ type: "object",
1109
+ properties: [
1110
+ { name: "ar", required: false, type: "string" },
1111
+ { name: "en", required: false, type: "string" },
1112
+ ],
1113
+ },
1114
+ ],
1115
+ },
1116
+ {
1117
+ name: "name",
1118
+ required: false,
1119
+ type: "object",
1120
+ properties: [
1121
+ { name: "ar", required: false, type: "string" },
1122
+ { name: "en", required: false, type: "string" },
1123
+ ],
1124
+ },
1125
+ { name: "dateOfBirth", required: false, type: "datetime" },
1126
+ { name: "order", required: false, type: "number" },
1127
+ { name: "gender", required: false, type: "string" },
1128
+ { name: "placeOfBirth", required: false, type: "string" },
1129
+ { name: "nationalIdNumber", required: false, type: "string" },
1130
+ { name: "nationalIdExpirationDate", required: false, type: "datetime" },
1131
+ {
1132
+ name: "nationality",
1133
+ required: false,
1134
+ type: "object",
1135
+ properties: [
1136
+ { name: "id", required: false, type: "uuid" },
1137
+ {
1138
+ name: "name",
1139
+ required: false,
1140
+ type: "object",
1141
+ properties: [
1142
+ { name: "ar", required: false, type: "string" },
1143
+ { name: "en", required: false, type: "string" },
1144
+ ],
1145
+ },
1146
+ ],
1147
+ },
1148
+ { name: "motherName", required: false, type: "string" },
1149
+ { name: "allowanceStatus", required: false, type: "string" },
1150
+ { name: "notes", required: false, type: "string" },
1151
+ {
1152
+ name: "birthCertificateFile",
1153
+ required: false,
1154
+ type: "object",
1155
+ properties: [
1156
+ { name: "id", required: false, type: "uuid" },
1157
+ { name: "createdTime", required: false, type: "datetime" },
1158
+ {
1159
+ name: "name",
1160
+ required: false,
1161
+ type: "object",
1162
+ properties: [
1163
+ { name: "ar", required: false, type: "string" },
1164
+ { name: "en", required: false, type: "string" },
1165
+ ],
1166
+ },
1167
+ {
1168
+ name: "description",
1169
+ required: false,
1170
+ type: "object",
1171
+ properties: [
1172
+ { name: "ar", required: false, type: "string" },
1173
+ { name: "en", required: false, type: "string" },
1174
+ ],
1175
+ },
1176
+ { name: "sizeInBytes", required: false, type: "number" },
1177
+ { name: "contentType", required: false, type: "string" },
1178
+ ],
1179
+ },
1180
+ {
1181
+ name: "nationalIdFile",
1182
+ required: false,
1183
+ type: "object",
1184
+ properties: [
1185
+ { name: "id", required: false, type: "uuid" },
1186
+ { name: "createdTime", required: false, type: "datetime" },
1187
+ {
1188
+ name: "name",
1189
+ required: false,
1190
+ type: "object",
1191
+ properties: [
1192
+ { name: "ar", required: false, type: "string" },
1193
+ { name: "en", required: false, type: "string" },
1194
+ ],
1195
+ },
1196
+ {
1197
+ name: "description",
1198
+ required: false,
1199
+ type: "object",
1200
+ properties: [
1201
+ { name: "ar", required: false, type: "string" },
1202
+ { name: "en", required: false, type: "string" },
1203
+ ],
1204
+ },
1205
+ { name: "sizeInBytes", required: false, type: "number" },
1206
+ { name: "contentType", required: false, type: "string" },
1207
+ ],
1208
+ },
1209
+ {
1210
+ name: "passportFile",
1211
+ required: false,
1212
+ type: "object",
1213
+ properties: [
1214
+ { name: "id", required: false, type: "uuid" },
1215
+ { name: "createdTime", required: false, type: "datetime" },
1216
+ {
1217
+ name: "name",
1218
+ required: false,
1219
+ type: "object",
1220
+ properties: [
1221
+ { name: "ar", required: false, type: "string" },
1222
+ { name: "en", required: false, type: "string" },
1223
+ ],
1224
+ },
1225
+ {
1226
+ name: "description",
1227
+ required: false,
1228
+ type: "object",
1229
+ properties: [
1230
+ { name: "ar", required: false, type: "string" },
1231
+ { name: "en", required: false, type: "string" },
1232
+ ],
1233
+ },
1234
+ { name: "sizeInBytes", required: false, type: "number" },
1235
+ { name: "contentType", required: false, type: "string" },
1236
+ ],
1237
+ },
1238
+ {
1239
+ name: "allowanceFormFile",
1240
+ required: false,
1241
+ type: "object",
1242
+ properties: [
1243
+ { name: "id", required: false, type: "uuid" },
1244
+ { name: "createdTime", required: false, type: "datetime" },
1245
+ {
1246
+ name: "name",
1247
+ required: false,
1248
+ type: "object",
1249
+ properties: [
1250
+ { name: "ar", required: false, type: "string" },
1251
+ { name: "en", required: false, type: "string" },
1252
+ ],
1253
+ },
1254
+ {
1255
+ name: "description",
1256
+ required: false,
1257
+ type: "object",
1258
+ properties: [
1259
+ { name: "ar", required: false, type: "string" },
1260
+ { name: "en", required: false, type: "string" },
1261
+ ],
1262
+ },
1263
+ { name: "sizeInBytes", required: false, type: "number" },
1264
+ { name: "contentType", required: false, type: "string" },
1265
+ ],
1266
+ },
1267
+ ],
1268
+ },
1269
+ { name: "motherName", required: false, type: "string" },
1270
+ { name: "motherDateOfBirth", required: false, type: "datetime" },
1271
+ { name: "motherCitizenPassportIssuePlace", required: false, type: "string" },
1272
+ { name: "motherPlaceOfBirth", required: false, type: "string" },
1273
+ {
1274
+ name: "motherNationality",
1275
+ required: false,
1276
+ type: "object",
1277
+ properties: [
1278
+ { name: "id", required: false, type: "uuid" },
1279
+ {
1280
+ name: "name",
1281
+ required: false,
1282
+ type: "object",
1283
+ properties: [
1284
+ { name: "ar", required: false, type: "string" },
1285
+ { name: "en", required: false, type: "string" },
1286
+ ],
1287
+ },
1288
+ {
1289
+ name: "description",
1290
+ required: false,
1291
+ type: "object",
1292
+ properties: [
1293
+ { name: "ar", required: false, type: "string" },
1294
+ { name: "en", required: false, type: "string" },
1295
+ ],
1296
+ },
1297
+ { name: "order", required: false, type: "number" },
1298
+ { name: "category", required: false, type: "string" },
1299
+ ],
1300
+ },
1301
+ {
1302
+ name: "currentTemporaryTransfer",
1303
+ required: false,
1304
+ type: "object",
1305
+ properties: [
1306
+ { name: "id", required: false, type: "uuid" },
1307
+ {
1308
+ name: "employee",
1309
+ required: false,
1310
+ type: "object",
1311
+ properties: [
1312
+ { name: "id", required: false, type: "uuid" },
1313
+ {
1314
+ name: "name",
1315
+ required: false,
1316
+ type: "object",
1317
+ properties: [
1318
+ { name: "ar", required: false, type: "string" },
1319
+ { name: "en", required: false, type: "string" },
1320
+ ],
1321
+ },
1322
+ { name: "number", required: false, type: "string" },
1323
+ {
1324
+ name: "jobClassification",
1325
+ required: false,
1326
+ type: "object",
1327
+ properties: [
1328
+ { name: "id", required: false, type: "uuid" },
1329
+ {
1330
+ name: "name",
1331
+ required: false,
1332
+ type: "object",
1333
+ properties: [
1334
+ { name: "ar", required: false, type: "string" },
1335
+ { name: "en", required: false, type: "string" },
1336
+ ],
1337
+ },
1338
+ { name: "type", required: false, type: "string" },
1339
+ ],
1340
+ },
1341
+ {
1342
+ name: "jobLevel",
1343
+ required: false,
1344
+ type: "object",
1345
+ properties: [
1346
+ { name: "id", required: false, type: "uuid" },
1347
+ {
1348
+ name: "name",
1349
+ required: false,
1350
+ type: "object",
1351
+ properties: [
1352
+ { name: "ar", required: false, type: "string" },
1353
+ { name: "en", required: false, type: "string" },
1354
+ ],
1355
+ },
1356
+ ],
1357
+ },
1358
+ {
1359
+ name: "jobTitle",
1360
+ required: false,
1361
+ type: "object",
1362
+ properties: [
1363
+ { name: "id", required: false, type: "uuid" },
1364
+ {
1365
+ name: "name",
1366
+ required: false,
1367
+ type: "object",
1368
+ properties: [
1369
+ { name: "ar", required: false, type: "string" },
1370
+ { name: "en", required: false, type: "string" },
1371
+ ],
1372
+ },
1373
+ {
1374
+ name: "category",
1375
+ required: false,
1376
+ type: "object",
1377
+ properties: [
1378
+ { name: "id", required: false, type: "uuid" },
1379
+ { name: "name", required: false, type: "object" },
1380
+ ],
1381
+ },
1382
+ ],
1383
+ },
1384
+ {
1385
+ name: "department",
1386
+ required: false,
1387
+ type: "object",
1388
+ properties: [
1389
+ { name: "id", required: false, type: "uuid" },
1390
+ {
1391
+ name: "name",
1392
+ required: false,
1393
+ type: "object",
1394
+ properties: [
1395
+ { name: "ar", required: false, type: "string" },
1396
+ { name: "en", required: false, type: "string" },
1397
+ ],
1398
+ },
1399
+ ],
1400
+ },
1401
+ {
1402
+ name: "user",
1403
+ required: false,
1404
+ type: "object",
1405
+ properties: [
1406
+ { name: "id", required: false, type: "uuid" },
1407
+ {
1408
+ name: "name",
1409
+ required: false,
1410
+ type: "object",
1411
+ properties: [
1412
+ { name: "ar", required: false, type: "string" },
1413
+ { name: "en", required: false, type: "string" },
1414
+ ],
1415
+ },
1416
+ ],
1417
+ },
1418
+ ],
1419
+ },
1420
+ {
1421
+ name: "serviceRequest",
1422
+ required: false,
1423
+ type: "object",
1424
+ properties: [{ name: "id", required: false, type: "uuid" }],
1425
+ },
1426
+ { name: "transferFromDate", required: false, type: "datetime" },
1427
+ { name: "transferToDate", required: false, type: "datetime" },
1428
+ {
1429
+ name: "transferReason",
1430
+ required: false,
1431
+ type: "object",
1432
+ properties: [
1433
+ { name: "id", required: false, type: "uuid" },
1434
+ {
1435
+ name: "name",
1436
+ required: false,
1437
+ type: "object",
1438
+ properties: [
1439
+ { name: "ar", required: false, type: "string" },
1440
+ { name: "en", required: false, type: "string" },
1441
+ ],
1442
+ },
1443
+ ],
1444
+ },
1445
+ { name: "reason", required: false, type: "string" },
1446
+ { name: "type", required: false, type: "string" },
1447
+ {
1448
+ name: "fromDepartment",
1449
+ required: false,
1450
+ type: "object",
1451
+ properties: [
1452
+ { name: "id", required: false, type: "uuid" },
1453
+ {
1454
+ name: "name",
1455
+ required: false,
1456
+ type: "object",
1457
+ properties: [
1458
+ { name: "ar", required: false, type: "string" },
1459
+ { name: "en", required: false, type: "string" },
1460
+ ],
1461
+ },
1462
+ ],
1463
+ },
1464
+ {
1465
+ name: "toDepartment",
1466
+ required: false,
1467
+ type: "object",
1468
+ properties: [
1469
+ { name: "id", required: false, type: "uuid" },
1470
+ {
1471
+ name: "name",
1472
+ required: false,
1473
+ type: "object",
1474
+ properties: [
1475
+ { name: "ar", required: false, type: "string" },
1476
+ { name: "en", required: false, type: "string" },
1477
+ ],
1478
+ },
1479
+ ],
1480
+ },
1481
+ { name: "referenceNumber", required: false, type: "string" },
1482
+ { name: "notes", required: false, type: "string" },
1483
+ {
1484
+ name: "file",
1485
+ required: false,
1486
+ type: "object",
1487
+ properties: [
1488
+ { name: "id", required: false, type: "uuid" },
1489
+ { name: "createdTime", required: false, type: "datetime" },
1490
+ {
1491
+ name: "name",
1492
+ required: false,
1493
+ type: "object",
1494
+ properties: [
1495
+ { name: "ar", required: false, type: "string" },
1496
+ { name: "en", required: false, type: "string" },
1497
+ ],
1498
+ },
1499
+ {
1500
+ name: "description",
1501
+ required: false,
1502
+ type: "object",
1503
+ properties: [
1504
+ { name: "ar", required: false, type: "string" },
1505
+ { name: "en", required: false, type: "string" },
1506
+ ],
1507
+ },
1508
+ { name: "sizeInBytes", required: false, type: "number" },
1509
+ { name: "contentType", required: false, type: "string" },
1510
+ ],
1511
+ },
1512
+ ],
1513
+ },
1514
+ {
1515
+ name: "currentLeave",
1516
+ required: false,
1517
+ type: "object",
1518
+ properties: [
1519
+ { name: "id", required: false, type: "uuid" },
1520
+ {
1521
+ name: "employee",
1522
+ required: false,
1523
+ type: "object",
1524
+ properties: [
1525
+ { name: "id", required: false, type: "uuid" },
1526
+ {
1527
+ name: "name",
1528
+ required: false,
1529
+ type: "object",
1530
+ properties: [
1531
+ { name: "ar", required: false, type: "string" },
1532
+ { name: "en", required: false, type: "string" },
1533
+ ],
1534
+ },
1535
+ ],
1536
+ },
1537
+ { name: "type", required: false, type: "string" },
1538
+ { name: "from", required: false, type: "datetime" },
1539
+ { name: "to", required: false, type: "datetime" },
1540
+ { name: "dayCount", required: false, type: "number" },
1541
+ { name: "daysBalanceBeforeLeave", required: false, type: "number" },
1542
+ { name: "deductibleFromBalance", required: false, type: "boolean" },
1543
+ {
1544
+ name: "serviceRequest",
1545
+ required: false,
1546
+ type: "object",
1547
+ properties: [{ name: "id", required: false, type: "uuid" }],
1548
+ },
1549
+ ],
1550
+ },
1551
+ {
1552
+ name: "currentTermination",
1553
+ required: false,
1554
+ type: "object",
1555
+ properties: [
1556
+ { name: "id", required: false, type: "uuid" },
1557
+ {
1558
+ name: "employee",
1559
+ required: false,
1560
+ type: "object",
1561
+ properties: [
1562
+ { name: "id", required: false, type: "uuid" },
1563
+ {
1564
+ name: "name",
1565
+ required: false,
1566
+ type: "object",
1567
+ properties: [
1568
+ { name: "ar", required: false, type: "string" },
1569
+ { name: "en", required: false, type: "string" },
1570
+ ],
1571
+ },
1572
+ ],
1573
+ },
1574
+ { name: "lastWorkDate", required: false, type: "datetime" },
1575
+ {
1576
+ name: "type",
1577
+ required: false,
1578
+ type: "object",
1579
+ properties: [
1580
+ { name: "id", required: false, type: "uuid" },
1581
+ {
1582
+ name: "name",
1583
+ required: false,
1584
+ type: "object",
1585
+ properties: [
1586
+ { name: "ar", required: false, type: "string" },
1587
+ { name: "en", required: false, type: "string" },
1588
+ ],
1589
+ },
1590
+ ],
1591
+ },
1592
+ {
1593
+ name: "terminationReason",
1594
+ required: false,
1595
+ type: "object",
1596
+ properties: [
1597
+ { name: "id", required: false, type: "uuid" },
1598
+ {
1599
+ name: "name",
1600
+ required: false,
1601
+ type: "object",
1602
+ properties: [
1603
+ { name: "ar", required: false, type: "string" },
1604
+ { name: "en", required: false, type: "string" },
1605
+ ],
1606
+ },
1607
+ ],
1608
+ },
1609
+ { name: "details", required: false, type: "string" },
1610
+ {
1611
+ name: "signedRequestFile",
1612
+ required: false,
1613
+ type: "object",
1614
+ properties: [
1615
+ { name: "id", required: false, type: "uuid" },
1616
+ { name: "createdTime", required: false, type: "datetime" },
1617
+ {
1618
+ name: "name",
1619
+ required: false,
1620
+ type: "object",
1621
+ properties: [
1622
+ { name: "ar", required: false, type: "string" },
1623
+ { name: "en", required: false, type: "string" },
1624
+ ],
1625
+ },
1626
+ {
1627
+ name: "description",
1628
+ required: false,
1629
+ type: "object",
1630
+ properties: [
1631
+ { name: "ar", required: false, type: "string" },
1632
+ { name: "en", required: false, type: "string" },
1633
+ ],
1634
+ },
1635
+ { name: "sizeInBytes", required: false, type: "number" },
1636
+ { name: "contentType", required: false, type: "string" },
1637
+ ],
1638
+ },
1639
+ { name: "financeNotes", required: false, type: "string" },
1640
+ { name: "warehouseNotes", required: false, type: "string" },
1641
+ { name: "armoryNotes", required: false, type: "string" },
1642
+ { name: "isResidencyCanceled", required: false, type: "boolean" },
1643
+ { name: "isHealthInsuranceCanceled", required: false, type: "boolean" },
1644
+ {
1645
+ name: "residencyAndHealthInsuranceCancellationNotes",
1646
+ required: false,
1647
+ type: "string",
1648
+ },
1649
+ { name: "lengthOfServiceInDays", required: false, type: "number" },
1650
+ { name: "endOfServiceBenefits", required: false, type: "number" },
1651
+ ],
1652
+ },
1653
+ ] as const,
1654
+ successStatus: 200,
1655
+ errorStatuses: [404],
1656
+ responseKind: "object",
1657
+ } as const,
1658
+ // @auto-generated-end
1659
+ });