@hed-hog/operations 0.0.3 → 0.0.286
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.
- package/README.md +122 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/operations-data.controller.d.ts +139 -0
- package/dist/operations-data.controller.d.ts.map +1 -0
- package/dist/operations-data.controller.js +113 -0
- package/dist/operations-data.controller.js.map +1 -0
- package/dist/operations-growth.controller.d.ts +48 -0
- package/dist/operations-growth.controller.d.ts.map +1 -0
- package/dist/operations-growth.controller.js +90 -0
- package/dist/operations-growth.controller.js.map +1 -0
- package/dist/operations.module.d.ts.map +1 -1
- package/dist/operations.module.js +10 -4
- package/dist/operations.module.js.map +1 -1
- package/dist/operations.service.d.ts +178 -0
- package/dist/operations.service.d.ts.map +1 -0
- package/dist/operations.service.js +134 -0
- package/dist/operations.service.js.map +1 -0
- package/hedhog/data/menu.yaml +251 -132
- package/hedhog/data/operations_career_level.yaml +102 -0
- package/hedhog/data/operations_career_track.yaml +8 -0
- package/hedhog/data/operations_certification.yaml +38 -0
- package/hedhog/data/operations_evaluation_cycle.yaml +18 -0
- package/hedhog/data/operations_performance_criterion.yaml +48 -0
- package/hedhog/data/role.yaml +14 -7
- package/hedhog/data/route.yaml +143 -80
- package/hedhog/frontend/app/_components/allocation-calendar.tsx.ejs +56 -56
- package/hedhog/frontend/app/_components/kanban-board.tsx.ejs +626 -83
- package/hedhog/frontend/app/_components/operations-header.tsx.ejs +29 -29
- package/hedhog/frontend/app/_components/section-card.tsx.ejs +32 -32
- package/hedhog/frontend/app/_components/status-badge.tsx.ejs +15 -15
- package/hedhog/frontend/app/_components/timesheet-entry-dialog.tsx.ejs +142 -142
- package/hedhog/frontend/app/_lib/hooks/use-operations-data.ts.ejs +41 -41
- package/hedhog/frontend/app/_lib/hooks/use-operations-growth-data.ts.ejs +63 -0
- package/hedhog/frontend/app/_lib/mocks/allocations.mock.ts.ejs +74 -74
- package/hedhog/frontend/app/_lib/mocks/contracts.mock.ts.ejs +74 -74
- package/hedhog/frontend/app/_lib/mocks/operations-growth.mock.ts.ejs +824 -0
- package/hedhog/frontend/app/_lib/mocks/projects.mock.ts.ejs +455 -60
- package/hedhog/frontend/app/_lib/mocks/tasks.mock.ts.ejs +117 -88
- package/hedhog/frontend/app/_lib/mocks/timesheets.mock.ts.ejs +84 -84
- package/hedhog/frontend/app/_lib/mocks/users.mock.ts.ejs +67 -67
- package/hedhog/frontend/app/_lib/services/contracts.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/services/operations-growth.service.ts.ejs +31 -0
- package/hedhog/frontend/app/_lib/services/projects.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/services/tasks.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/services/timesheets.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/types/operations-growth.ts.ejs +209 -0
- package/hedhog/frontend/app/_lib/types/operations.ts.ejs +156 -95
- package/hedhog/frontend/app/_lib/utils/format.ts.ejs +25 -25
- package/hedhog/frontend/app/_lib/utils/growth.ts.ejs +62 -0
- package/hedhog/frontend/app/_lib/utils/metrics.ts.ejs +103 -103
- package/hedhog/frontend/app/_lib/utils/status.ts.ejs +80 -80
- package/hedhog/frontend/app/allocations/page.tsx.ejs +155 -99
- package/hedhog/frontend/app/approvals/page.tsx.ejs +147 -147
- package/hedhog/frontend/app/career/page.tsx.ejs +143 -0
- package/hedhog/frontend/app/certifications/page.tsx.ejs +202 -0
- package/hedhog/frontend/app/contracts/[id]/page.tsx.ejs +108 -108
- package/hedhog/frontend/app/contracts/page.tsx.ejs +181 -124
- package/hedhog/frontend/app/evaluations/page.tsx.ejs +278 -0
- package/hedhog/frontend/app/goals/page.tsx.ejs +171 -0
- package/hedhog/frontend/app/growth/page.tsx.ejs +288 -0
- package/hedhog/frontend/app/layout.tsx.ejs +9 -9
- package/hedhog/frontend/app/manager/page.tsx.ejs +175 -0
- package/hedhog/frontend/app/page.tsx.ejs +177 -177
- package/hedhog/frontend/app/projects/[id]/page.tsx.ejs +936 -186
- package/hedhog/frontend/app/projects/page.tsx.ejs +1074 -111
- package/hedhog/frontend/app/rewards/page.tsx.ejs +196 -0
- package/hedhog/frontend/app/tasks/page.tsx.ejs +999 -47
- package/hedhog/frontend/app/timesheets/page.tsx.ejs +126 -126
- package/hedhog/frontend/messages/en.json +454 -142
- package/hedhog/frontend/messages/pt.json +454 -142
- package/hedhog/table/operations_allocation.yaml +52 -0
- package/hedhog/table/operations_calibration_item.yaml +61 -0
- package/hedhog/table/operations_calibration_session.yaml +25 -0
- package/hedhog/table/operations_career_level.yaml +75 -0
- package/hedhog/table/operations_career_track.yaml +21 -0
- package/hedhog/table/operations_certification.yaml +48 -0
- package/hedhog/table/operations_contract.yaml +57 -0
- package/hedhog/table/operations_employee.yaml +64 -0
- package/hedhog/table/operations_employee_certification.yaml +43 -0
- package/hedhog/table/operations_employee_connect.yaml +61 -0
- package/hedhog/table/operations_employee_evaluation.yaml +113 -0
- package/hedhog/table/operations_employee_evaluation_item.yaml +39 -0
- package/hedhog/table/operations_employee_profile.yaml +80 -0
- package/hedhog/table/operations_employee_skill_matrix.yaml +30 -0
- package/hedhog/table/operations_evaluation_cycle.yaml +31 -0
- package/hedhog/table/operations_goal.yaml +67 -0
- package/hedhog/table/operations_goal_progress.yaml +31 -0
- package/hedhog/table/operations_performance_criterion.yaml +29 -0
- package/hedhog/table/operations_project.yaml +66 -0
- package/hedhog/table/operations_promotion_readiness.yaml +49 -0
- package/hedhog/table/operations_promotion_recommendation.yaml +63 -0
- package/hedhog/table/operations_public_recognition.yaml +46 -0
- package/hedhog/table/operations_reward.yaml +100 -0
- package/hedhog/table/operations_score_event.yaml +81 -0
- package/hedhog/table/operations_task.yaml +60 -0
- package/hedhog/table/operations_timesheet.yaml +49 -0
- package/hedhog/table/operations_timesheet_entry.yaml +51 -0
- package/package.json +4 -4
- package/src/index.ts +2 -1
- package/src/language/en.json +8 -8
- package/src/language/pt.json +8 -8
- package/src/operations-data.controller.ts +54 -0
- package/src/operations-growth.controller.ts +44 -0
- package/src/operations.module.ts +21 -15
- package/src/operations.service.ts +137 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: timesheet_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: operations_timesheet
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: project_id
|
|
11
|
+
type: fk
|
|
12
|
+
isNullable: true
|
|
13
|
+
references:
|
|
14
|
+
table: operations_project
|
|
15
|
+
column: id
|
|
16
|
+
onDelete: SET NULL
|
|
17
|
+
onUpdate: CASCADE
|
|
18
|
+
- name: task_id
|
|
19
|
+
type: fk
|
|
20
|
+
isNullable: true
|
|
21
|
+
references:
|
|
22
|
+
table: operations_task
|
|
23
|
+
column: id
|
|
24
|
+
onDelete: SET NULL
|
|
25
|
+
onUpdate: CASCADE
|
|
26
|
+
- name: work_date
|
|
27
|
+
type: date
|
|
28
|
+
- name: hours
|
|
29
|
+
type: decimal
|
|
30
|
+
precision: 6
|
|
31
|
+
scale: 2
|
|
32
|
+
- name: description
|
|
33
|
+
type: text
|
|
34
|
+
isNullable: true
|
|
35
|
+
- name: approval_status
|
|
36
|
+
type: enum
|
|
37
|
+
values: [pending, approved, rejected]
|
|
38
|
+
default: pending
|
|
39
|
+
- name: deleted_at
|
|
40
|
+
type: datetime
|
|
41
|
+
isNullable: true
|
|
42
|
+
- type: created_at
|
|
43
|
+
- type: updated_at
|
|
44
|
+
|
|
45
|
+
indices:
|
|
46
|
+
- columns: [timesheet_id]
|
|
47
|
+
- columns: [project_id]
|
|
48
|
+
- columns: [task_id]
|
|
49
|
+
- columns: [work_date]
|
|
50
|
+
- columns: [approval_status]
|
|
51
|
+
- columns: [deleted_at]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hed-hog/operations",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.286",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"@nestjs/core": "^11",
|
|
10
10
|
"@nestjs/jwt": "^11",
|
|
11
11
|
"@nestjs/mapped-types": "*",
|
|
12
|
-
"@hed-hog/api-locale": "0.0.13",
|
|
13
12
|
"@hed-hog/api": "0.0.4",
|
|
14
13
|
"@hed-hog/api-pagination": "0.0.6",
|
|
15
|
-
"@hed-hog/api-
|
|
16
|
-
"@hed-hog/api-prisma": "0.0.5"
|
|
14
|
+
"@hed-hog/api-locale": "0.0.13",
|
|
15
|
+
"@hed-hog/api-prisma": "0.0.5",
|
|
16
|
+
"@hed-hog/api-types": "0.0.1"
|
|
17
17
|
},
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|
package/src/index.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './operations.module';
|
|
1
|
+
export * from './operations.module';
|
|
2
|
+
export * from './operations.service';
|
package/src/language/en.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"HomePage": {
|
|
3
|
-
"title": "Operations",
|
|
4
|
-
"description": "Manage your operations.",
|
|
5
|
-
"breadcrumbHome": "Home",
|
|
6
|
-
"breadcrumbCurrent": "Operations"
|
|
7
|
-
}
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"HomePage": {
|
|
3
|
+
"title": "Operations",
|
|
4
|
+
"description": "Manage your operations.",
|
|
5
|
+
"breadcrumbHome": "Home",
|
|
6
|
+
"breadcrumbCurrent": "Operations"
|
|
7
|
+
}
|
|
8
|
+
}
|
package/src/language/pt.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"HomePage": {
|
|
3
|
-
"title": "Operations",
|
|
4
|
-
"description": "Gerencie seu operations.",
|
|
5
|
-
"breadcrumbHome": "Inicio",
|
|
6
|
-
"breadcrumbCurrent": "Operations"
|
|
7
|
-
}
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"HomePage": {
|
|
3
|
+
"title": "Operations",
|
|
4
|
+
"description": "Gerencie seu operations.",
|
|
5
|
+
"breadcrumbHome": "Inicio",
|
|
6
|
+
"breadcrumbCurrent": "Operations"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Role } from '@hed-hog/api';
|
|
2
|
+
import { Controller, Get, Param, ParseIntPipe } from '@nestjs/common';
|
|
3
|
+
import { OperationsService } from './operations.service';
|
|
4
|
+
|
|
5
|
+
@Role()
|
|
6
|
+
@Controller('operations')
|
|
7
|
+
export class OperationsDataController {
|
|
8
|
+
constructor(private readonly operationsService: OperationsService) {}
|
|
9
|
+
|
|
10
|
+
@Get()
|
|
11
|
+
getDashboard() {
|
|
12
|
+
return this.operationsService.getDashboard();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@Get('contracts')
|
|
16
|
+
listContracts() {
|
|
17
|
+
return this.operationsService.listContracts();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Get('contracts/:id')
|
|
21
|
+
getContract(@Param('id', ParseIntPipe) id: number) {
|
|
22
|
+
return this.operationsService.getContractById(id);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@Get('projects')
|
|
26
|
+
listProjects() {
|
|
27
|
+
return this.operationsService.listProjects();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@Get('projects/:id')
|
|
31
|
+
getProject(@Param('id', ParseIntPipe) id: number) {
|
|
32
|
+
return this.operationsService.getProjectById(id);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@Get('allocations')
|
|
36
|
+
listAllocations() {
|
|
37
|
+
return this.operationsService.listAllocations();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@Get('tasks')
|
|
41
|
+
listTasks() {
|
|
42
|
+
return this.operationsService.listTasks();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@Get('timesheets')
|
|
46
|
+
listTimesheets() {
|
|
47
|
+
return this.operationsService.listTimesheets();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@Get('approvals')
|
|
51
|
+
listApprovals() {
|
|
52
|
+
return this.operationsService.listApprovals();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Role } from '@hed-hog/api';
|
|
2
|
+
import { Controller, Get } from '@nestjs/common';
|
|
3
|
+
import { OperationsService } from './operations.service';
|
|
4
|
+
|
|
5
|
+
@Role()
|
|
6
|
+
@Controller('operations')
|
|
7
|
+
export class OperationsGrowthController {
|
|
8
|
+
constructor(private readonly operationsService: OperationsService) {}
|
|
9
|
+
|
|
10
|
+
@Get('growth')
|
|
11
|
+
getGrowthDashboard() {
|
|
12
|
+
return this.operationsService.getGrowthDashboard();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@Get('evaluations')
|
|
16
|
+
listEvaluations() {
|
|
17
|
+
return this.operationsService.listEvaluations();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Get('goals')
|
|
21
|
+
listGoals() {
|
|
22
|
+
return this.operationsService.listGoals();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@Get('certifications')
|
|
26
|
+
listCertifications() {
|
|
27
|
+
return this.operationsService.listCertifications();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@Get('rewards')
|
|
31
|
+
listRewards() {
|
|
32
|
+
return this.operationsService.listRewards();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@Get('career')
|
|
36
|
+
listCareerPaths() {
|
|
37
|
+
return this.operationsService.listCareerPaths();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@Get('manager')
|
|
41
|
+
getManagerOverview() {
|
|
42
|
+
return this.operationsService.getManagerOverview();
|
|
43
|
+
}
|
|
44
|
+
}
|
package/src/operations.module.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { LocaleModule } from '@hed-hog/api-locale';
|
|
2
|
+
import { PaginationModule } from '@hed-hog/api-pagination';
|
|
3
|
+
import { PrismaModule } from '@hed-hog/api-prisma';
|
|
4
|
+
import { forwardRef, Module } from '@nestjs/common';
|
|
5
|
+
import { ConfigModule } from '@nestjs/config';
|
|
6
|
+
import { OperationsDataController } from './operations-data.controller';
|
|
7
|
+
import { OperationsGrowthController } from './operations-growth.controller';
|
|
8
|
+
import { OperationsService } from './operations.service';
|
|
9
|
+
|
|
10
|
+
@Module({
|
|
11
|
+
imports: [
|
|
12
|
+
ConfigModule.forRoot(),
|
|
13
|
+
forwardRef(() => PaginationModule),
|
|
14
|
+
forwardRef(() => PrismaModule),
|
|
15
|
+
forwardRef(() => LocaleModule),
|
|
16
|
+
],
|
|
17
|
+
controllers: [OperationsDataController, OperationsGrowthController],
|
|
18
|
+
providers: [OperationsService],
|
|
19
|
+
exports: [OperationsService],
|
|
20
|
+
})
|
|
21
|
+
export class OperationsModule {}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
2
|
+
|
|
3
|
+
const operationalCollections = {
|
|
4
|
+
contracts: [
|
|
5
|
+
{ id: 1, code: 'CTR-001', name: 'Northwind Retainer', status: 'active' },
|
|
6
|
+
{ id: 2, code: 'CTR-002', name: 'BluePeak Migration', status: 'renewal' },
|
|
7
|
+
],
|
|
8
|
+
projects: [
|
|
9
|
+
{ id: 1, code: 'PRJ-OPS-1', name: 'Phoenix Platform Rollout', status: 'active' },
|
|
10
|
+
{ id: 2, code: 'PRJ-OPS-2', name: 'Northwind Service Desk', status: 'at_risk' },
|
|
11
|
+
],
|
|
12
|
+
allocations: [
|
|
13
|
+
{ id: 1, employeeId: 1, projectId: 1, weeklyHours: 30, allocationPercent: 75 },
|
|
14
|
+
{ id: 2, employeeId: 2, projectId: 2, weeklyHours: 20, allocationPercent: 50 },
|
|
15
|
+
],
|
|
16
|
+
tasks: [
|
|
17
|
+
{ id: 1, title: 'Deploy onboarding workflow', status: 'review' },
|
|
18
|
+
{ id: 2, title: 'Refine support KPI dashboard', status: 'in_progress' },
|
|
19
|
+
],
|
|
20
|
+
timesheets: [
|
|
21
|
+
{ id: 1, employeeId: 1, status: 'submitted', cycleStartDate: '2026-03-09' },
|
|
22
|
+
{ id: 2, employeeId: 2, status: 'approved', cycleStartDate: '2026-03-09' },
|
|
23
|
+
],
|
|
24
|
+
approvals: [
|
|
25
|
+
{ id: 1, employeeId: 1, status: 'pending', hours: 8 },
|
|
26
|
+
{ id: 2, employeeId: 3, status: 'pending', hours: 6.5 },
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const growthCollections = {
|
|
31
|
+
growth: {
|
|
32
|
+
topSignals: ['score_events', 'career_tracks', 'goals', 'recognitions'],
|
|
33
|
+
note: 'Foundation endpoint for the employee growth dashboard.',
|
|
34
|
+
},
|
|
35
|
+
evaluations: [
|
|
36
|
+
{ id: 1, employeeId: 1, cycle: '2026 H1 Growth Cycle', status: 'finalized', generatedScore: 84 },
|
|
37
|
+
{ id: 2, employeeId: 2, cycle: '2026 Delivery Sprint Review', status: 'submitted', generatedScore: 72 },
|
|
38
|
+
],
|
|
39
|
+
goals: [
|
|
40
|
+
{ id: 1, employeeId: 1, title: 'Reduce rework under 5%', status: 'active', progressPercent: 68 },
|
|
41
|
+
{ id: 2, employeeId: 2, title: 'Close Scrum certification', status: 'at_risk', progressPercent: 35 },
|
|
42
|
+
],
|
|
43
|
+
certifications: [
|
|
44
|
+
{ id: 1, slug: 'scrum-master-foundations', status: 'achieved' },
|
|
45
|
+
{ id: 2, slug: 'advanced-quality-assurance', status: 'planned' },
|
|
46
|
+
],
|
|
47
|
+
rewards: [
|
|
48
|
+
{ id: 1, employeeId: 1, rewardType: 'bonus', status: 'granted' },
|
|
49
|
+
{ id: 2, employeeId: 3, rewardType: 'recognition', status: 'granted' },
|
|
50
|
+
],
|
|
51
|
+
career: [
|
|
52
|
+
{ id: 1, track: 'Delivery', currentLevel: 'Consultant', nextLevel: 'Senior Consultant' },
|
|
53
|
+
{ id: 2, track: 'Specialist', currentLevel: 'Specialist II', nextLevel: 'Principal Specialist' },
|
|
54
|
+
],
|
|
55
|
+
manager: {
|
|
56
|
+
summary: {
|
|
57
|
+
promotionEligible: 2,
|
|
58
|
+
goalsAtRisk: 3,
|
|
59
|
+
pendingCertifications: 4,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
@Injectable()
|
|
65
|
+
export class OperationsService {
|
|
66
|
+
// TODO: Replace static collections with Prisma queries after the first schema apply.
|
|
67
|
+
// TODO: Promotion must not be derived from score alone; score remains only a support signal.
|
|
68
|
+
// TODO: Certifications are supporting evidence and do not guarantee promotion on their own.
|
|
69
|
+
// TODO: Future readiness logic must consider individual, team, and org impact, plus time operating at the next level and calibration outcomes.
|
|
70
|
+
getDashboard() {
|
|
71
|
+
return {
|
|
72
|
+
module: 'operations',
|
|
73
|
+
operationalCollections,
|
|
74
|
+
growthCollections,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
listContracts() {
|
|
79
|
+
return operationalCollections.contracts;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
getContractById(id: number) {
|
|
83
|
+
return operationalCollections.contracts.find((item) => item.id === id) ?? null;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
listProjects() {
|
|
87
|
+
return operationalCollections.projects;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
getProjectById(id: number) {
|
|
91
|
+
return operationalCollections.projects.find((item) => item.id === id) ?? null;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
listAllocations() {
|
|
95
|
+
return operationalCollections.allocations;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
listTasks() {
|
|
99
|
+
return operationalCollections.tasks;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
listTimesheets() {
|
|
103
|
+
return operationalCollections.timesheets;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
listApprovals() {
|
|
107
|
+
return operationalCollections.approvals;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
getGrowthDashboard() {
|
|
111
|
+
return growthCollections.growth;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
listEvaluations() {
|
|
115
|
+
return growthCollections.evaluations;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
listGoals() {
|
|
119
|
+
return growthCollections.goals;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
listCertifications() {
|
|
123
|
+
return growthCollections.certifications;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
listRewards() {
|
|
127
|
+
return growthCollections.rewards;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
listCareerPaths() {
|
|
131
|
+
return growthCollections.career;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
getManagerOverview() {
|
|
135
|
+
return growthCollections.manager;
|
|
136
|
+
}
|
|
137
|
+
}
|