* added bookerLayouts * added requiresConfirmation * added tests * undo extra changes * undo extra change * fixed imports * added requiresBookerEmailVerification * added hideCalendarNotes * added lockTimeZoneToggleOnBookingPage * added eventTypeColor * undo extra changes * added seats * added requiresConfirmationWillBlockSlot to requiresConfirmation * refactor: Implement BaseEventType class to avoid duplication across EventType input/output classes ## D-R-Y ## * temp-fix: will revert later * Correct placement of users array from EventTypeOutput to TeamEventTypeOutput * Refactor: Shifted transformation logic to controllers using interceptors and pipes for a cleaner service layer. * small fix * Refactor: Moved transformation logic from service to controller using interceptors and pipes ** organisations/event-types * feat: adde tests for `validateEventTypeInputs` * fix: failing test * fix: layout validator * renamed blockCalendarForUnconfirmedBookings to blockUnconfirmedBookingsInBooker * testing changes * added disabled state * fix merege conflict * renamed requiresConfirmation to confirmationPolicy * renamed OutputEventTypesResponseInterceptor to OutputTeamEventTypesResponseInterceptor * renamed `darkThemeColor` -> `darkThemeHex` and `lightThemeColor` -> `lightThemeHex` * renamed `eventTypeColor` -> `color` * changed `requiresConfirmation` -> `confirmationPolicy` * added tests for disabled state * added class-validators to `disabled?: false` * Revert: Split create and update input/output classes * feat: Refactor responses to use DTOs with plainToClass for explicit property control • Updated all endpoints to return response DTOs (e.g., CreateTeamEventTypeOutput, GetTeamEventTypeOutput) to ensure consistent Swagger documentation generation. • Introduced plainToClass for transforming responses, enabling explicit control over which properties are returned in the response, following Morgan’s recommendation. • Replaced generic HandlerResponse type with class-validator based DTOs for each endpoint, ensuring TypeScript enforces correct response structure. • Applied strategy: "excludeAll" to limit response properties to only those explicitly defined in the DTO, preventing unintended fields from being included in the API responses. * added pipes to transform output data * add clean script to platform-types package.json * added customName * added destination calendar * fixed type errors * added useDestinationCalendarEmail * refactor: api-reqest and api-response * Update event-type.output.ts * fixed errors * Update yarn.lock * added some missed properties to output * Update constants.ts * removed return type * fixed some type errors * reuse types * Improve readability of validation functions * Update CHANGELOG.md * chore: post publish platform libraries * Update documentation.json * fix: reset platform libraries to 0.0.0 * fixup! fix: reset platform libraries to 0.0.0 * Update event-type.tranformed.ts --------- Co-authored-by: supalarry <laurisskraucis@gmail.com> Co-authored-by: Morgan Vernay <morgan@cal.com>
98 lines
3.8 KiB
JSON
98 lines
3.8 KiB
JSON
{
|
|
"name": "@calcom/api-v2",
|
|
"version": "0.0.1",
|
|
"description": "Platform API for Cal.com",
|
|
"author": "Cal.com Inc.",
|
|
"private": true,
|
|
"license": "UNLICENSED",
|
|
"scripts": {
|
|
"build": "yarn dev:build && nest build",
|
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
"start": "nest start",
|
|
"dev:build:watch": "yarn workspace @calcom/platform-constants build:watch & yarn workspace @calcom/platform-utils build:watch & yarn workspace @calcom/platform-types build:watch",
|
|
"dev:build": "yarn workspace @calcom/platform-constants build && yarn workspace @calcom/platform-enums build && yarn workspace @calcom/platform-utils build && yarn workspace @calcom/platform-types build ",
|
|
"dev": "yarn dev:build && docker-compose up -d && yarn copy-swagger-module && yarn start --watch",
|
|
"dev:no-docker": "yarn dev:build && yarn copy-swagger-module && yarn start --watch",
|
|
"start:debug": "nest start --debug --watch",
|
|
"start:prod": "node ./dist/apps/api/v2/src/main.js",
|
|
"test": "yarn dev:build && jest",
|
|
"test:watch": "yarn dev:build && jest --watch",
|
|
"test:cov": "yarn dev:build && jest --coverage",
|
|
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
"test:e2e": "yarn dev:build && NODE_OPTIONS='--max_old_space_size=8192' jest --ci --forceExit --config ./jest-e2e.json",
|
|
"test:e2e:watch": "yarn dev:build && jest --runInBand --detectOpenHandles --forceExit --config ./jest-e2e.json --watch",
|
|
"prisma": "yarn workspace @calcom/prisma prisma",
|
|
"generate-schemas": "yarn prisma generate && yarn prisma format",
|
|
"copy-swagger-module": "ts-node -r tsconfig-paths/register swagger/copy-swagger-module.ts"
|
|
},
|
|
"dependencies": {
|
|
"@calcom/platform-constants": "*",
|
|
"@calcom/platform-enums": "*",
|
|
"@calcom/platform-libraries": "npm:@calcom/platform-libraries@0.0.39",
|
|
"@calcom/platform-libraries-0.0.2": "npm:@calcom/platform-libraries@0.0.2",
|
|
"@calcom/platform-types": "*",
|
|
"@calcom/platform-utils": "*",
|
|
"@calcom/prisma": "*",
|
|
"@golevelup/ts-jest": "^0.4.0",
|
|
"@microsoft/microsoft-graph-types-beta": "^0.42.0-preview",
|
|
"@nestjs/bull": "^10.1.1",
|
|
"@nestjs/common": "^10.0.0",
|
|
"@nestjs/config": "^3.1.1",
|
|
"@nestjs/core": "^10.0.0",
|
|
"@nestjs/jwt": "^10.2.0",
|
|
"@nestjs/passport": "^10.0.2",
|
|
"@nestjs/platform-express": "^10.0.0",
|
|
"@nestjs/swagger": "^7.3.0",
|
|
"@nestjs/throttler": "^5.1.2",
|
|
"@sentry/node": "^8.8.0",
|
|
"body-parser": "^1.20.2",
|
|
"bull": "^4.12.4",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.0",
|
|
"cookie-parser": "^1.4.6",
|
|
"dotenv": "^16.3.1",
|
|
"fs-extra": "^11.2.0",
|
|
"googleapis": "^84.0.0",
|
|
"helmet": "^7.1.0",
|
|
"ioredis": "^5.3.2",
|
|
"luxon": "^3.4.4",
|
|
"nest-winston": "^1.9.4",
|
|
"nestjs-throttler-storage-redis": "^0.4.1",
|
|
"next-auth": "^4.22.1",
|
|
"passport": "^0.7.0",
|
|
"passport-jwt": "^4.0.1",
|
|
"querystring": "^0.2.1",
|
|
"reflect-metadata": "^0.1.13",
|
|
"rxjs": "^7.8.1",
|
|
"stripe": "^15.3.0",
|
|
"uuid": "^8.3.2",
|
|
"winston": "^3.11.0",
|
|
"zod": "^3.22.4"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^10.0.0",
|
|
"@nestjs/schematics": "^10.0.0",
|
|
"@nestjs/testing": "^10.0.0",
|
|
"@types/cookie-parser": "^1.4.6",
|
|
"@types/express": "^4.17.21",
|
|
"@types/fs-extra": "^11.0.4",
|
|
"@types/jest": "^29.5.10",
|
|
"@types/luxon": "^3.3.7",
|
|
"@types/node": "^20.3.1",
|
|
"@types/passport-jwt": "^3.0.13",
|
|
"@types/supertest": "^2.0.12",
|
|
"jest": "^29.7.0",
|
|
"prettier": "^2.8.6",
|
|
"source-map-support": "^0.5.21",
|
|
"supertest": "^6.3.3",
|
|
"ts-jest": "^29.1.1",
|
|
"ts-loader": "^9.4.3",
|
|
"ts-node": "^10.9.1",
|
|
"tsconfig-paths": "^4.1.0",
|
|
"typescript": "^4.9.4"
|
|
},
|
|
"prisma": {
|
|
"schema": "../../../packages/prisma/schema.prisma"
|
|
}
|
|
}
|