diff --git a/package-lock.json b/package-lock.json index b3363fc..9b49166 100644 --- a/package-lock.json +++ b/package-lock.json @@ -243,6 +243,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz", "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "dev": true, + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -3113,6 +3114,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -3271,6 +3273,7 @@ "version": "11.1.7", "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.7.tgz", "integrity": "sha512-lwlObwGgIlpXSXYOTpfzdCepUyWomz6bv9qzGzzvpgspUxkj0Uz0fUJcvD44V8Ps7QhKW3lZBoYbXrH25UZrbA==", + "peer": true, "dependencies": { "file-type": "21.0.0", "iterare": "1.2.1", @@ -3316,6 +3319,7 @@ "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.7.tgz", "integrity": "sha512-TyXFOwjhHv/goSgJ8i20K78jwTM0iSpk9GBcC2h3mf4MxNy+znI8m7nWjfoACjTkb89cTwDQetfTHtSfGLLaiA==", "hasInstallScript": true, + "peer": true, "dependencies": { "@nuxt/opencollective": "0.4.1", "fast-safe-stringify": "2.1.1", @@ -3395,6 +3399,7 @@ "version": "11.1.7", "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.7.tgz", "integrity": "sha512-5T+GLdvTiGPKB4/P4PM9ftKUKNHJy8ThEFhZA3vQnXVL7Vf0rDr07TfVTySVu+XTh85m1lpFVuyFM6u6wLNsRA==", + "peer": true, "dependencies": { "cors": "2.8.5", "express": "5.1.0", @@ -3794,6 +3799,7 @@ "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.6.0.tgz", "integrity": "sha512-Q5FsI3Cw0fGMXhmsg7c08i4EmXCrcl+WnAxb6LYOLHw4JFFC3yzmx9LaXZ7QMbA+JZXbigU2TirI7RAfO0Qlnw==", "dev": true, + "peer": true, "dependencies": { "@swc/counter": "^0.1.3", "@xhmikosr/bin-wrapper": "^13.0.5", @@ -3862,6 +3868,7 @@ "integrity": "sha512-CJSn2vstd17ddWIHBsjuD4OQnn9krQfaq6EO+w9YfId5DKznyPmzxAARlOXG99cC8/3Kli8ysKy6phL43bSr0w==", "dev": true, "hasInstallScript": true, + "peer": true, "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.23" @@ -4198,6 +4205,7 @@ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, + "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -4357,6 +4365,7 @@ "version": "22.17.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.2.tgz", "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4537,6 +4546,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.37.0.tgz", "integrity": "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.37.0", "@typescript-eslint/types": "8.37.0", @@ -5440,6 +5450,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5452,7 +5463,6 @@ "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", "dev": true, - "peer": true, "engines": { "node": ">=10.13.0" }, @@ -5486,6 +5496,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5953,6 +5964,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", @@ -6231,6 +6243,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "devOptional": true, + "peer": true, "dependencies": { "readdirp": "^4.0.1" }, @@ -6283,12 +6296,14 @@ "node_modules/class-transformer": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", + "peer": true }, "node_modules/class-validator": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.2.tgz", "integrity": "sha512-3kMVRF2io8N8pY1IFIXlho9r8IPUUIfHe2hYVtiebvAzU2XeQFXTv+XI4WX+TnXmtwXMDcjngcpkiPM0O9PvLw==", + "peer": true, "dependencies": { "@types/validator": "^13.11.8", "libphonenumber-js": "^1.11.1", @@ -7151,6 +7166,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -7211,6 +7227,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", "dev": true, + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -8717,6 +8734,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -10353,6 +10371,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "peer": true, "dependencies": { "passport-strategy": "1.x.x", "pause": "0.0.1", @@ -10646,6 +10665,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -10700,6 +10720,7 @@ "integrity": "sha512-bXWy3vTk8mnRmT+SLyZBQoC2vtV9Z8u7OHvEu+aULYxwiop/CPiFZ+F56KsNRNf35jw+8wcu8pmLsjxpBxAO9g==", "devOptional": true, "hasInstallScript": true, + "peer": true, "dependencies": { "@prisma/config": "6.18.0", "@prisma/engines": "6.18.0" @@ -10919,7 +10940,8 @@ "node_modules/reflect-metadata": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "peer": true }, "node_modules/repeat-string": { "version": "1.6.1", @@ -11108,6 +11130,7 @@ "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "peer": true, "dependencies": { "tslib": "^2.1.0" } @@ -11917,6 +11940,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -12225,6 +12249,7 @@ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, + "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -12382,6 +12407,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "devOptional": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12564,9 +12590,10 @@ } }, "node_modules/validator": { - "version": "13.15.15", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz", - "integrity": "sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==", + "version": "13.15.20", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.20.tgz", + "integrity": "sha512-KxPOq3V2LmfQPP4eqf3Mq/zrT0Dqp2Vmx2Bn285LwVahLc+CsxOM0crBHczm8ijlcjZ0Q5Xd6LW3z3odTPnlrw==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -12711,7 +12738,6 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "peer": true, "dependencies": { "ajv": "^8.0.0" }, @@ -12729,7 +12755,6 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -12742,7 +12767,6 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -12756,7 +12780,6 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "peer": true, "engines": { "node": ">=4.0" } @@ -12765,15 +12788,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "dev": true }, "node_modules/webpack/node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "peer": true, "engines": { "node": ">= 0.6" } @@ -12783,7 +12804,6 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "peer": true, "dependencies": { "mime-db": "1.52.0" }, @@ -12796,7 +12816,6 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, - "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", diff --git a/src/app.module.ts b/src/app.module.ts index ae2e569..dbe9dd9 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -14,8 +14,8 @@ import { ConfigModule } from '@nestjs/config'; import { APP_FILTER, APP_PIPE } from '@nestjs/core'; import { HttpExceptionFilter } from './common/filters/http-exception.filter'; import { ValidationError } from 'class-validator'; -import { PayperiodsModule } from './time-and-attendance/modules/pay-period/pay-periods.module'; import { TimeAndAttendanceModule } from 'src/time-and-attendance/time-and-attendance.module'; +import { PayperiodsModule } from 'src/time-and-attendance/pay-period/pay-periods.module'; @Module({ imports: [ diff --git a/src/modules/exports/csv-exports.module.ts b/src/modules/exports/csv-exports.module.ts index fa0c7f1..30a9b8d 100644 --- a/src/modules/exports/csv-exports.module.ts +++ b/src/modules/exports/csv-exports.module.ts @@ -1,7 +1,7 @@ import { Module } from "@nestjs/common"; import { CsvExportController } from "./controllers/csv-exports.controller"; import { CsvExportService } from "./services/csv-exports.service"; -import { SharedModule } from "../../time-and-attendance/modules/shared/shared.module"; +import { SharedModule } from "src/time-and-attendance/shared/shared.module"; @Module({ providers:[CsvExportService, SharedModule], diff --git a/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts b/src/time-and-attendance/expenses/controllers/expense.controller.ts similarity index 75% rename from src/time-and-attendance/modules/expenses/controllers/expense.controller.ts rename to src/time-and-attendance/expenses/controllers/expense.controller.ts index 594d583..34b83e9 100644 --- a/src/time-and-attendance/modules/expenses/controllers/expense.controller.ts +++ b/src/time-and-attendance/expenses/controllers/expense.controller.ts @@ -1,9 +1,8 @@ import { Controller, Post, Param, Body, Patch, Delete, Req, UnauthorizedException } from "@nestjs/common"; import { CreateExpenseResult, UpdateExpenseResult } from "src/time-and-attendance/utils/type.utils"; -import { ExpenseUpsertService } from "src/time-and-attendance/modules/expenses/services/expense-upsert.service"; -import { updateExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-update.dto"; -import { ExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-create.dto"; - +import { ExpenseUpsertService } from "src/time-and-attendance/expenses/services/expense-upsert.service"; +import { updateExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-update.dto"; +import { ExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-create.dto"; @Controller('expense') export class ExpenseController { diff --git a/src/time-and-attendance/modules/expenses/dtos/expense-create.dto.ts b/src/time-and-attendance/expenses/dtos/expense-create.dto.ts similarity index 100% rename from src/time-and-attendance/modules/expenses/dtos/expense-create.dto.ts rename to src/time-and-attendance/expenses/dtos/expense-create.dto.ts diff --git a/src/time-and-attendance/modules/expenses/dtos/expense-get.dto.ts b/src/time-and-attendance/expenses/dtos/expense-get.dto.ts similarity index 100% rename from src/time-and-attendance/modules/expenses/dtos/expense-get.dto.ts rename to src/time-and-attendance/expenses/dtos/expense-get.dto.ts diff --git a/src/time-and-attendance/modules/expenses/dtos/expense-update.dto.ts b/src/time-and-attendance/expenses/dtos/expense-update.dto.ts similarity index 65% rename from src/time-and-attendance/modules/expenses/dtos/expense-update.dto.ts rename to src/time-and-attendance/expenses/dtos/expense-update.dto.ts index 829f9c9..3dfe9b6 100644 --- a/src/time-and-attendance/modules/expenses/dtos/expense-update.dto.ts +++ b/src/time-and-attendance/expenses/dtos/expense-update.dto.ts @@ -1,5 +1,5 @@ import { OmitType, PartialType } from "@nestjs/swagger"; -import { ExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-create.dto"; +import { ExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-create.dto"; export class updateExpenseDto extends PartialType ( OmitType(ExpenseDto, ['is_approved', 'timesheet_id'] as const) diff --git a/src/time-and-attendance/expenses/expenses.module.ts b/src/time-and-attendance/expenses/expenses.module.ts new file mode 100644 index 0000000..e6d737b --- /dev/null +++ b/src/time-and-attendance/expenses/expenses.module.ts @@ -0,0 +1,10 @@ +import { ExpenseUpsertService } from "src/time-and-attendance/expenses/services/expense-upsert.service"; +import { ExpenseController } from "src/time-and-attendance/expenses/controllers/expense.controller"; +import { Module } from "@nestjs/common"; + +@Module({ + controllers: [ ExpenseController ], + providers: [ ExpenseUpsertService ], +}) + +export class ExpensesModule {} \ No newline at end of file diff --git a/src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts b/src/time-and-attendance/expenses/services/expense-upsert.service.ts similarity index 96% rename from src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts rename to src/time-and-attendance/expenses/services/expense-upsert.service.ts index d2c4cb7..86a1c9b 100644 --- a/src/time-and-attendance/modules/expenses/services/expense-upsert.service.ts +++ b/src/time-and-attendance/expenses/services/expense-upsert.service.ts @@ -4,9 +4,9 @@ import { toDateFromString, toStringFromDate, weekStartSunday } from "src/time-an import { Injectable, NotFoundException, Req } from "@nestjs/common"; import { expense_select } from "src/time-and-attendance/utils/selects.utils"; import { PrismaService } from "src/prisma/prisma.service"; -import { GetExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-get.dto"; -import { ExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-create.dto"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; +import { ExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-create.dto"; +import { GetExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-get.dto"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; @Injectable() diff --git a/src/time-and-attendance/modules/expenses/services/expenses-archival.service.ts b/src/time-and-attendance/expenses/services/expenses-archival.service.ts similarity index 100% rename from src/time-and-attendance/modules/expenses/services/expenses-archival.service.ts rename to src/time-and-attendance/expenses/services/expenses-archival.service.ts diff --git a/src/time-and-attendance/modules/leave-requests/controllers/leave-requests.controller.ts b/src/time-and-attendance/leave-requests/controllers/leave-requests.controller.ts similarity index 94% rename from src/time-and-attendance/modules/leave-requests/controllers/leave-requests.controller.ts rename to src/time-and-attendance/leave-requests/controllers/leave-requests.controller.ts index fc934ff..53c8e47 100644 --- a/src/time-and-attendance/modules/leave-requests/controllers/leave-requests.controller.ts +++ b/src/time-and-attendance/leave-requests/controllers/leave-requests.controller.ts @@ -1,8 +1,7 @@ import { Body, Controller, Post } from "@nestjs/common"; import { ApiBearerAuth, ApiTags } from "@nestjs/swagger"; -import { LeaveRequestsService } from "../services/leave-request.service"; import { UpsertLeaveRequestDto } from "../dtos/upsert-leave-request.dto"; -import { LeaveTypes } from "@prisma/client"; +import { LeaveRequestsService } from "../services/leave-request.service"; @ApiTags('Leave Requests') @ApiBearerAuth('access-token') diff --git a/src/time-and-attendance/modules/leave-requests/dtos/leave-request-view.dto.ts b/src/time-and-attendance/leave-requests/dtos/leave-request-view.dto.ts similarity index 100% rename from src/time-and-attendance/modules/leave-requests/dtos/leave-request-view.dto.ts rename to src/time-and-attendance/leave-requests/dtos/leave-request-view.dto.ts diff --git a/src/time-and-attendance/modules/leave-requests/dtos/upsert-leave-request.dto.ts b/src/time-and-attendance/leave-requests/dtos/upsert-leave-request.dto.ts similarity index 100% rename from src/time-and-attendance/modules/leave-requests/dtos/upsert-leave-request.dto.ts rename to src/time-and-attendance/leave-requests/dtos/upsert-leave-request.dto.ts diff --git a/src/time-and-attendance/modules/leave-requests/leave-requests.module.ts b/src/time-and-attendance/leave-requests/leave-requests.module.ts similarity index 54% rename from src/time-and-attendance/modules/leave-requests/leave-requests.module.ts rename to src/time-and-attendance/leave-requests/leave-requests.module.ts index 21b9e23..a822a27 100644 --- a/src/time-and-attendance/modules/leave-requests/leave-requests.module.ts +++ b/src/time-and-attendance/leave-requests/leave-requests.module.ts @@ -1,11 +1,10 @@ -import { LeaveRequestController } from "src/time-and-attendance/modules/leave-requests/controllers/leave-requests.controller"; -import { LeaveRequestsService } from "src/time-and-attendance/modules/leave-requests/services/leave-request.service"; +import { LeaveRequestController } from "src/time-and-attendance/leave-requests/controllers/leave-requests.controller"; +import { LeaveRequestsService } from "src/time-and-attendance/leave-requests/services/leave-request.service"; import { BusinessLogicsModule } from "src/time-and-attendance/domains/business-logics.module"; -import { ShiftsModule } from "src/time-and-attendance/modules/time-tracker/shifts/shifts.module"; -import { SharedModule } from "src/time-and-attendance/modules/shared/shared.module"; +import { SharedModule } from "src/time-and-attendance/shared/shared.module"; +import { ShiftsModule } from "src/time-and-attendance/time-tracker/shifts/shifts.module"; import { Module } from "@nestjs/common"; - @Module({ imports: [ BusinessLogicsModule, diff --git a/src/time-and-attendance/modules/leave-requests/mappers/leave-requests-archive.mapper.ts b/src/time-and-attendance/leave-requests/mappers/leave-requests-archive.mapper.ts similarity index 100% rename from src/time-and-attendance/modules/leave-requests/mappers/leave-requests-archive.mapper.ts rename to src/time-and-attendance/leave-requests/mappers/leave-requests-archive.mapper.ts index 36d05fa..6a17723 100644 --- a/src/time-and-attendance/modules/leave-requests/mappers/leave-requests-archive.mapper.ts +++ b/src/time-and-attendance/leave-requests/mappers/leave-requests-archive.mapper.ts @@ -1,6 +1,6 @@ -import { Prisma } from "@prisma/client"; -import { LeaveRequestViewDto } from "../dtos/leave-request-view.dto"; import { LeaveRequestArchiveRow } from "../utils/leave-requests-archive.select"; +import { LeaveRequestViewDto } from "../dtos/leave-request-view.dto"; +import { Prisma } from "@prisma/client"; const toNum = (value?: Prisma.Decimal | null) => value ? Number(value) : undefined; diff --git a/src/time-and-attendance/modules/leave-requests/mappers/leave-requests.mapper.ts b/src/time-and-attendance/leave-requests/mappers/leave-requests.mapper.ts similarity index 100% rename from src/time-and-attendance/modules/leave-requests/mappers/leave-requests.mapper.ts rename to src/time-and-attendance/leave-requests/mappers/leave-requests.mapper.ts diff --git a/src/time-and-attendance/modules/leave-requests/services/holiday-leave-requests.service.ts b/src/time-and-attendance/leave-requests/services/holiday-leave-requests.service.ts similarity index 82% rename from src/time-and-attendance/modules/leave-requests/services/holiday-leave-requests.service.ts rename to src/time-and-attendance/leave-requests/services/holiday-leave-requests.service.ts index 148f4bf..5991686 100644 --- a/src/time-and-attendance/modules/leave-requests/services/holiday-leave-requests.service.ts +++ b/src/time-and-attendance/leave-requests/services/holiday-leave-requests.service.ts @@ -1,15 +1,16 @@ import { Injectable, NotFoundException, BadRequestException } from "@nestjs/common"; -import { UpsertLeaveRequestDto, UpsertResult } from "src/time-and-attendance/modules/leave-requests/dtos/upsert-leave-request.dto"; +import { UpsertLeaveRequestDto, UpsertResult } from "src/time-and-attendance/leave-requests/dtos/upsert-leave-request.dto"; import { LeaveTypes, LeaveApprovalStatus } from "@prisma/client"; -import { normalizeDates, toDateOnly } from "src/time-and-attendance/modules/shared/helpers/date-time.helpers"; -import { LeaveRequestViewDto } from "src/time-and-attendance/modules/leave-requests/dtos/leave-request-view.dto"; +import { normalizeDates, toDateOnly } from "src/time-and-attendance/shared/helpers/date-time.helpers"; import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; -import { LeaveRequestsUtils } from "src/time-and-attendance/modules/leave-requests/utils/leave-request.util"; -import { BankCodesResolver } from "src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; +import { LeaveRequestViewDto } from "src/time-and-attendance/leave-requests/dtos/leave-request-view.dto"; +import { LeaveRequestsUtils } from "src/time-and-attendance/leave-requests/utils/leave-request.util"; +import { BankCodesResolver } from "src/time-and-attendance/shared/utils/resolve-bank-type-id.utils"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; import { HolidayService } from "src/time-and-attendance/domains/services/holiday.service"; import { PrismaService } from "src/prisma/prisma.service"; -import { mapRowToView } from "src/time-and-attendance/modules/leave-requests/mappers/leave-requests.mapper"; +import { mapRowToView } from "src/time-and-attendance/leave-requests/mappers/leave-requests.mapper"; + @Injectable() diff --git a/src/time-and-attendance/modules/leave-requests/services/leave-request.service.ts b/src/time-and-attendance/leave-requests/services/leave-request.service.ts similarity index 96% rename from src/time-and-attendance/modules/leave-requests/services/leave-request.service.ts rename to src/time-and-attendance/leave-requests/services/leave-request.service.ts index 0fd0ceb..6390a10 100644 --- a/src/time-and-attendance/modules/leave-requests/services/leave-request.service.ts +++ b/src/time-and-attendance/leave-requests/services/leave-request.service.ts @@ -1,18 +1,18 @@ import { BadRequestException, Injectable, NotFoundException } from "@nestjs/common"; -import { LeaveApprovalStatus, LeaveTypes } from "@prisma/client"; -import { roundToQuarterHour } from "src/common/utils/date-utils"; +import { normalizeDates, toDateOnly, toISODateKey } from "src/time-and-attendance/shared/helpers/date-time.helpers"; import { UpsertLeaveRequestDto, UpsertResult } from "../dtos/upsert-leave-request.dto"; +import { LeaveApprovalStatus, LeaveTypes } from "@prisma/client"; +import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; import { LeaveRequestViewDto } from "../dtos/leave-request-view.dto"; -import { mapRowToView } from "../mappers/leave-requests.mapper"; -import { PrismaService } from "src/prisma/prisma.service"; -import { HolidayService } from "src/time-and-attendance/domains/services/holiday.service"; +import { roundToQuarterHour } from "src/common/utils/date-utils"; +import { LeaveRequestsUtils } from "src/time-and-attendance/leave-requests/utils/leave-request.util"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; +import { BankCodesResolver } from "src/time-and-attendance/shared/utils/resolve-bank-type-id.utils"; import { SickLeaveService } from "src/time-and-attendance/domains/services/sick-leave.service"; import { VacationService } from "src/time-and-attendance/domains/services/vacation.service"; -import { normalizeDates, toDateOnly, toISODateKey } from "src/time-and-attendance/modules/shared/helpers/date-time.helpers"; -import { BankCodesResolver } from "src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; -import { LeaveRequestsUtils } from "src/time-and-attendance/modules/leave-requests/utils/leave-request.util"; -import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; +import { HolidayService } from "src/time-and-attendance/domains/services/holiday.service"; +import { PrismaService } from "src/prisma/prisma.service"; +import { mapRowToView } from "../mappers/leave-requests.mapper"; @Injectable() export class LeaveRequestsService { constructor( diff --git a/src/time-and-attendance/modules/leave-requests/services/sick-leave-requests.service.ts b/src/time-and-attendance/leave-requests/services/sick-leave-requests.service.ts similarity index 88% rename from src/time-and-attendance/modules/leave-requests/services/sick-leave-requests.service.ts rename to src/time-and-attendance/leave-requests/services/sick-leave-requests.service.ts index 969d8a5..629dbff 100644 --- a/src/time-and-attendance/modules/leave-requests/services/sick-leave-requests.service.ts +++ b/src/time-and-attendance/leave-requests/services/sick-leave-requests.service.ts @@ -1,15 +1,16 @@ import { Injectable, NotFoundException, BadRequestException } from "@nestjs/common"; +import { UpsertLeaveRequestDto, UpsertResult } from "src/time-and-attendance/leave-requests/dtos/upsert-leave-request.dto"; import { LeaveTypes, LeaveApprovalStatus } from "@prisma/client"; -import { roundToQuarterHour } from "src/common/utils/date-utils"; -import { PrismaService } from "src/prisma/prisma.service"; -import { SickLeaveService } from "src/time-and-attendance/domains/services/sick-leave.service"; -import { LeaveRequestViewDto } from "src/time-and-attendance/modules/leave-requests/dtos/leave-request-view.dto"; -import { UpsertLeaveRequestDto, UpsertResult } from "src/time-and-attendance/modules/leave-requests/dtos/upsert-leave-request.dto"; -import { mapRowToView } from "src/time-and-attendance/modules/leave-requests/mappers/leave-requests.mapper"; -import { normalizeDates, toDateOnly } from "src/time-and-attendance/modules/shared/helpers/date-time.helpers"; -import { BankCodesResolver } from "src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; +import { normalizeDates, toDateOnly } from "src/time-and-attendance/shared/helpers/date-time.helpers"; +import { LeaveRequestViewDto } from "src/time-and-attendance/leave-requests/dtos/leave-request-view.dto"; import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; +import { roundToQuarterHour } from "src/common/utils/date-utils"; +import { BankCodesResolver } from "src/time-and-attendance/shared/utils/resolve-bank-type-id.utils"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; +import { SickLeaveService } from "src/time-and-attendance/domains/services/sick-leave.service"; +import { PrismaService } from "src/prisma/prisma.service"; +import { mapRowToView } from "src/time-and-attendance/leave-requests/mappers/leave-requests.mapper"; + @Injectable() diff --git a/src/time-and-attendance/modules/leave-requests/services/vacation-leave-requests.service.ts b/src/time-and-attendance/leave-requests/services/vacation-leave-requests.service.ts similarity index 88% rename from src/time-and-attendance/modules/leave-requests/services/vacation-leave-requests.service.ts rename to src/time-and-attendance/leave-requests/services/vacation-leave-requests.service.ts index 9f0afc7..d6f16a5 100644 --- a/src/time-and-attendance/modules/leave-requests/services/vacation-leave-requests.service.ts +++ b/src/time-and-attendance/leave-requests/services/vacation-leave-requests.service.ts @@ -1,15 +1,15 @@ import { Injectable, NotFoundException, BadRequestException } from "@nestjs/common"; +import { UpsertLeaveRequestDto, UpsertResult } from "src/time-and-attendance/leave-requests/dtos/upsert-leave-request.dto"; import { LeaveTypes, LeaveApprovalStatus } from "@prisma/client"; -import { roundToQuarterHour } from "src/common/utils/date-utils"; -import { PrismaService } from "src/prisma/prisma.service"; -import { VacationService } from "src/time-and-attendance/domains/services/vacation.service"; -import { LeaveRequestViewDto } from "src/time-and-attendance/modules/leave-requests/dtos/leave-request-view.dto"; -import { UpsertLeaveRequestDto, UpsertResult } from "src/time-and-attendance/modules/leave-requests/dtos/upsert-leave-request.dto"; -import { mapRowToView } from "src/time-and-attendance/modules/leave-requests/mappers/leave-requests.mapper"; -import { normalizeDates, toDateOnly } from "src/time-and-attendance/modules/shared/helpers/date-time.helpers"; -import { BankCodesResolver } from "src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; +import { normalizeDates, toDateOnly } from "src/time-and-attendance/shared/helpers/date-time.helpers"; import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; +import { LeaveRequestViewDto } from "src/time-and-attendance/leave-requests/dtos/leave-request-view.dto"; +import { roundToQuarterHour } from "src/common/utils/date-utils"; +import { BankCodesResolver } from "src/time-and-attendance/shared/utils/resolve-bank-type-id.utils"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; +import { VacationService } from "src/time-and-attendance/domains/services/vacation.service"; +import { PrismaService } from "src/prisma/prisma.service"; +import { mapRowToView } from "src/time-and-attendance/leave-requests/mappers/leave-requests.mapper"; @Injectable() diff --git a/src/time-and-attendance/leave-requests/utils/leave-request.transform.ts b/src/time-and-attendance/leave-requests/utils/leave-request.transform.ts new file mode 100644 index 0000000..5ff49fd --- /dev/null +++ b/src/time-and-attendance/leave-requests/utils/leave-request.transform.ts @@ -0,0 +1,20 @@ +import { LeaveRequestViewDto } from "src/time-and-attendance/leave-requests/dtos/leave-request-view.dto"; +import { mapArchiveRowToView } from "src/time-and-attendance/leave-requests/mappers/leave-requests-archive.mapper"; +import { mapRowToView } from "src/time-and-attendance/leave-requests/mappers/leave-requests.mapper"; +import { LeaveRequestArchiveRow } from "src/time-and-attendance/leave-requests/utils/leave-requests-archive.select"; +import { LeaveRequestRow } from "src/time-and-attendance/utils/type.utils"; + + +/** Active (table leave_requests) : proxy to base mapper */ +export function mapRowToViewWithDays(row: LeaveRequestRow): LeaveRequestViewDto { + return mapRowToView(row); +} + +/** Archive (table leave_requests_archive) : proxy to base mapper */ +export function mapArchiveRowToViewWithDays( + row: LeaveRequestArchiveRow, + email: string, + employee_full_name?: string, +): LeaveRequestViewDto { + return mapArchiveRowToView(row, email, employee_full_name!); +} \ No newline at end of file diff --git a/src/time-and-attendance/modules/leave-requests/utils/leave-request.util.ts b/src/time-and-attendance/leave-requests/utils/leave-request.util.ts similarity index 100% rename from src/time-and-attendance/modules/leave-requests/utils/leave-request.util.ts rename to src/time-and-attendance/leave-requests/utils/leave-request.util.ts diff --git a/src/time-and-attendance/modules/leave-requests/utils/leave-requests-archive.select.ts b/src/time-and-attendance/leave-requests/utils/leave-requests-archive.select.ts similarity index 100% rename from src/time-and-attendance/modules/leave-requests/utils/leave-requests-archive.select.ts rename to src/time-and-attendance/leave-requests/utils/leave-requests-archive.select.ts diff --git a/src/time-and-attendance/modules/expenses/expenses.module.ts b/src/time-and-attendance/modules/expenses/expenses.module.ts deleted file mode 100644 index 6ffff02..0000000 --- a/src/time-and-attendance/modules/expenses/expenses.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ExpenseUpsertService } from "src/time-and-attendance/modules/expenses/services/expense-upsert.service"; -import { ExpenseController } from "src/time-and-attendance/modules/expenses/controllers/expense.controller"; -import { Module } from "@nestjs/common"; - -@Module({ - controllers: [ ExpenseController ], - providers: [ ExpenseUpsertService ], -}) - -export class ExpensesModule {} \ No newline at end of file diff --git a/src/time-and-attendance/modules/leave-requests/utils/leave-request.transform.ts b/src/time-and-attendance/modules/leave-requests/utils/leave-request.transform.ts deleted file mode 100644 index 042c796..0000000 --- a/src/time-and-attendance/modules/leave-requests/utils/leave-request.transform.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { LeaveRequestArchiveRow } from './leave-requests-archive.select'; -import { LeaveRequestViewDto } from '../dtos/leave-request-view.dto'; -import { mapArchiveRowToView } from '../mappers/leave-requests-archive.mapper'; -import { LeaveRequestRow } from 'src/time-and-attendance/utils/type.utils'; -import { mapRowToView } from '../mappers/leave-requests.mapper'; - -/** Active (table leave_requests) : proxy to base mapper */ -export function mapRowToViewWithDays(row: LeaveRequestRow): LeaveRequestViewDto { - return mapRowToView(row); -} - -/** Archive (table leave_requests_archive) : proxy to base mapper */ -export function mapArchiveRowToViewWithDays( - row: LeaveRequestArchiveRow, - email: string, - employee_full_name?: string, -): LeaveRequestViewDto { - return mapArchiveRowToView(row, email, employee_full_name!); -} \ No newline at end of file diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/update-schedule-presets.dto.ts b/src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/update-schedule-presets.dto.ts deleted file mode 100644 index 2246c20..0000000 --- a/src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/update-schedule-presets.dto.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { SchedulePresetsDto } from "src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; - -export class SchedulePresetsUpdateDto extends SchedulePresetsDto{} \ No newline at end of file diff --git a/src/time-and-attendance/modules/time-tracker/shifts/shifts.module.ts b/src/time-and-attendance/modules/time-tracker/shifts/shifts.module.ts deleted file mode 100644 index e031f31..0000000 --- a/src/time-and-attendance/modules/time-tracker/shifts/shifts.module.ts +++ /dev/null @@ -1,14 +0,0 @@ - -import { BusinessLogicsModule } from 'src/time-and-attendance/domains/business-logics.module'; -import { ShiftsUpsertService } from 'src/time-and-attendance/modules/time-tracker/shifts/services/shifts-upsert.service'; -import { ShiftsGetService } from 'src/time-and-attendance/modules/time-tracker/shifts/services/shifts-get.service'; -import { ShiftController } from 'src/time-and-attendance/modules/time-tracker/shifts/controllers/shift.controller'; -import { Module } from '@nestjs/common'; - -@Module({ - imports: [ BusinessLogicsModule ], - controllers: [ShiftController], - providers: [ ShiftsGetService, ShiftsUpsertService ], - exports: [ ShiftsUpsertService ], -}) -export class ShiftsModule {} diff --git a/src/time-and-attendance/modules/pay-period/controllers/pay-periods.controller.ts b/src/time-and-attendance/pay-period/controllers/pay-periods.controller.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/controllers/pay-periods.controller.ts rename to src/time-and-attendance/pay-period/controllers/pay-periods.controller.ts diff --git a/src/time-and-attendance/modules/pay-period/dtos/bulk-crew-approval.dto.ts b/src/time-and-attendance/pay-period/dtos/bulk-crew-approval.dto.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/dtos/bulk-crew-approval.dto.ts rename to src/time-and-attendance/pay-period/dtos/bulk-crew-approval.dto.ts diff --git a/src/time-and-attendance/modules/pay-period/dtos/bundle-pay-period.dto.ts b/src/time-and-attendance/pay-period/dtos/bundle-pay-period.dto.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/dtos/bundle-pay-period.dto.ts rename to src/time-and-attendance/pay-period/dtos/bundle-pay-period.dto.ts diff --git a/src/time-and-attendance/modules/pay-period/dtos/overview-employee-period.dto.ts b/src/time-and-attendance/pay-period/dtos/overview-employee-period.dto.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/dtos/overview-employee-period.dto.ts rename to src/time-and-attendance/pay-period/dtos/overview-employee-period.dto.ts diff --git a/src/time-and-attendance/modules/pay-period/dtos/overview-pay-period.dto.ts b/src/time-and-attendance/pay-period/dtos/overview-pay-period.dto.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/dtos/overview-pay-period.dto.ts rename to src/time-and-attendance/pay-period/dtos/overview-pay-period.dto.ts diff --git a/src/time-and-attendance/modules/pay-period/dtos/pay-period.dto.ts b/src/time-and-attendance/pay-period/dtos/pay-period.dto.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/dtos/pay-period.dto.ts rename to src/time-and-attendance/pay-period/dtos/pay-period.dto.ts diff --git a/src/time-and-attendance/modules/pay-period/mappers/pay-periods.mapper.ts b/src/time-and-attendance/pay-period/mappers/pay-periods.mapper.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/mappers/pay-periods.mapper.ts rename to src/time-and-attendance/pay-period/mappers/pay-periods.mapper.ts diff --git a/src/time-and-attendance/modules/pay-period/pay-periods.module.ts b/src/time-and-attendance/pay-period/pay-periods.module.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/pay-periods.module.ts rename to src/time-and-attendance/pay-period/pay-periods.module.ts diff --git a/src/time-and-attendance/modules/pay-period/services/pay-periods-command.service.ts b/src/time-and-attendance/pay-period/services/pay-periods-command.service.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/services/pay-periods-command.service.ts rename to src/time-and-attendance/pay-period/services/pay-periods-command.service.ts diff --git a/src/time-and-attendance/modules/pay-period/services/pay-periods-query.service.ts b/src/time-and-attendance/pay-period/services/pay-periods-query.service.ts similarity index 100% rename from src/time-and-attendance/modules/pay-period/services/pay-periods-query.service.ts rename to src/time-and-attendance/pay-period/services/pay-periods-query.service.ts diff --git a/src/time-and-attendance/modules/shared/helpers/date-time.helpers.ts b/src/time-and-attendance/shared/helpers/date-time.helpers.ts similarity index 100% rename from src/time-and-attendance/modules/shared/helpers/date-time.helpers.ts rename to src/time-and-attendance/shared/helpers/date-time.helpers.ts diff --git a/src/time-and-attendance/modules/shared/interfaces/shifts.interface.ts b/src/time-and-attendance/shared/interfaces/shifts.interface.ts similarity index 100% rename from src/time-and-attendance/modules/shared/interfaces/shifts.interface.ts rename to src/time-and-attendance/shared/interfaces/shifts.interface.ts diff --git a/src/time-and-attendance/modules/shared/selects/expenses.select.ts b/src/time-and-attendance/shared/selects/expenses.select.ts similarity index 100% rename from src/time-and-attendance/modules/shared/selects/expenses.select.ts rename to src/time-and-attendance/shared/selects/expenses.select.ts diff --git a/src/time-and-attendance/modules/shared/selects/pay-periods.select.ts b/src/time-and-attendance/shared/selects/pay-periods.select.ts similarity index 100% rename from src/time-and-attendance/modules/shared/selects/pay-periods.select.ts rename to src/time-and-attendance/shared/selects/pay-periods.select.ts diff --git a/src/time-and-attendance/modules/shared/selects/shifts.select.ts b/src/time-and-attendance/shared/selects/shifts.select.ts similarity index 100% rename from src/time-and-attendance/modules/shared/selects/shifts.select.ts rename to src/time-and-attendance/shared/selects/shifts.select.ts diff --git a/src/time-and-attendance/modules/shared/shared.module.ts b/src/time-and-attendance/shared/shared.module.ts similarity index 100% rename from src/time-and-attendance/modules/shared/shared.module.ts rename to src/time-and-attendance/shared/shared.module.ts diff --git a/src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils.ts b/src/time-and-attendance/shared/utils/resolve-bank-type-id.utils.ts similarity index 100% rename from src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils.ts rename to src/time-and-attendance/shared/utils/resolve-bank-type-id.utils.ts diff --git a/src/time-and-attendance/modules/shared/utils/resolve-email-id.utils.ts b/src/time-and-attendance/shared/utils/resolve-email-id.utils.ts similarity index 100% rename from src/time-and-attendance/modules/shared/utils/resolve-email-id.utils.ts rename to src/time-and-attendance/shared/utils/resolve-email-id.utils.ts diff --git a/src/time-and-attendance/modules/shared/utils/resolve-full-name.utils.ts b/src/time-and-attendance/shared/utils/resolve-full-name.utils.ts similarity index 100% rename from src/time-and-attendance/modules/shared/utils/resolve-full-name.utils.ts rename to src/time-and-attendance/shared/utils/resolve-full-name.utils.ts diff --git a/src/time-and-attendance/modules/shared/utils/resolve-shifts-id.utils.ts b/src/time-and-attendance/shared/utils/resolve-shifts-id.utils.ts similarity index 100% rename from src/time-and-attendance/modules/shared/utils/resolve-shifts-id.utils.ts rename to src/time-and-attendance/shared/utils/resolve-shifts-id.utils.ts diff --git a/src/time-and-attendance/modules/shared/utils/resolve-timesheet.utils.ts b/src/time-and-attendance/shared/utils/resolve-timesheet.utils.ts similarity index 100% rename from src/time-and-attendance/modules/shared/utils/resolve-timesheet.utils.ts rename to src/time-and-attendance/shared/utils/resolve-timesheet.utils.ts diff --git a/src/time-and-attendance/time-and-attendance.module.ts b/src/time-and-attendance/time-and-attendance.module.ts index ff54d41..89de655 100644 --- a/src/time-and-attendance/time-and-attendance.module.ts +++ b/src/time-and-attendance/time-and-attendance.module.ts @@ -1,18 +1,19 @@ -import { SchedulePresetsUpsertService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-upsert.service"; -import { GetTimesheetsOverviewService } from "src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service"; -import { SchedulePresetsGetService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-get.service"; -import { SchedulePresetsApplyService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-apply.service"; -import { SchedulePresetsController } from "src/time-and-attendance/modules/time-tracker/schedule-presets/controller/schedule-presets.controller"; -import { BusinessLogicsModule } from "src/time-and-attendance/domains/business-logics.module"; -import { ExpenseUpsertService } from "src/time-and-attendance/modules/expenses/services/expense-upsert.service"; -import { ShiftsUpsertService } from "src/time-and-attendance/modules/time-tracker/shifts/services/shifts-upsert.service"; -import { TimesheetController } from "src/time-and-attendance/modules/time-tracker/timesheets/controllers/timesheet.controller"; -import { ExpenseController } from "src/time-and-attendance/modules/expenses/controllers/expense.controller"; -import { PayperiodsModule } from "src/time-and-attendance/modules/pay-period/pay-periods.module"; -import { ShiftsGetService } from "src/time-and-attendance/modules/time-tracker/shifts/services/shifts-get.service"; -import { ShiftController } from "src/time-and-attendance/modules/time-tracker/shifts/controllers/shift.controller"; -import { SharedModule } from "src/time-and-attendance/modules/shared/shared.module"; + import { Module } from "@nestjs/common"; +import { BusinessLogicsModule } from "src/time-and-attendance/domains/business-logics.module"; +import { ExpenseController } from "src/time-and-attendance/expenses/controllers/expense.controller"; +import { ExpenseUpsertService } from "src/time-and-attendance/expenses/services/expense-upsert.service"; +import { PayperiodsModule } from "src/time-and-attendance/pay-period/pay-periods.module"; +import { SharedModule } from "src/time-and-attendance/shared/shared.module"; +import { SchedulePresetsController } from "src/time-and-attendance/time-tracker/schedule-presets/controller/schedule-presets.controller"; +import { SchedulePresetsApplyService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-apply.service"; +import { SchedulePresetsGetService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-get.service"; +import { SchedulePresetsUpsertService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-upsert.service"; +import { ShiftController } from "src/time-and-attendance/time-tracker/shifts/controllers/shift.controller"; +import { ShiftsGetService } from "src/time-and-attendance/time-tracker/shifts/services/shifts-get.service"; +import { ShiftsUpsertService } from "src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service"; +import { TimesheetController } from "src/time-and-attendance/time-tracker/timesheets/controllers/timesheet.controller"; +import { GetTimesheetsOverviewService } from "src/time-and-attendance/time-tracker/timesheets/services/timesheet-get-overview.service"; @Module({ imports: [ diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/controller/schedule-presets.controller.ts b/src/time-and-attendance/time-tracker/schedule-presets/controller/schedule-presets.controller.ts similarity index 83% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/controller/schedule-presets.controller.ts rename to src/time-and-attendance/time-tracker/schedule-presets/controller/schedule-presets.controller.ts index a9d5c87..3a2c692 100644 --- a/src/time-and-attendance/modules/time-tracker/schedule-presets/controller/schedule-presets.controller.ts +++ b/src/time-and-attendance/time-tracker/schedule-presets/controller/schedule-presets.controller.ts @@ -1,9 +1,10 @@ import { Controller, Param, Query, Body, Get, Post, BadRequestException, ParseIntPipe, Delete, Patch } from "@nestjs/common"; -import { SchedulePresetsUpsertService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-upsert.service"; -import { SchedulePresetsApplyService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-apply.service"; -import { SchedulePresetsGetService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-get.service"; -import { SchedulePresetsUpdateDto } from "src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/update-schedule-presets.dto"; -import { SchedulePresetsDto } from "src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; +import { SchedulePresetsDto } from "src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; +import { SchedulePresetsUpdateDto } from "src/time-and-attendance/time-tracker/schedule-presets/dtos/update-schedule-presets.dto"; +import { SchedulePresetsApplyService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-apply.service"; +import { SchedulePresetsGetService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-get.service"; +import { SchedulePresetsUpsertService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-upsert.service"; + @Controller('schedule-presets') export class SchedulePresetsController { diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-preset-shifts.dto.ts b/src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-preset-shifts.dto.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-preset-shifts.dto.ts rename to src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-preset-shifts.dto.ts diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto.ts b/src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto.ts similarity index 82% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto.ts rename to src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto.ts index 86d7704..fc6b7d8 100644 --- a/src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto.ts +++ b/src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto.ts @@ -1,5 +1,5 @@ import { ArrayMinSize, IsArray, IsBoolean, IsOptional, IsString } from "class-validator"; -import { SchedulePresetShiftsDto } from "src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-preset-shifts.dto"; +import { SchedulePresetShiftsDto } from "src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-preset-shifts.dto"; export class SchedulePresetsDto { @IsString() diff --git a/src/time-and-attendance/time-tracker/schedule-presets/dtos/update-schedule-presets.dto.ts b/src/time-and-attendance/time-tracker/schedule-presets/dtos/update-schedule-presets.dto.ts new file mode 100644 index 0000000..b8b9cb6 --- /dev/null +++ b/src/time-and-attendance/time-tracker/schedule-presets/dtos/update-schedule-presets.dto.ts @@ -0,0 +1,4 @@ +import { SchedulePresetsDto } from "src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; + + +export class SchedulePresetsUpdateDto extends SchedulePresetsDto{} \ No newline at end of file diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/schedule-presets.module.ts b/src/time-and-attendance/time-tracker/schedule-presets/schedule-presets.module.ts similarity index 62% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/schedule-presets.module.ts rename to src/time-and-attendance/time-tracker/schedule-presets/schedule-presets.module.ts index ac6c595..b261a2f 100644 --- a/src/time-and-attendance/modules/time-tracker/schedule-presets/schedule-presets.module.ts +++ b/src/time-and-attendance/time-tracker/schedule-presets/schedule-presets.module.ts @@ -1,9 +1,10 @@ -import { SchedulePresetsUpsertService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-upsert.service"; -import { SchedulePresetsApplyService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-apply.service"; -import { SchedulePresetsGetService } from "src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-get.service"; -import { SchedulePresetsController } from "src/time-and-attendance/modules/time-tracker/schedule-presets/controller/schedule-presets.controller"; -import { SharedModule } from "src/time-and-attendance/modules/shared/shared.module"; + import { Module } from "@nestjs/common"; +import { SharedModule } from "src/time-and-attendance/shared/shared.module"; +import { SchedulePresetsController } from "src/time-and-attendance/time-tracker/schedule-presets/controller/schedule-presets.controller"; +import { SchedulePresetsApplyService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-apply.service"; +import { SchedulePresetsGetService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-get.service"; +import { SchedulePresetsUpsertService } from "src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-upsert.service"; @Module({ diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-apply.service.ts b/src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-apply.service.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-apply.service.ts rename to src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-apply.service.ts diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-get.service.ts b/src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-get.service.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-get.service.ts rename to src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-get.service.ts diff --git a/src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-upsert.service.ts b/src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-upsert.service.ts similarity index 97% rename from src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-upsert.service.ts rename to src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-upsert.service.ts index da45941..ec60558 100644 --- a/src/time-and-attendance/modules/time-tracker/schedule-presets/services/schedule-presets-upsert.service.ts +++ b/src/time-and-attendance/time-tracker/schedule-presets/services/schedule-presets-upsert.service.ts @@ -1,10 +1,10 @@ import { Injectable, BadRequestException, NotFoundException, ConflictException } from "@nestjs/common"; import { CreatePresetResult, DeletePresetResult, UpdatePresetResult } from "src/time-and-attendance/utils/type.utils"; -import { SchedulePresetsDto } from "src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; -import { BankCodesResolver } from "src/time-and-attendance/modules/shared/utils/resolve-bank-type-id.utils"; import { Prisma, Weekday } from "@prisma/client"; import { toHHmmFromDate } from "src/time-and-attendance/utils/date-time.utils"; import { PrismaService } from "src/prisma/prisma.service"; +import { BankCodesResolver } from "src/time-and-attendance/shared/utils/resolve-bank-type-id.utils"; +import { SchedulePresetsDto } from "src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; @Injectable() export class SchedulePresetsUpsertService { diff --git a/src/time-and-attendance/modules/time-tracker/shifts/controllers/shift.controller.ts b/src/time-and-attendance/time-tracker/shifts/controllers/shift.controller.ts similarity index 78% rename from src/time-and-attendance/modules/time-tracker/shifts/controllers/shift.controller.ts rename to src/time-and-attendance/time-tracker/shifts/controllers/shift.controller.ts index e26891b..07395f9 100644 --- a/src/time-and-attendance/modules/time-tracker/shifts/controllers/shift.controller.ts +++ b/src/time-and-attendance/time-tracker/shifts/controllers/shift.controller.ts @@ -1,8 +1,8 @@ import { BadRequestException, Body, Controller, Delete, Param, Patch, Post, Req } from "@nestjs/common"; +import { ShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-create.dto"; +import { UpdateShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-update.dto"; +import { ShiftsUpsertService } from "src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service"; import { CreateShiftResult, UpdateShiftResult } from "src/time-and-attendance/utils/type.utils"; -import { ShiftsUpsertService } from "src/time-and-attendance/modules/time-tracker/shifts/services/shifts-upsert.service"; -import { UpdateShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-update.dto"; -import { ShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-create.dto"; @Controller('shift') diff --git a/src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-create.dto.ts b/src/time-and-attendance/time-tracker/shifts/dtos/shift-create.dto.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-create.dto.ts rename to src/time-and-attendance/time-tracker/shifts/dtos/shift-create.dto.ts diff --git a/src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-get.dto.ts b/src/time-and-attendance/time-tracker/shifts/dtos/shift-get.dto.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-get.dto.ts rename to src/time-and-attendance/time-tracker/shifts/dtos/shift-get.dto.ts diff --git a/src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-update.dto.ts b/src/time-and-attendance/time-tracker/shifts/dtos/shift-update.dto.ts similarity index 76% rename from src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-update.dto.ts rename to src/time-and-attendance/time-tracker/shifts/dtos/shift-update.dto.ts index ce16f8e..0dd4505 100644 --- a/src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-update.dto.ts +++ b/src/time-and-attendance/time-tracker/shifts/dtos/shift-update.dto.ts @@ -1,6 +1,6 @@ import { PartialType, OmitType } from "@nestjs/swagger"; -import { ShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-create.dto"; import { IsInt } from "class-validator"; +import { ShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-create.dto"; export class UpdateShiftDto extends PartialType( // allows update using ShiftDto and preventing OmitType variables to be modified diff --git a/src/time-and-attendance/modules/time-tracker/shifts/services/shifts-archival.service.ts b/src/time-and-attendance/time-tracker/shifts/services/shifts-archival.service.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/shifts/services/shifts-archival.service.ts rename to src/time-and-attendance/time-tracker/shifts/services/shifts-archival.service.ts diff --git a/src/time-and-attendance/modules/time-tracker/shifts/services/shifts-get.service.ts b/src/time-and-attendance/time-tracker/shifts/services/shifts-get.service.ts similarity index 95% rename from src/time-and-attendance/modules/time-tracker/shifts/services/shifts-get.service.ts rename to src/time-and-attendance/time-tracker/shifts/services/shifts-get.service.ts index c1c2e12..d1eed96 100644 --- a/src/time-and-attendance/modules/time-tracker/shifts/services/shifts-get.service.ts +++ b/src/time-and-attendance/time-tracker/shifts/services/shifts-get.service.ts @@ -2,7 +2,7 @@ import { toStringFromDate, toStringFromHHmm } from "src/time-and-attendance/util import { Injectable, NotFoundException } from "@nestjs/common"; import { PrismaService } from "src/prisma/prisma.service"; import { shift_select } from "src/time-and-attendance/utils/selects.utils"; -import { GetShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-get.dto"; +import { GetShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-get.dto"; /** diff --git a/src/time-and-attendance/modules/time-tracker/shifts/services/shifts-upsert.service.ts b/src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts similarity index 97% rename from src/time-and-attendance/modules/time-tracker/shifts/services/shifts-upsert.service.ts rename to src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts index 5a1e6c4..44261cb 100644 --- a/src/time-and-attendance/modules/time-tracker/shifts/services/shifts-upsert.service.ts +++ b/src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts @@ -2,12 +2,12 @@ import { CreateShiftResult, NormedOk, NormedErr, UpdateShiftResult, UpdateShiftP import { overlaps, toStringFromHHmm, toStringFromDate, toDateFromString, toHHmmFromString, weekStartSunday } from "src/time-and-attendance/utils/date-time.utils"; import { Injectable, BadRequestException, ConflictException, NotFoundException } from "@nestjs/common"; import { OvertimeService } from "src/time-and-attendance/domains/services/overtime.service"; -import { UpdateShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-update.dto"; import { PrismaService } from "src/prisma/prisma.service"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; +import { ShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-create.dto"; +import { GetShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-get.dto"; +import { UpdateShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-update.dto"; import { shift_select } from "src/time-and-attendance/utils/selects.utils"; -import { GetShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-get.dto"; -import { ShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-create.dto"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; diff --git a/src/time-and-attendance/time-tracker/shifts/shifts.module.ts b/src/time-and-attendance/time-tracker/shifts/shifts.module.ts new file mode 100644 index 0000000..3dc407d --- /dev/null +++ b/src/time-and-attendance/time-tracker/shifts/shifts.module.ts @@ -0,0 +1,14 @@ + +import { BusinessLogicsModule } from 'src/time-and-attendance/domains/business-logics.module'; +import { Module } from '@nestjs/common'; +import { ShiftController } from 'src/time-and-attendance/time-tracker/shifts/controllers/shift.controller'; +import { ShiftsGetService } from 'src/time-and-attendance/time-tracker/shifts/services/shifts-get.service'; +import { ShiftsUpsertService } from 'src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service'; + +@Module({ + imports: [ BusinessLogicsModule ], + controllers: [ShiftController], + providers: [ ShiftsGetService, ShiftsUpsertService ], + exports: [ ShiftsUpsertService ], +}) +export class ShiftsModule {} diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/controllers/timesheet.controller.ts b/src/time-and-attendance/time-tracker/timesheets/controllers/timesheet.controller.ts similarity index 90% rename from src/time-and-attendance/modules/time-tracker/timesheets/controllers/timesheet.controller.ts rename to src/time-and-attendance/time-tracker/timesheets/controllers/timesheet.controller.ts index 414930a..90cf522 100644 --- a/src/time-and-attendance/modules/time-tracker/timesheets/controllers/timesheet.controller.ts +++ b/src/time-and-attendance/time-tracker/timesheets/controllers/timesheet.controller.ts @@ -1,5 +1,5 @@ import { Controller, Get, ParseIntPipe, Query, Req, UnauthorizedException} from "@nestjs/common"; -import { GetTimesheetsOverviewService } from "src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service"; +import { GetTimesheetsOverviewService } from "src/time-and-attendance/time-tracker/timesheets/services/timesheet-get-overview.service"; @Controller('timesheets') export class TimesheetController { diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/dtos/timesheet.dto.ts b/src/time-and-attendance/time-tracker/timesheets/dtos/timesheet.dto.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/timesheets/dtos/timesheet.dto.ts rename to src/time-and-attendance/time-tracker/timesheets/dtos/timesheet.dto.ts diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-approval.service.ts b/src/time-and-attendance/time-tracker/timesheets/services/timesheet-approval.service.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-approval.service.ts rename to src/time-and-attendance/time-tracker/timesheets/services/timesheet-approval.service.ts diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-archive.service.ts b/src/time-and-attendance/time-tracker/timesheets/services/timesheet-archive.service.ts similarity index 100% rename from src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-archive.service.ts rename to src/time-and-attendance/time-tracker/timesheets/services/timesheet-archive.service.ts diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts b/src/time-and-attendance/time-tracker/timesheets/services/timesheet-get-overview.service.ts similarity index 99% rename from src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts rename to src/time-and-attendance/time-tracker/timesheets/services/timesheet-get-overview.service.ts index c6da872..6ea81e2 100644 --- a/src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service.ts +++ b/src/time-and-attendance/time-tracker/timesheets/services/timesheet-get-overview.service.ts @@ -3,7 +3,7 @@ import { NUMBER_OF_TIMESHEETS_TO_RETURN } from "src/time-and-attendance/utils/co import { Injectable, NotFoundException } from "@nestjs/common"; import { TotalExpenses, TotalHours } from "src/time-and-attendance/utils/type.utils"; import { PrismaService } from "src/prisma/prisma.service"; -import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; +import { EmailToIdResolver } from "src/time-and-attendance/shared/utils/resolve-email-id.utils"; @Injectable() export class GetTimesheetsOverviewService { diff --git a/src/time-and-attendance/modules/time-tracker/timesheets/timesheets.module.ts b/src/time-and-attendance/time-tracker/timesheets/timesheets.module.ts similarity index 50% rename from src/time-and-attendance/modules/time-tracker/timesheets/timesheets.module.ts rename to src/time-and-attendance/time-tracker/timesheets/timesheets.module.ts index 595d660..f559f6d 100644 --- a/src/time-and-attendance/modules/time-tracker/timesheets/timesheets.module.ts +++ b/src/time-and-attendance/time-tracker/timesheets/timesheets.module.ts @@ -1,8 +1,9 @@ -import { GetTimesheetsOverviewService } from 'src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-get-overview.service'; -import { TimesheetArchiveService } from 'src/time-and-attendance/modules/time-tracker/timesheets/services/timesheet-archive.service'; -import { TimesheetController } from 'src/time-and-attendance/modules/time-tracker/timesheets/controllers/timesheet.controller'; -import { SharedModule } from 'src/time-and-attendance/modules/shared/shared.module'; + import { Module } from '@nestjs/common'; +import { SharedModule } from 'src/time-and-attendance/shared/shared.module'; +import { TimesheetController } from 'src/time-and-attendance/time-tracker/timesheets/controllers/timesheet.controller'; +import { TimesheetArchiveService } from 'src/time-and-attendance/time-tracker/timesheets/services/timesheet-archive.service'; +import { GetTimesheetsOverviewService } from 'src/time-and-attendance/time-tracker/timesheets/services/timesheet-get-overview.service'; @Module({ imports: [SharedModule], diff --git a/src/time-and-attendance/utils/type.utils.ts b/src/time-and-attendance/utils/type.utils.ts index 0264f3f..5e846c1 100644 --- a/src/time-and-attendance/utils/type.utils.ts +++ b/src/time-and-attendance/utils/type.utils.ts @@ -1,12 +1,13 @@ -import { WeekOvertimeSummary } from "src/time-and-attendance/domains/services/overtime.service"; -import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; -import { UpdateShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-update.dto"; -import { GetShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-get.dto"; -import { ShiftDto } from "src/time-and-attendance/modules/time-tracker/shifts/dtos/shift-create.dto"; import { Prisma } from "@prisma/client"; -import { SchedulePresetsDto } from "src/time-and-attendance/modules/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; -import { GetExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-get.dto"; -import { updateExpenseDto } from "src/time-and-attendance/modules/expenses/dtos/expense-update.dto"; +import { WeekOvertimeSummary } from "src/time-and-attendance/domains/services/overtime.service"; +import { GetExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-get.dto"; +import { updateExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-update.dto"; +import { SchedulePresetsDto } from "src/time-and-attendance/time-tracker/schedule-presets/dtos/create-schedule-presets.dto"; +import { ShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-create.dto"; +import { GetShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-get.dto"; +import { UpdateShiftDto } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-update.dto"; +import { leaveRequestsSelect } from "src/time-and-attendance/utils/selects.utils"; + export type TotalHours = { regular: number;