@laboratory-one/api-components 0.0.20 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/cjs/cron/cron.util.d.ts.map +1 -1
  2. package/dist/cjs/guard/auth.guard.d.ts.map +1 -1
  3. package/dist/cjs/guard/auth.guard.js.map +1 -1
  4. package/dist/cjs/health/dtos/health.response.dto.d.ts +1 -0
  5. package/dist/cjs/health/dtos/health.response.dto.d.ts.map +1 -1
  6. package/dist/cjs/health/dtos/health.response.dto.js +5 -0
  7. package/dist/cjs/health/dtos/health.response.dto.js.map +1 -1
  8. package/dist/cjs/health/health.service.d.ts +1 -1
  9. package/dist/cjs/health/health.service.d.ts.map +1 -1
  10. package/dist/cjs/health/health.service.js +4 -1
  11. package/dist/cjs/health/health.service.js.map +1 -1
  12. package/dist/cjs/middleware/logger.middleware.d.ts.map +1 -1
  13. package/dist/cjs/middleware/logger.middleware.js.map +1 -1
  14. package/dist/cjs/prisma/prisma.service.d.ts.map +1 -1
  15. package/dist/cjs/prisma/prisma.service.js.map +1 -1
  16. package/dist/cjs/search/search.service.d.ts +1 -1
  17. package/dist/cjs/search/search.service.d.ts.map +1 -1
  18. package/dist/cjs/search/search.service.js +24 -14
  19. package/dist/cjs/search/search.service.js.map +1 -1
  20. package/dist/cjs/services/instrument-sentry.d.ts.map +1 -1
  21. package/dist/cjs/user/schemas/delete-user.schema.d.ts +1 -5
  22. package/dist/cjs/user/schemas/delete-user.schema.d.ts.map +1 -1
  23. package/dist/cjs/user/schemas/phone-login-verify.schema.d.ts +1 -9
  24. package/dist/cjs/user/schemas/phone-login-verify.schema.d.ts.map +1 -1
  25. package/dist/cjs/user/schemas/phone-login.schema.d.ts +1 -5
  26. package/dist/cjs/user/schemas/phone-login.schema.d.ts.map +1 -1
  27. package/dist/cjs/user/schemas/signup.schema.d.ts +1 -7
  28. package/dist/cjs/user/schemas/signup.schema.d.ts.map +1 -1
  29. package/dist/cjs/user/schemas/update-user.schema.d.ts +1 -13
  30. package/dist/cjs/user/schemas/update-user.schema.d.ts.map +1 -1
  31. package/dist/cjs/user/user.controller.d.ts.map +1 -1
  32. package/dist/cjs/user/user.controller.js.map +1 -1
  33. package/dist/cjs/user/user.util.d.ts.map +1 -1
  34. package/dist/cjs/utils/datetime.util.d.ts.map +1 -1
  35. package/dist/cjs/utils/error.util.d.ts.map +1 -1
  36. package/dist/cjs/utils/index.d.ts +1 -0
  37. package/dist/cjs/utils/index.d.ts.map +1 -1
  38. package/dist/cjs/utils/index.js +1 -0
  39. package/dist/cjs/utils/index.js.map +1 -1
  40. package/dist/cjs/utils/input.util.d.ts.map +1 -1
  41. package/dist/cjs/utils/string.util.d.ts +1 -0
  42. package/dist/cjs/utils/string.util.d.ts.map +1 -1
  43. package/dist/cjs/utils/string.util.js +5 -1
  44. package/dist/cjs/utils/string.util.js.map +1 -1
  45. package/dist/cjs/utils/version.util.d.ts +3 -0
  46. package/dist/cjs/utils/version.util.d.ts.map +1 -0
  47. package/dist/cjs/utils/version.util.js +19 -0
  48. package/dist/cjs/utils/version.util.js.map +1 -0
  49. package/dist/esm/cron/cron.util.d.ts.map +1 -1
  50. package/dist/esm/guard/auth.guard.d.ts.map +1 -1
  51. package/dist/esm/guard/auth.guard.js.map +1 -1
  52. package/dist/esm/health/dtos/health.response.dto.d.ts +1 -0
  53. package/dist/esm/health/dtos/health.response.dto.d.ts.map +1 -1
  54. package/dist/esm/health/dtos/health.response.dto.js +5 -0
  55. package/dist/esm/health/dtos/health.response.dto.js.map +1 -1
  56. package/dist/esm/health/health.service.d.ts +1 -1
  57. package/dist/esm/health/health.service.d.ts.map +1 -1
  58. package/dist/esm/health/health.service.js +4 -1
  59. package/dist/esm/health/health.service.js.map +1 -1
  60. package/dist/esm/middleware/logger.middleware.d.ts.map +1 -1
  61. package/dist/esm/middleware/logger.middleware.js.map +1 -1
  62. package/dist/esm/prisma/prisma.service.d.ts.map +1 -1
  63. package/dist/esm/prisma/prisma.service.js.map +1 -1
  64. package/dist/esm/search/search.service.d.ts +1 -1
  65. package/dist/esm/search/search.service.d.ts.map +1 -1
  66. package/dist/esm/search/search.service.js +23 -13
  67. package/dist/esm/search/search.service.js.map +1 -1
  68. package/dist/esm/services/instrument-sentry.d.ts.map +1 -1
  69. package/dist/esm/user/schemas/delete-user.schema.d.ts +1 -5
  70. package/dist/esm/user/schemas/delete-user.schema.d.ts.map +1 -1
  71. package/dist/esm/user/schemas/phone-login-verify.schema.d.ts +1 -9
  72. package/dist/esm/user/schemas/phone-login-verify.schema.d.ts.map +1 -1
  73. package/dist/esm/user/schemas/phone-login.schema.d.ts +1 -5
  74. package/dist/esm/user/schemas/phone-login.schema.d.ts.map +1 -1
  75. package/dist/esm/user/schemas/signup.schema.d.ts +1 -7
  76. package/dist/esm/user/schemas/signup.schema.d.ts.map +1 -1
  77. package/dist/esm/user/schemas/update-user.schema.d.ts +1 -13
  78. package/dist/esm/user/schemas/update-user.schema.d.ts.map +1 -1
  79. package/dist/esm/user/user.controller.d.ts.map +1 -1
  80. package/dist/esm/user/user.controller.js.map +1 -1
  81. package/dist/esm/user/user.util.d.ts.map +1 -1
  82. package/dist/esm/utils/datetime.util.d.ts.map +1 -1
  83. package/dist/esm/utils/error.util.d.ts.map +1 -1
  84. package/dist/esm/utils/index.d.ts +1 -0
  85. package/dist/esm/utils/index.d.ts.map +1 -1
  86. package/dist/esm/utils/index.js +1 -0
  87. package/dist/esm/utils/index.js.map +1 -1
  88. package/dist/esm/utils/input.util.d.ts.map +1 -1
  89. package/dist/esm/utils/string.util.d.ts +1 -0
  90. package/dist/esm/utils/string.util.d.ts.map +1 -1
  91. package/dist/esm/utils/string.util.js +3 -0
  92. package/dist/esm/utils/string.util.js.map +1 -1
  93. package/dist/esm/utils/version.util.d.ts +3 -0
  94. package/dist/esm/utils/version.util.d.ts.map +1 -0
  95. package/dist/esm/utils/version.util.js +13 -0
  96. package/dist/esm/utils/version.util.js.map +1 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +53 -53
  99. package/src/guard/auth.guard.ts +0 -3
  100. package/src/health/dtos/health.response.dto.ts +4 -0
  101. package/src/health/health.service.ts +4 -1
  102. package/src/middleware/logger.middleware.ts +0 -1
  103. package/src/prisma/prisma.service.ts +0 -2
  104. package/src/search/search.service.ts +27 -21
  105. package/src/user/user.controller.ts +1 -3
  106. package/src/utils/index.ts +1 -0
  107. package/src/utils/string.util.ts +4 -0
  108. package/src/utils/version.util.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"auth.guard.js","sourceRoot":"/","sources":["guard/auth.guard.ts"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,EACV,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGxC,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YACU,UAAsB,EACtB,aAA4B;QAD5B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE;gBACvD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,YAAY,CAAC;aACrD,CAAC,CAAC;YAGH,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAgB;;QAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,aAAa,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACtE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF,CAAA;AAlCY,SAAS;IADrB,UAAU,EAAE;qCAGW,UAAU;QACP,aAAa;GAH3B,SAAS,CAkCrB","sourcesContent":["import {\n CanActivate,\n ExecutionContext,\n Injectable,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { JwtService } from '@nestjs/jwt';\nimport { Request } from 'express';\nimport { ConfigService } from '@nestjs/config';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(\n private jwtService: JwtService,\n private configService: ConfigService,\n ) {}\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const request = context.switchToHttp().getRequest();\n const token = this.extractTokenFromHeader(request);\n\n if (!token) {\n throw new UnauthorizedException();\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const payload = await this.jwtService.verifyAsync(token, {\n secret: this.configService.get<string>('JWT_SECRET'),\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n request['user'] = payload;\n } catch {\n throw new UnauthorizedException();\n }\n\n return true;\n }\n\n private extractTokenFromHeader(request: Request): string | undefined {\n const [type, token] = request.headers.authorization?.split(' ') ?? [];\n return type === 'Bearer' ? token : undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"auth.guard.js","sourceRoot":"/","sources":["guard/auth.guard.ts"],"names":[],"mappings":";AAAA,OAAO,EAGL,UAAU,EACV,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGxC,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YACU,UAAsB,EACtB,aAA4B;QAD5B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE;gBACvD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,YAAY,CAAC;aACrD,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAgB;;QAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,aAAa,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACtE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF,CAAA;AA/BY,SAAS;IADrB,UAAU,EAAE;qCAGW,UAAU;QACP,aAAa;GAH3B,SAAS,CA+BrB","sourcesContent":["import {\n CanActivate,\n ExecutionContext,\n Injectable,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { JwtService } from '@nestjs/jwt';\nimport { Request } from 'express';\nimport { ConfigService } from '@nestjs/config';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(\n private jwtService: JwtService,\n private configService: ConfigService,\n ) {}\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n const request = context.switchToHttp().getRequest();\n const token = this.extractTokenFromHeader(request);\n\n if (!token) {\n throw new UnauthorizedException();\n }\n\n try {\n const payload = await this.jwtService.verifyAsync(token, {\n secret: this.configService.get<string>('JWT_SECRET'),\n });\n\n request['user'] = payload;\n } catch {\n throw new UnauthorizedException();\n }\n\n return true;\n }\n\n private extractTokenFromHeader(request: Request): string | undefined {\n const [type, token] = request.headers.authorization?.split(' ') ?? [];\n return type === 'Bearer' ? token : undefined;\n }\n}\n"]}
@@ -5,5 +5,6 @@ export declare class HealthResponseDto implements HealthCheckResult {
5
5
  error?: HealthIndicatorResult;
6
6
  details: HealthIndicatorResult;
7
7
  environment: string;
8
+ version: string;
8
9
  }
9
10
  //# sourceMappingURL=health.response.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.response.dto.d.ts","sourceRoot":"/","sources":["health/dtos/health.response.dto.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,iBAAkB,YAAW,iBAAiB;IAEzD,MAAM,EAAE,iBAAiB,CAAC;IAG1B,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAG7B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAG9B,OAAO,EAAE,qBAAqB,CAAC;IAI/B,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"health.response.dto.d.ts","sourceRoot":"/","sources":["health/dtos/health.response.dto.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,iBAAkB,YAAW,iBAAiB;IAEzD,MAAM,EAAE,iBAAiB,CAAC;IAG1B,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAG7B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAG9B,OAAO,EAAE,qBAAqB,CAAC;IAI/B,WAAW,EAAE,MAAM,CAAC;IAIpB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -24,4 +24,9 @@ __decorate([
24
24
  ApiProperty(),
25
25
  __metadata("design:type", String)
26
26
  ], HealthResponseDto.prototype, "environment", void 0);
27
+ __decorate([
28
+ IsString(),
29
+ ApiProperty(),
30
+ __metadata("design:type", String)
31
+ ], HealthResponseDto.prototype, "version", void 0);
27
32
  //# sourceMappingURL=health.response.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.response.dto.js","sourceRoot":"/","sources":["health/dtos/health.response.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO9C,MAAM,OAAO,iBAAiB;CAgB7B;AAdC;IADC,WAAW,EAAE;;iDACY;AAG1B;IADC,WAAW,EAAE;;+CACe;AAG7B;IADC,WAAW,EAAE;;gDACgB;AAG9B;IADC,WAAW,EAAE;;kDACiB;AAI/B;IAFC,QAAQ,EAAE;IACV,WAAW,EAAE;;sDACM","sourcesContent":["import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport type {\n HealthCheckResult,\n HealthCheckStatus,\n HealthIndicatorResult,\n} from '@nestjs/terminus';\n\nexport class HealthResponseDto implements HealthCheckResult {\n @ApiProperty()\n status: HealthCheckStatus;\n\n @ApiProperty()\n info?: HealthIndicatorResult;\n\n @ApiProperty()\n error?: HealthIndicatorResult;\n\n @ApiProperty()\n details: HealthIndicatorResult;\n\n @IsString()\n @ApiProperty()\n environment: string;\n}\n"]}
1
+ {"version":3,"file":"health.response.dto.js","sourceRoot":"/","sources":["health/dtos/health.response.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO9C,MAAM,OAAO,iBAAiB;CAoB7B;AAlBC;IADC,WAAW,EAAE;;iDACY;AAG1B;IADC,WAAW,EAAE;;+CACe;AAG7B;IADC,WAAW,EAAE;;gDACgB;AAG9B;IADC,WAAW,EAAE;;kDACiB;AAI/B;IAFC,QAAQ,EAAE;IACV,WAAW,EAAE;;sDACM;AAIpB;IAFC,QAAQ,EAAE;IACV,WAAW,EAAE;;kDACE","sourcesContent":["import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport type {\n HealthCheckResult,\n HealthCheckStatus,\n HealthIndicatorResult,\n} from '@nestjs/terminus';\n\nexport class HealthResponseDto implements HealthCheckResult {\n @ApiProperty()\n status: HealthCheckStatus;\n\n @ApiProperty()\n info?: HealthIndicatorResult;\n\n @ApiProperty()\n error?: HealthIndicatorResult;\n\n @ApiProperty()\n details: HealthIndicatorResult;\n\n @IsString()\n @ApiProperty()\n environment: string;\n\n @IsString()\n @ApiProperty()\n version: string;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { HealthCheckService, MemoryHealthIndicator } from '@nestjs/terminus';
2
2
  import { ConfigService } from '@nestjs/config';
3
- import { HealthResponseDto } from './dtos/health.response.dto';
3
+ import { HealthResponseDto } from './dtos';
4
4
  export declare class HealthService {
5
5
  private readonly configService;
6
6
  private readonly health;
@@ -1 +1 @@
1
- {"version":3,"file":"health.service.d.ts","sourceRoot":"/","sources":["health/health.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI/D,qBACa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAG9C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,qBAAqB;IAG1C,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAgB1C"}
1
+ {"version":3,"file":"health.service.d.ts","sourceRoot":"/","sources":["health/health.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAK3C,qBACa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAG9C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,qBAAqB;IAG1C,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAkB1C"}
@@ -3,6 +3,7 @@ import { __decorate, __metadata } from "tslib";
3
3
  import { Injectable, Logger } from '@nestjs/common';
4
4
  import { HealthCheckService, MemoryHealthIndicator, } from '@nestjs/terminus';
5
5
  import { ConfigService } from '@nestjs/config';
6
+ import { getVersion } from '../utils';
6
7
  let HealthService = HealthService_1 = class HealthService {
7
8
  constructor(configService, health, memory) {
8
9
  this.configService = configService;
@@ -17,7 +18,9 @@ let HealthService = HealthService_1 = class HealthService {
17
18
  async () => this.memory.checkRSS('memoryRss', 3000 * 1024 * 1024),
18
19
  ]);
19
20
  const environment = this.configService.get('NODE_ENV');
20
- return Object.assign({ environment }, statuses);
21
+ const version = getVersion();
22
+ return Object.assign({ environment,
23
+ version }, statuses);
21
24
  }
22
25
  };
23
26
  HealthService = HealthService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"health.service.js","sourceRoot":"/","sources":["health/health.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAEL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAOxC,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAIxB,YACmB,aAA4B,EAC5B,MAA0B,EAC1B,MAA6B;QAF7B,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAoB;QAC1B,WAAM,GAAN,MAAM,CAAuB;QAL/B,WAAM,GAAW,IAAI,MAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAM9D,CAAC;IAEJ,KAAK,CAAC,KAAK;QAET,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,QAAQ,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1D,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;YAClE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;SAClE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,UAAU,CAAC,CAAC;QAEvE,uBACE,WAAW,IACR,QAAQ,EACX;IACJ,CAAC;CACF,CAAA;AA1BY,aAAa;IADzB,UAAU,EAAE;qCAMuB,aAAa;QACpB,kBAAkB;QAClB,qBAAqB;GAPrC,aAAa,CA0BzB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport {\n HealthCheckResult,\n HealthCheckService,\n MemoryHealthIndicator,\n} from '@nestjs/terminus';\nimport { ConfigService } from '@nestjs/config';\n\nimport { HealthResponseDto } from './dtos/health.response.dto';\n\n// this decorator indicates to nest that this class can be provided to a module\n// we want to handle logic in services to keep our resolvers and controllers clean\n@Injectable()\nexport class HealthService {\n // grab the global logger instance\n private readonly logger: Logger = new Logger(HealthService.name);\n\n constructor(\n private readonly configService: ConfigService,\n private readonly health: HealthCheckService,\n private readonly memory: MemoryHealthIndicator,\n ) {}\n\n async check(): Promise<HealthResponseDto> {\n // this logger has several logging levels\n this.logger.log('check');\n\n const statuses: HealthCheckResult = await this.health.check([\n async () => this.memory.checkHeap('memoryHeap', 200 * 1024 * 1024),\n async () => this.memory.checkRSS('memoryRss', 3000 * 1024 * 1024),\n ]);\n\n const environment: string = this.configService.get<string>('NODE_ENV');\n\n return {\n environment,\n ...statuses,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"health.service.js","sourceRoot":"/","sources":["health/health.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAEL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK/B,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAIxB,YACmB,aAA4B,EAC5B,MAA0B,EAC1B,MAA6B;QAF7B,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAoB;QAC1B,WAAM,GAAN,MAAM,CAAuB;QAL/B,WAAM,GAAW,IAAI,MAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAM9D,CAAC;IAEJ,KAAK,CAAC,KAAK;QAET,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,QAAQ,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1D,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;YAClE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;SAClE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,UAAU,CAAC,CAAC;QACvE,MAAM,OAAO,GAAW,UAAU,EAAE,CAAC;QAErC,uBACE,WAAW;YACX,OAAO,IACJ,QAAQ,EACX;IACJ,CAAC;CACF,CAAA;AA5BY,aAAa;IADzB,UAAU,EAAE;qCAMuB,aAAa;QACpB,kBAAkB;QAClB,qBAAqB;GAPrC,aAAa,CA4BzB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport {\n HealthCheckResult,\n HealthCheckService,\n MemoryHealthIndicator,\n} from '@nestjs/terminus';\nimport { ConfigService } from '@nestjs/config';\n\nimport { HealthResponseDto } from './dtos';\nimport { getVersion } from '../utils';\n\n// this decorator indicates to nest that this class can be provided to a module\n// we want to handle logic in services to keep our resolvers and controllers clean\n@Injectable()\nexport class HealthService {\n // grab the global logger instance\n private readonly logger: Logger = new Logger(HealthService.name);\n\n constructor(\n private readonly configService: ConfigService,\n private readonly health: HealthCheckService,\n private readonly memory: MemoryHealthIndicator,\n ) {}\n\n async check(): Promise<HealthResponseDto> {\n // this logger has several logging levels\n this.logger.log('check');\n\n const statuses: HealthCheckResult = await this.health.check([\n async () => this.memory.checkHeap('memoryHeap', 200 * 1024 * 1024),\n async () => this.memory.checkRSS('memoryRss', 3000 * 1024 * 1024),\n ]);\n\n const environment: string = this.configService.get<string>('NODE_ENV');\n const version: string = getVersion();\n\n return {\n environment,\n version,\n ...statuses,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.middleware.d.ts","sourceRoot":"/","sources":["middleware/logger.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,qBACa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAE5D,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CAgB5D"}
1
+ {"version":3,"file":"logger.middleware.d.ts","sourceRoot":"/","sources":["middleware/logger.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,qBACa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAE5D,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;CAe5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.middleware.js","sourceRoot":"/","sources":["middleware/logger.middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAC;AAI7D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAAtB;QACY,WAAM,GAAG,IAAI,MAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAkB9D,CAAC;IAhBC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;;QAClD,IACE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,MAAM;YACtB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAK,UAAU;aAC/B,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,aAAa,CAAA,EACxB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAEb,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAC7D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAnBY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAmB5B","sourcesContent":["import { Injectable, Logger, NestMiddleware } from '@nestjs/common';\nimport { NextFunction, Request, Response } from 'express';\n\n@Injectable()\nexport class LoggerMiddleware implements NestMiddleware {\n private readonly logger = new Logger(LoggerMiddleware.name);\n\n use(req: Request, _res: Response, next: NextFunction): void {\n if (\n req?.method === 'POST' &&\n req?.originalUrl === '/graphql' &&\n req?.body?.operationName\n ) {\n this.logger.log(\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${req.method} ${req.originalUrl} ${req.body.operationName}`,\n );\n } else {\n this.logger.log(`${req.method} ${req.originalUrl}`);\n }\n\n next();\n }\n}\n"]}
1
+ {"version":3,"file":"logger.middleware.js","sourceRoot":"/","sources":["middleware/logger.middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAC;AAI7D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAAtB;QACY,WAAM,GAAG,IAAI,MAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAiB9D,CAAC;IAfC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;;QAClD,IACE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,MAAM;YACtB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAK,UAAU;aAC/B,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,aAAa,CAAA,EACxB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAC7D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAlBY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAkB5B","sourcesContent":["import { Injectable, Logger, NestMiddleware } from '@nestjs/common';\nimport { NextFunction, Request, Response } from 'express';\n\n@Injectable()\nexport class LoggerMiddleware implements NestMiddleware {\n private readonly logger = new Logger(LoggerMiddleware.name);\n\n use(req: Request, _res: Response, next: NextFunction): void {\n if (\n req?.method === 'POST' &&\n req?.originalUrl === '/graphql' &&\n req?.body?.operationName\n ) {\n this.logger.log(\n `${req.method} ${req.originalUrl} ${req.body.operationName}`,\n );\n } else {\n this.logger.log(`${req.method} ${req.originalUrl}`);\n }\n\n next();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.service.d.ts","sourceRoot":"/","sources":["prisma/prisma.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBACa,aAAc,SAAQ,YAAa,YAAW,YAAY;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;;IAcnD,YAAY;IAKZ,mBAAmB,CAAC,GAAG,EAAE,gBAAgB;CAMhD"}
1
+ {"version":3,"file":"prisma.service.d.ts","sourceRoot":"/","sources":["prisma/prisma.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBACa,aAAc,SAAQ,YAAa,YAAW,YAAY;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;;IAcnD,YAAY;IAIZ,mBAAmB,CAAC,GAAG,EAAE,gBAAgB;CAKhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.service.js","sourceRoot":"/","sources":["prisma/prisma.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAEL,UAAU,EACV,MAAM,GAEP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG/C,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,YAAY;IAG7C;QACE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAHrC,WAAM,GAAG,IAAI,MAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;QAKvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,GAAG,CAAC,OAAgB,EAAE,CAAC,KAAwB,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAGD,KAAK,CAAC,mBAAmB,CAAC,GAAqB;QAE7C,IAAI,CAAC,GAAG,CAAC,YAAqB,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA1BY,aAAa;IADzB,UAAU,EAAE;;GACA,aAAa,CA0BzB","sourcesContent":["import {\n INestApplication,\n Injectable,\n Logger,\n OnModuleInit,\n} from '@nestjs/common';\nimport { Prisma, PrismaClient } from '@prisma/client';\n\n@Injectable()\nexport class PrismaService extends PrismaClient implements OnModuleInit {\n private readonly logger = new Logger(PrismaService.name);\n\n constructor() {\n super({ log: [{ emit: 'event', level: 'query' }] });\n\n this.logger.log(`Prisma v${Prisma.prismaVersion.client}`);\n\n this.$on('query' as never, (event: Prisma.QueryEvent) => {\n this.logger.debug(\n `[${event.duration}ms] ${event.query} ${event.params} `,\n );\n });\n }\n\n async onModuleInit() {\n await this.$connect();\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async enableShutdownHooks(app: INestApplication) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.$on('beforeExit' as never, async () => {\n await app.close();\n });\n }\n}\n"]}
1
+ {"version":3,"file":"prisma.service.js","sourceRoot":"/","sources":["prisma/prisma.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAEL,UAAU,EACV,MAAM,GAEP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG/C,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,YAAY;IAG7C;QACE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAHrC,WAAM,GAAG,IAAI,MAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;QAKvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,GAAG,CAAC,OAAgB,EAAE,CAAC,KAAwB,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAqB;QAC7C,IAAI,CAAC,GAAG,CAAC,YAAqB,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxBY,aAAa;IADzB,UAAU,EAAE;;GACA,aAAa,CAwBzB","sourcesContent":["import {\n INestApplication,\n Injectable,\n Logger,\n OnModuleInit,\n} from '@nestjs/common';\nimport { Prisma, PrismaClient } from '@prisma/client';\n\n@Injectable()\nexport class PrismaService extends PrismaClient implements OnModuleInit {\n private readonly logger = new Logger(PrismaService.name);\n\n constructor() {\n super({ log: [{ emit: 'event', level: 'query' }] });\n\n this.logger.log(`Prisma v${Prisma.prismaVersion.client}`);\n\n this.$on('query' as never, (event: Prisma.QueryEvent) => {\n this.logger.debug(\n `[${event.duration}ms] ${event.query} ${event.params} `,\n );\n });\n }\n\n async onModuleInit() {\n await this.$connect();\n }\n\n async enableShutdownHooks(app: INestApplication) {\n this.$on('beforeExit' as never, async () => {\n await app.close();\n });\n }\n}\n"]}
@@ -3,7 +3,7 @@ export declare class SearchService {
3
3
  private configService;
4
4
  private readonly logger;
5
5
  private readonly searchClient;
6
- private readonly searchIndex;
6
+ private readonly indexName;
7
7
  constructor(configService: ConfigService);
8
8
  shouldIndex(): Promise<boolean>;
9
9
  create(inventoryItem: any): Promise<undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"search.service.d.ts","sourceRoot":"/","sources":["search/search.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBACa,aAAa;IAKZ,OAAO,CAAC,aAAa;IAJjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;gBAElC,aAAa,EAAE,aAAa;IAe1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAc/B,MAAM,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAoB9C,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;CAyB5D"}
1
+ {"version":3,"file":"search.service.d.ts","sourceRoot":"/","sources":["search/search.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBACa,aAAa;IAKZ,OAAO,CAAC,aAAa;IAJjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEf,aAAa,EAAE,aAAa;IAa1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/B,MAAM,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAsB9C,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;CA2B5D"}
@@ -1,7 +1,7 @@
1
1
  var SearchService_1;
2
2
  import { __decorate, __metadata } from "tslib";
3
3
  import { Injectable, Logger } from '@nestjs/common';
4
- import algoliasearch from 'algoliasearch';
4
+ import { algoliasearch } from 'algoliasearch';
5
5
  import { ConfigService } from '@nestjs/config';
6
6
  let SearchService = SearchService_1 = class SearchService {
7
7
  constructor(configService) {
@@ -11,37 +11,47 @@ let SearchService = SearchService_1 = class SearchService {
11
11
  if (this.searchClient === undefined) {
12
12
  throw new Error('Search client is undefined');
13
13
  }
14
- this.searchIndex = this.searchClient.initIndex(this.configService.get('ALGOLIA_INDEX_NAME'));
14
+ this.indexName = this.configService.get('ALGOLIA_INDEX_NAME');
15
15
  }
16
16
  async shouldIndex() {
17
17
  this.logger.debug('shouldIndex');
18
- if (this.searchIndex === undefined) {
19
- throw new Error('Search index is undefined');
18
+ if (this.searchClient === undefined) {
19
+ throw new Error('Search client is undefined');
20
20
  }
21
- const { nbHits } = await this.searchIndex.search('', {
22
- hitsPerPage: 1,
21
+ const result = await this.searchClient.searchSingleIndex({
22
+ indexName: this.indexName,
23
+ searchParams: {
24
+ query: '',
25
+ hitsPerPage: 1,
26
+ },
23
27
  });
24
- return nbHits === 0;
28
+ return result.nbHits === 0;
25
29
  }
26
30
  async create(inventoryItem) {
27
31
  this.logger.debug('create');
28
- if (this.searchIndex === undefined) {
29
- throw new Error('Search index is undefined');
32
+ if (this.searchClient === undefined) {
33
+ throw new Error('Search client is undefined');
30
34
  }
31
35
  const mappedExercise = Object.assign(Object.assign({}, inventoryItem), { objectID: inventoryItem.id, quantity: 0 });
32
- await this.searchIndex.saveObject(mappedExercise).wait();
36
+ await this.searchClient.saveObject({
37
+ indexName: this.indexName,
38
+ body: mappedExercise,
39
+ });
33
40
  return;
34
41
  }
35
42
  async createMany(inventoryItems) {
36
43
  try {
37
44
  this.logger.debug('createMany');
38
- if (this.searchIndex === undefined) {
39
- throw new Error('Search index is undefined');
45
+ if (this.searchClient === undefined) {
46
+ throw new Error('Search client is undefined');
40
47
  }
41
48
  const mappedExercises = inventoryItems.map((inventoryItem) => {
42
49
  return Object.assign(Object.assign({}, inventoryItem), { objectID: inventoryItem.id, quantity: 0 });
43
50
  });
44
- await this.searchIndex.saveObjects(mappedExercises).wait();
51
+ await this.searchClient.saveObjects({
52
+ indexName: this.indexName,
53
+ objects: mappedExercises,
54
+ });
45
55
  return;
46
56
  }
47
57
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.service.js","sourceRoot":"/","sources":["search/search.service.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGxC,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAKxB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAJ/B,WAAM,GAAW,IAAI,MAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;QAK/D,IAAI,CAAC,YAAY,GAAG,aAAa,CAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAC1C,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE;YACnD,WAAW,EAAE,CAAC;SACf,CAAC,CAAC;QAEH,OAAO,MAAM,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAkB;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAGD,MAAM,cAAc,mCACf,aAAa,KAEhB,QAAQ,EAAE,aAAa,CAAC,EAAE,EAC1B,QAAQ,EAAE,CAAC,GACZ,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,cAAqB;QACpC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEhC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAkB,EAAE,EAAE;gBAEhE,uCACK,aAAa,KAEhB,QAAQ,EAAE,aAAa,CAAC,EAAE,EAC1B,QAAQ,EAAE,CAAC,IACX;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;YAE3D,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAA;AA/EY,aAAa;IADzB,UAAU,EAAE;qCAMwB,aAAa;GALrC,aAAa,CA+EzB","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport algoliasearch from 'algoliasearch';\nimport { SearchClient, SearchIndex } from 'algoliasearch/dist/algoliasearch';\nimport { ConfigService } from '@nestjs/config';\n\n@Injectable()\nexport class SearchService {\n private readonly logger: Logger = new Logger(SearchService.name);\n private readonly searchClient: SearchClient | undefined;\n private readonly searchIndex: SearchIndex | undefined;\n\n constructor(private configService: ConfigService) {\n this.searchClient = algoliasearch(\n this.configService.get('ALGOLIA_APP_ID'),\n this.configService.get('ALGOLIA_API_KEY'),\n );\n\n if (this.searchClient === undefined) {\n throw new Error('Search client is undefined');\n }\n\n this.searchIndex = this.searchClient.initIndex(\n this.configService.get('ALGOLIA_INDEX_NAME'),\n );\n }\n\n async shouldIndex(): Promise<boolean> {\n this.logger.debug('shouldIndex');\n\n if (this.searchIndex === undefined) {\n throw new Error('Search index is undefined');\n }\n\n const { nbHits } = await this.searchIndex.search('', {\n hitsPerPage: 1,\n });\n\n return nbHits === 0;\n }\n\n async create(inventoryItem: any): Promise<undefined> {\n this.logger.debug('create');\n\n if (this.searchIndex === undefined) {\n throw new Error('Search index is undefined');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const mappedExercise = {\n ...inventoryItem,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n objectID: inventoryItem.id,\n quantity: 0,\n };\n\n await this.searchIndex.saveObject(mappedExercise).wait();\n\n return;\n }\n\n async createMany(inventoryItems: any[]): Promise<undefined> {\n try {\n this.logger.debug('createMany');\n\n if (this.searchIndex === undefined) {\n throw new Error('Search index is undefined');\n }\n\n const mappedExercises = inventoryItems.map((inventoryItem: any) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return {\n ...inventoryItem,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n objectID: inventoryItem.id,\n quantity: 0,\n };\n });\n\n await this.searchIndex.saveObjects(mappedExercises).wait();\n\n return;\n } catch (error) {\n this.logger.error(error);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"search.service.js","sourceRoot":"/","sources":["search/search.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { algoliasearch } from 'algoliasearch';\nimport type { SearchClient } from 'algoliasearch';\nimport { ConfigService } from '@nestjs/config';\n\n@Injectable()\nexport class SearchService {\n private readonly logger: Logger = new Logger(SearchService.name);\n private readonly searchClient: SearchClient | undefined;\n private readonly indexName: string;\n\n constructor(private configService: ConfigService) {\n this.searchClient = algoliasearch(\n this.configService.get('ALGOLIA_APP_ID'),\n this.configService.get('ALGOLIA_API_KEY'),\n );\n\n if (this.searchClient === undefined) {\n throw new Error('Search client is undefined');\n }\n\n this.indexName = this.configService.get('ALGOLIA_INDEX_NAME');\n }\n\n async shouldIndex(): Promise<boolean> {\n this.logger.debug('shouldIndex');\n\n if (this.searchClient === undefined) {\n throw new Error('Search client is undefined');\n }\n\n const result = await this.searchClient.searchSingleIndex({\n indexName: this.indexName,\n searchParams: {\n query: '',\n hitsPerPage: 1,\n },\n });\n\n return result.nbHits === 0;\n }\n\n async create(inventoryItem: any): Promise<undefined> {\n this.logger.debug('create');\n\n if (this.searchClient === undefined) {\n throw new Error('Search client is undefined');\n }\n\n const mappedExercise = {\n ...inventoryItem,\n\n objectID: inventoryItem.id,\n quantity: 0,\n };\n\n await this.searchClient.saveObject({\n indexName: this.indexName,\n body: mappedExercise,\n });\n\n return;\n }\n\n async createMany(inventoryItems: any[]): Promise<undefined> {\n try {\n this.logger.debug('createMany');\n\n if (this.searchClient === undefined) {\n throw new Error('Search client is undefined');\n }\n\n const mappedExercises = inventoryItems.map((inventoryItem: any) => {\n return {\n ...inventoryItem,\n\n objectID: inventoryItem.id,\n quantity: 0,\n };\n });\n\n await this.searchClient.saveObjects({\n indexName: this.indexName,\n objects: mappedExercises,\n });\n\n return;\n } catch (error) {\n this.logger.error(error);\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-sentry.d.ts","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,gBAAiB,MAAM,SAkB7C,CAAC"}
1
+ {"version":3,"file":"instrument-sentry.d.ts","sourceRoot":"/","sources":["services/instrument-sentry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,SAkB7C,CAAC"}
@@ -1,9 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  export declare const deleteUserSchema: z.ZodObject<{
3
3
  email: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- email?: string;
6
- }, {
7
- email?: string;
8
- }>;
4
+ }, z.core.$strip>;
9
5
  //# sourceMappingURL=delete-user.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-user.schema.d.ts","sourceRoot":"/","sources":["user/schemas/delete-user.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC"}
1
+ {"version":3,"file":"delete-user.schema.d.ts","sourceRoot":"/","sources":["user/schemas/delete-user.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC"}
@@ -3,13 +3,5 @@ export declare const phoneLoginVerifySchema: z.ZodObject<{
3
3
  code: z.ZodString;
4
4
  phoneNumber: z.ZodString;
5
5
  methodId: z.ZodString;
6
- }, "strip", z.ZodTypeAny, {
7
- phoneNumber?: string;
8
- code?: string;
9
- methodId?: string;
10
- }, {
11
- phoneNumber?: string;
12
- code?: string;
13
- methodId?: string;
14
- }>;
6
+ }, z.core.$strip>;
15
7
  //# sourceMappingURL=phone-login-verify.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone-login-verify.schema.d.ts","sourceRoot":"/","sources":["user/schemas/phone-login-verify.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC"}
1
+ {"version":3,"file":"phone-login-verify.schema.d.ts","sourceRoot":"/","sources":["user/schemas/phone-login-verify.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC"}
@@ -1,9 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  export declare const phoneLoginSchema: z.ZodObject<{
3
3
  phoneNumber: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- phoneNumber?: string;
6
- }, {
7
- phoneNumber?: string;
8
- }>;
4
+ }, z.core.$strip>;
9
5
  //# sourceMappingURL=phone-login.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone-login.schema.d.ts","sourceRoot":"/","sources":["user/schemas/phone-login.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC"}
1
+ {"version":3,"file":"phone-login.schema.d.ts","sourceRoot":"/","sources":["user/schemas/phone-login.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC"}
@@ -2,11 +2,5 @@ import { z } from 'zod';
2
2
  export declare const signupSchema: z.ZodObject<{
3
3
  email: z.ZodString;
4
4
  password: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- email?: string;
7
- password?: string;
8
- }, {
9
- email?: string;
10
- password?: string;
11
- }>;
5
+ }, z.core.$strip>;
12
6
  //# sourceMappingURL=signup.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signup.schema.d.ts","sourceRoot":"/","sources":["user/schemas/signup.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;EAGvB,CAAC"}
1
+ {"version":3,"file":"signup.schema.d.ts","sourceRoot":"/","sources":["user/schemas/signup.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;iBAGvB,CAAC"}
@@ -5,17 +5,5 @@ export declare const updateUserSchema: z.ZodObject<{
5
5
  pushToken: z.ZodOptional<z.ZodString>;
6
6
  tz: z.ZodOptional<z.ZodNumber>;
7
7
  email: z.ZodOptional<z.ZodString>;
8
- }, "strip", z.ZodTypeAny, {
9
- email?: string;
10
- phoneNumber?: string;
11
- fullName?: string;
12
- pushToken?: string;
13
- tz?: number;
14
- }, {
15
- email?: string;
16
- phoneNumber?: string;
17
- fullName?: string;
18
- pushToken?: string;
19
- tz?: number;
20
- }>;
8
+ }, z.core.$strip>;
21
9
  //# sourceMappingURL=update-user.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-user.schema.d.ts","sourceRoot":"/","sources":["user/schemas/update-user.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;EAQjB,CAAC"}
1
+ {"version":3,"file":"update-user.schema.d.ts","sourceRoot":"/","sources":["user/schemas/update-user.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;iBAQjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.controller.d.ts","sourceRoot":"/","sources":["user/user.controller.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAStC,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAOlC,qBAEa,cAAc;IAEvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;gBAHV,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU;IAS1B,UAAU,CACN,GAAG,EAAE,oBAAoB,GAChC,OAAO,CAAC,qBAAqB,CAAC;IA0C3B,gBAAgB,CACZ,GAAG,EAAE,0BAA0B,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAqCzB,MAAM,CAAS,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsCrE,KAAK,CAAS,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCpE,OAAO,CAAY,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBnE,IAAI,CACA,GAAG,EAAE,oBAAoB,EACtB,GAAG,EAAE,KAAK,CAAC,OAAO,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IAoCxB,QAAQ,CAAY,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtD,MAAM,CACC,GAAG,EAAE,KAAK,CAAC,OAAO,EACrB,GAAG,EAAE,oBAAoB,GAChC,OAAO,CAAC,IAAI,CAAC;CA4BjB"}
1
+ {"version":3,"file":"user.controller.d.ts","sourceRoot":"/","sources":["user/user.controller.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAStC,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAOlC,qBAEa,cAAc;IAEvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;gBAHV,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU;IAS1B,UAAU,CACN,GAAG,EAAE,oBAAoB,GAChC,OAAO,CAAC,qBAAqB,CAAC;IA0C3B,gBAAgB,CACZ,GAAG,EAAE,0BAA0B,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAqCzB,MAAM,CAAS,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsCrE,KAAK,CAAS,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCpE,OAAO,CAAY,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBnE,IAAI,CACA,GAAG,EAAE,oBAAoB,EACtB,GAAG,EAAE,KAAK,CAAC,OAAO,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IAoCxB,QAAQ,CAAY,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtD,MAAM,CACC,GAAG,EAAE,KAAK,CAAC,OAAO,EACrB,GAAG,EAAE,oBAAoB,GAChC,OAAO,CAAC,IAAI,CAAC;CA0BjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.controller.js","sourceRoot":"/","sources":["user/user.controller.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,UAAU,EACV,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAQ,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKpE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAIZ,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACU,WAAwB,EACxB,WAAwB,EACxB,WAAwB,EACxB,UAAsB;QAHtB,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;IAC7B,CAAC;IAQE,AAAN,KAAK,CAAC,UAAU,CACN,GAAyB;QAEjC,IAAI,CAAC;YACH,MAAM,SAAS,GAAyB,gBAAgB,CAAC,KAAK,CAC5D,GAAG,CACoB,CAAC;YAE1B,MAAM,WAAW,GAAW,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEpE,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAC5D,SAAS,CAAC,WAAW,CACtB,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,OAAO,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBAClD,WAAW;iBACZ,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBACrC,CAAC;YAGH,CAAC;YAED,MAAM,GAAG,GACP,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAEzD,OAAO;gBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAQK,AAAN,KAAK,CAAC,gBAAgB,CACZ,GAA+B;QAEvC,IAAI,CAAC;YACH,MAAM,SAAS,GACb,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAA+B,CAAC;YAElE,MAAM,GAAG,GACP,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;gBACvC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;aACrB,CAAC,CAAC;YAEL,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAC5D,SAAS,CAAC,WAAW,CACtB,CAAC;YAEF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;gBACrC,UAAU,EAAE,GAAG,CAAC,OAAO;aACxB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE/D,uCACK,IAAI,KACP,KAAK,IACL;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAAS,GAAuB;QAC1C,MAAM,UAAU,GAAuB;YACrC,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC;YACzC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;SACpC,CAAC;QAEF,MAAM,GAAG,GACP,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/C,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,GAAG,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE/D,uCACK,IAAI,KACP,KAAK,IACL;IACJ,CAAC;IAQK,AAAN,KAAK,CAAC,KAAK,CAAS,GAAuB;QACzC,MAAM,UAAU,GAAuB;YACrC,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC;YACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;SAC9B,CAAC;QAEF,MAAM,GAAG,GAAY,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE3E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE/D,uCACK,IAAI,KACP,KAAK,IACL;IACJ,CAAC;IASK,AAAN,KAAK,CAAC,OAAO,CAAY,GAAkB;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CACvD,GAAG,CAAC,IAAI,CAAC,MAAM,CAChB,CAAC;YAEF,OAAO,IAA0B,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IASK,AAAN,KAAK,CAAC,IAAI,CACA,GAAyB,EACtB,GAAkB;QAE7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAyB;gBACrC,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC1B,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC;oBACnC,CAAC,CAAC,SAAS;gBACb,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACpB,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC;YAEF,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAC9C,GAAG,CAAC,IAAI,CAAC,MAAM,EACf,QAAQ,CACT,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC7C,gBAAgB,EAAE,gBAAgB,CAAC,SAAS;iBAC7C,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAA0B,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAQK,AAAN,KAAK,CAAC,QAAQ,CAAY,GAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CACvD,GAAG,CAAC,IAAI,CAAC,MAAM,CAChB,CAAC;YAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAsB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;oBAClE,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC7B,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IASK,AAAN,KAAK,CAAC,MAAM,CACC,GAAkB,EACrB,GAAyB;QAEjC,IAAI,CAAC;YACH,MAAM,SAAS,GACb,gBACD,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;YAErC,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CACvD,GAAG,CAAC,IAAI,CAAC,MAAM,CAChB,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/C,WAAW,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC7C,MAAM,EAAE,UAAU,CAAC,OAAO;gBAC1B,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE,IAAI,CAAC,UAAU;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAA;AA7QO;IANL,IAAI,CAAC,aAAa,CAAC;IACnB,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,qBAAqB;KAC5B,CAAC;IAEC,WAAA,IAAI,EAAE,CAAA;;qCAAM,oBAAoB;;gDAmClC;AAQK;IANL,IAAI,CAAC,oBAAoB,CAAC;IAC1B,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,mBAAmB;KAC1B,CAAC;IAEC,WAAA,IAAI,EAAE,CAAA;;qCAAM,0BAA0B;;sDA8BxC;AAQK;IANL,IAAI,CAAC,QAAQ,CAAC;IACd,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,mBAAmB;KAC1B,CAAC;IACY,WAAA,IAAI,EAAE,CAAA;;qCAAM,kBAAkB;;4CA8B3C;AAQK;IANL,IAAI,CAAC,OAAO,CAAC;IACb,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,mBAAmB;KAC1B,CAAC;IACW,WAAA,IAAI,EAAE,CAAA;;qCAAM,kBAAkB;;2CAyB1C;AASK;IAPL,SAAS,CAAC,SAAS,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC;IACX,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,kBAAkB;KACzB,CAAC;IACa,WAAA,OAAO,EAAE,CAAA;;;;6CAUvB;AASK;IAPL,SAAS,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,QAAQ,CAAC;IACd,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,kBAAkB;KACzB,CAAC;IAEC,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,OAAO,EAAE,CAAA;;qCADG,oBAAoB;;0CA8BlC;AAQK;IANL,SAAS,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,UAAU,CAAC;IAChB,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACc,WAAA,OAAO,EAAE,CAAA;;;;8CAgBxB;AASK;IAPL,SAAS,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,QAAQ,CAAC;IACd,WAAW,CAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,kBAAkB;KACzB,CAAC;IAEC,WAAA,OAAO,EAAE,CAAA;IACT,WAAA,IAAI,EAAE,CAAA;;6CAAM,oBAAoB;;4CA4BlC;AA1RU,cAAc;IAF1B,OAAO,CAAC,MAAM,CAAC;IACf,UAAU,CAAC,MAAM,CAAC;qCAGM,WAAW;QACX,WAAW;QACX,WAAW;QACZ,UAAU;GALrB,cAAc,CA2R1B","sourcesContent":["import {\n Body,\n Controller,\n Get,\n Post,\n Request,\n UseGuards,\n} from '@nestjs/common';\nimport { JwtService } from '@nestjs/jwt';\nimport { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { OnboardingStatus, User, UserStatus } from '@prisma/client';\nimport { ExpoPushMessage } from 'expo-server-sdk';\nimport * as stytch from 'stytch';\nimport { ZodObject } from 'zod';\n\nimport { AuthService } from '../auth';\nimport { UserService } from './user.service';\nimport {\n GetUserResponseDto,\n UpdateUserRequestDto,\n RegisterResponseDto,\n DeleteUserRequestDto,\n PhoneLoginRequestDto,\n PhoneLoginResponseDto,\n PhoneLoginVerifyRequestDto,\n RegisterRequestDto,\n} from './dtos';\nimport { PushService } from '../push';\nimport {\n cleanPhoneNumber,\n cleanString,\n cleanStringAndLowercase,\n handleError,\n utcOffsetToHours,\n} from '../utils';\nimport { AuthGuard } from '../guard';\nimport * as types from '../types';\nimport {\n deleteUserSchema,\n phoneLoginSchema,\n phoneLoginVerifySchema,\n} from './schemas';\n\n@ApiTags('User')\n@Controller('user')\nexport class UserController {\n constructor(\n private userService: UserService,\n private authService: AuthService,\n private pushService: PushService,\n private jwtService: JwtService,\n ) {}\n\n @Post('phone-login')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: PhoneLoginResponseDto,\n })\n async phoneLogin(\n @Body() dto: PhoneLoginRequestDto,\n ): Promise<PhoneLoginResponseDto> {\n try {\n const parsedDto: PhoneLoginRequestDto = phoneLoginSchema.parse(\n dto,\n ) as PhoneLoginRequestDto;\n\n const phoneNumber: string = cleanPhoneNumber(parsedDto.phoneNumber);\n\n const user: User = await this.userService.findOneByPhoneNumber(\n parsedDto.phoneNumber,\n );\n\n if (!user) {\n const newUser: User = await this.userService.create({\n phoneNumber,\n });\n\n if (!newUser) {\n handleError('Error creating user');\n }\n\n // this is where you can do other user setup\n }\n\n const res: stytch.OTPsSmsLoginOrCreateResponse =\n await this.authService.phoneLoginOrCreate(phoneNumber);\n\n return {\n methodId: res.phone_id,\n phoneNumber,\n };\n } catch (error) {\n handleError(error);\n }\n }\n\n @Post('phone-login-verify')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: RegisterResponseDto,\n })\n async phoneLoginVerify(\n @Body() dto: PhoneLoginVerifyRequestDto,\n ): Promise<RegisterResponseDto> {\n try {\n const parsedDto: PhoneLoginVerifyRequestDto =\n phoneLoginVerifySchema.parse(dto) as PhoneLoginVerifyRequestDto;\n\n const res: stytch.OTPsAuthenticateResponse =\n await this.authService.phoneAuthenticate({\n methodId: parsedDto.methodId,\n code: parsedDto.code,\n });\n\n const user: User = await this.userService.findOneByPhoneNumber(\n parsedDto.phoneNumber,\n );\n\n await this.userService.update(user.id, {\n externalId: res.user_id,\n });\n\n const payload = { userId: user.id };\n const token: string = await this.jwtService.signAsync(payload);\n\n return {\n ...user,\n token,\n };\n } catch (error) {\n handleError(error);\n }\n }\n\n @Post('signup')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: RegisterResponseDto,\n })\n async signup(@Body() dto: RegisterRequestDto): Promise<RegisterResponseDto> {\n const cleanedDTO: RegisterRequestDto = {\n email: cleanStringAndLowercase(dto.email),\n password: cleanString(dto.password),\n };\n\n const res: stytch.PasswordsCreateResponse =\n await this.authService.signup(cleanedDTO);\n\n if (!res) {\n handleError('Error creating user');\n }\n\n const user: User = await this.userService.create({\n phoneNumber: res.user_id, // use phone number as placeholder\n email: cleanedDTO.email,\n externalId: res.user_id,\n });\n\n if (!user) {\n handleError('Error creating user');\n }\n\n const payload = { userId: user.id };\n const token: string = await this.jwtService.signAsync(payload);\n\n return {\n ...user,\n token,\n };\n }\n\n @Post('login')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: RegisterResponseDto,\n })\n async login(@Body() dto: RegisterRequestDto): Promise<RegisterResponseDto> {\n const cleanedDTO: RegisterRequestDto = {\n email: cleanStringAndLowercase(dto.email),\n password: dto.password.trim(),\n };\n\n const res: boolean = await this.authService.login(cleanedDTO);\n\n if (!res) {\n handleError('Error logging in');\n }\n\n const user: User = await this.userService.findOneByEmail(cleanedDTO.email);\n\n if (!user) {\n handleError('Error logging in');\n }\n\n const payload = { userId: user.id };\n const token: string = await this.jwtService.signAsync(payload);\n\n return {\n ...user,\n token,\n };\n }\n\n @UseGuards(AuthGuard)\n @Get('self')\n @ApiResponse({\n status: 200,\n description: 'get self successful',\n type: GetUserResponseDto,\n })\n async getSelf(@Request() req: types.reqType): Promise<GetUserResponseDto> {\n try {\n const user: User = await this.userService.findOneByUserId(\n req.user.userId,\n );\n\n return user as GetUserResponseDto;\n } catch (error) {\n handleError(error);\n }\n }\n\n @UseGuards(AuthGuard)\n @Post('update')\n @ApiResponse({\n status: 200,\n description: 'update user successful',\n type: GetUserResponseDto,\n })\n async edit(\n @Body() dto: UpdateUserRequestDto,\n @Request() req: types.reqType,\n ): Promise<GetUserResponseDto> {\n try {\n const cleanDto: UpdateUserRequestDto = {\n phoneNumber: dto.phoneNumber\n ? cleanPhoneNumber(dto.phoneNumber)\n : undefined,\n fullName: dto.fullName\n ? cleanStringAndLowercase(dto.fullName)\n : undefined,\n pushToken: dto.pushToken ? cleanString(dto.pushToken) : undefined,\n tz: dto.tz ? utcOffsetToHours(dto.tz) : undefined,\n };\n\n const user: User = await this.userService.update(\n req.user.userId,\n cleanDto,\n );\n\n if (user.fullName && user.phoneNumber) {\n await this.userService.update(req.user.userId, {\n onboardingStatus: OnboardingStatus.COMPLETED,\n });\n }\n\n return user as GetUserResponseDto;\n } catch (error) {\n handleError(error);\n }\n }\n\n @UseGuards(AuthGuard)\n @Post('pushTest')\n @ApiResponse({\n status: 200,\n description: 'push test successful',\n })\n async pushTest(@Request() req: types.reqType): Promise<void> {\n try {\n const user: User = await this.userService.findOneByUserId(\n req.user.userId,\n );\n\n if (user.pushToken) {\n const messages: ExpoPushMessage[] = this.pushService.createMessages({\n body: 'Test push',\n pushTokens: [user.pushToken],\n });\n await this.pushService.sendMessages(messages);\n }\n } catch (error) {\n handleError(error);\n }\n }\n\n @UseGuards(AuthGuard)\n @Post('delete')\n @ApiResponse({\n status: 200,\n description: 'delete user successful',\n type: GetUserResponseDto,\n })\n async delete(\n @Request() req: types.reqType,\n @Body() dto: DeleteUserRequestDto,\n ): Promise<void> {\n try {\n const parsedDto: DeleteUserRequestDto = (\n deleteUserSchema as ZodObject<any>\n ).parse(dto) as DeleteUserRequestDto;\n\n const user: User = await this.userService.findOneByUserId(\n req.user.userId,\n );\n\n if (!user) {\n handleError('User not found');\n }\n\n if (parsedDto.phoneNumber !== user.phoneNumber) {\n handleError('Invalid email');\n }\n\n await this.authService.delete(user.externalId);\n await this.userService.update(req.user.userId, {\n status: UserStatus.DELETED,\n email: user.externalId,\n phoneNumber: user.externalId,\n });\n } catch (error) {\n handleError(error);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"user.controller.js","sourceRoot":"/","sources":["user/user.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Body,\n Controller,\n Get,\n Post,\n Request,\n UseGuards,\n} from '@nestjs/common';\nimport { JwtService } from '@nestjs/jwt';\nimport { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { OnboardingStatus, User, UserStatus } from '@prisma/client';\nimport { ExpoPushMessage } from 'expo-server-sdk';\nimport * as stytch from 'stytch';\nimport { ZodObject } from 'zod';\n\nimport { AuthService } from '../auth';\nimport { UserService } from './user.service';\nimport {\n GetUserResponseDto,\n UpdateUserRequestDto,\n RegisterResponseDto,\n DeleteUserRequestDto,\n PhoneLoginRequestDto,\n PhoneLoginResponseDto,\n PhoneLoginVerifyRequestDto,\n RegisterRequestDto,\n} from './dtos';\nimport { PushService } from '../push';\nimport {\n cleanPhoneNumber,\n cleanString,\n cleanStringAndLowercase,\n handleError,\n utcOffsetToHours,\n} from '../utils';\nimport { AuthGuard } from '../guard';\nimport * as types from '../types';\nimport {\n deleteUserSchema,\n phoneLoginSchema,\n phoneLoginVerifySchema,\n} from './schemas';\n\n@ApiTags('User')\n@Controller('user')\nexport class UserController {\n constructor(\n private userService: UserService,\n private authService: AuthService,\n private pushService: PushService,\n private jwtService: JwtService,\n ) {}\n\n @Post('phone-login')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: PhoneLoginResponseDto,\n })\n async phoneLogin(\n @Body() dto: PhoneLoginRequestDto,\n ): Promise<PhoneLoginResponseDto> {\n try {\n const parsedDto: PhoneLoginRequestDto = phoneLoginSchema.parse(\n dto,\n ) as PhoneLoginRequestDto;\n\n const phoneNumber: string = cleanPhoneNumber(parsedDto.phoneNumber);\n\n const user: User = await this.userService.findOneByPhoneNumber(\n parsedDto.phoneNumber,\n );\n\n if (!user) {\n const newUser: User = await this.userService.create({\n phoneNumber,\n });\n\n if (!newUser) {\n handleError('Error creating user');\n }\n\n // this is where you can do other user setup\n }\n\n const res: stytch.OTPsSmsLoginOrCreateResponse =\n await this.authService.phoneLoginOrCreate(phoneNumber);\n\n return {\n methodId: res.phone_id,\n phoneNumber,\n };\n } catch (error) {\n handleError(error);\n }\n }\n\n @Post('phone-login-verify')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: RegisterResponseDto,\n })\n async phoneLoginVerify(\n @Body() dto: PhoneLoginVerifyRequestDto,\n ): Promise<RegisterResponseDto> {\n try {\n const parsedDto: PhoneLoginVerifyRequestDto =\n phoneLoginVerifySchema.parse(dto) as PhoneLoginVerifyRequestDto;\n\n const res: stytch.OTPsAuthenticateResponse =\n await this.authService.phoneAuthenticate({\n methodId: parsedDto.methodId,\n code: parsedDto.code,\n });\n\n const user: User = await this.userService.findOneByPhoneNumber(\n parsedDto.phoneNumber,\n );\n\n await this.userService.update(user.id, {\n externalId: res.user_id,\n });\n\n const payload = { userId: user.id };\n const token: string = await this.jwtService.signAsync(payload);\n\n return {\n ...user,\n token,\n };\n } catch (error) {\n handleError(error);\n }\n }\n\n @Post('signup')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: RegisterResponseDto,\n })\n async signup(@Body() dto: RegisterRequestDto): Promise<RegisterResponseDto> {\n const cleanedDTO: RegisterRequestDto = {\n email: cleanStringAndLowercase(dto.email),\n password: cleanString(dto.password),\n };\n\n const res: stytch.PasswordsCreateResponse =\n await this.authService.signup(cleanedDTO);\n\n if (!res) {\n handleError('Error creating user');\n }\n\n const user: User = await this.userService.create({\n phoneNumber: res.user_id, // use phone number as placeholder\n email: cleanedDTO.email,\n externalId: res.user_id,\n });\n\n if (!user) {\n handleError('Error creating user');\n }\n\n const payload = { userId: user.id };\n const token: string = await this.jwtService.signAsync(payload);\n\n return {\n ...user,\n token,\n };\n }\n\n @Post('login')\n @ApiResponse({\n status: 200,\n description: 'loginOrCreate successful',\n type: RegisterResponseDto,\n })\n async login(@Body() dto: RegisterRequestDto): Promise<RegisterResponseDto> {\n const cleanedDTO: RegisterRequestDto = {\n email: cleanStringAndLowercase(dto.email),\n password: dto.password.trim(),\n };\n\n const res: boolean = await this.authService.login(cleanedDTO);\n\n if (!res) {\n handleError('Error logging in');\n }\n\n const user: User = await this.userService.findOneByEmail(cleanedDTO.email);\n\n if (!user) {\n handleError('Error logging in');\n }\n\n const payload = { userId: user.id };\n const token: string = await this.jwtService.signAsync(payload);\n\n return {\n ...user,\n token,\n };\n }\n\n @UseGuards(AuthGuard)\n @Get('self')\n @ApiResponse({\n status: 200,\n description: 'get self successful',\n type: GetUserResponseDto,\n })\n async getSelf(@Request() req: types.reqType): Promise<GetUserResponseDto> {\n try {\n const user: User = await this.userService.findOneByUserId(\n req.user.userId,\n );\n\n return user as GetUserResponseDto;\n } catch (error) {\n handleError(error);\n }\n }\n\n @UseGuards(AuthGuard)\n @Post('update')\n @ApiResponse({\n status: 200,\n description: 'update user successful',\n type: GetUserResponseDto,\n })\n async edit(\n @Body() dto: UpdateUserRequestDto,\n @Request() req: types.reqType,\n ): Promise<GetUserResponseDto> {\n try {\n const cleanDto: UpdateUserRequestDto = {\n phoneNumber: dto.phoneNumber\n ? cleanPhoneNumber(dto.phoneNumber)\n : undefined,\n fullName: dto.fullName\n ? cleanStringAndLowercase(dto.fullName)\n : undefined,\n pushToken: dto.pushToken ? cleanString(dto.pushToken) : undefined,\n tz: dto.tz ? utcOffsetToHours(dto.tz) : undefined,\n };\n\n const user: User = await this.userService.update(\n req.user.userId,\n cleanDto,\n );\n\n if (user.fullName && user.phoneNumber) {\n await this.userService.update(req.user.userId, {\n onboardingStatus: OnboardingStatus.COMPLETED,\n });\n }\n\n return user as GetUserResponseDto;\n } catch (error) {\n handleError(error);\n }\n }\n\n @UseGuards(AuthGuard)\n @Post('pushTest')\n @ApiResponse({\n status: 200,\n description: 'push test successful',\n })\n async pushTest(@Request() req: types.reqType): Promise<void> {\n try {\n const user: User = await this.userService.findOneByUserId(\n req.user.userId,\n );\n\n if (user.pushToken) {\n const messages: ExpoPushMessage[] = this.pushService.createMessages({\n body: 'Test push',\n pushTokens: [user.pushToken],\n });\n await this.pushService.sendMessages(messages);\n }\n } catch (error) {\n handleError(error);\n }\n }\n\n @UseGuards(AuthGuard)\n @Post('delete')\n @ApiResponse({\n status: 200,\n description: 'delete user successful',\n type: GetUserResponseDto,\n })\n async delete(\n @Request() req: types.reqType,\n @Body() dto: DeleteUserRequestDto,\n ): Promise<void> {\n try {\n const parsedDto = (deleteUserSchema as ZodObject<any>).parse(dto);\n\n const user: User = await this.userService.findOneByUserId(\n req.user.userId,\n );\n\n if (!user) {\n handleError('User not found');\n }\n\n if (parsedDto.phoneNumber !== user.phoneNumber) {\n handleError('Invalid email');\n }\n\n await this.authService.delete(user.externalId);\n await this.userService.update(req.user.userId, {\n status: UserStatus.DELETED,\n email: user.externalId,\n phoneNumber: user.externalId,\n });\n } catch (error) {\n handleError(error);\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"user.util.d.ts","sourceRoot":"/","sources":["user/user.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,aAAa,UAAW,IAAI,EAAE,KAAG,MAAM,EAEnD,CAAC"}
1
+ {"version":3,"file":"user.util.d.ts","sourceRoot":"/","sources":["user/user.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,aAAa,GAAI,OAAO,IAAI,EAAE,KAAG,MAAM,EAEnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.util.d.ts","sourceRoot":"/","sources":["utils/datetime.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjD,OAAe,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,eAAO,MAAM,wBAAwB,QAAS,UAAU,KAAG,SAmB1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,MAEnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,MAExC,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAEjC,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,MAAM,MAAM,MAAM,KAAG,MAIxD,CAAC"}
1
+ {"version":3,"file":"datetime.util.d.ts","sourceRoot":"/","sources":["utils/datetime.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjD,OAAe,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,eAAO,MAAM,wBAAwB,GAAI,KAAK,UAAU,KAAG,SAmB1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAEnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,MAExC,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAEjC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,MAIxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.util.d.ts","sourceRoot":"/","sources":["utils/error.util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAW,GAAG,UAQrC,CAAC"}
1
+ {"version":3,"file":"error.util.d.ts","sourceRoot":"/","sources":["utils/error.util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,UAQrC,CAAC"}
@@ -4,4 +4,5 @@ export * from './input.util';
4
4
  export * from './string.util';
5
5
  export * from './noop.util';
6
6
  export * from './schema.util';
7
+ export * from './version.util';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -4,4 +4,5 @@ export * from './input.util';
4
4
  export * from './string.util';
5
5
  export * from './noop.util';
6
6
  export * from './schema.util';
7
+ export * from './version.util';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC","sourcesContent":["export * from './datetime.util';\nexport * from './error.util';\nexport * from './input.util';\nexport * from './string.util';\nexport * from './noop.util';\nexport * from './schema.util';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './datetime.util';\nexport * from './error.util';\nexport * from './input.util';\nexport * from './string.util';\nexport * from './noop.util';\nexport * from './schema.util';\nexport * from './version.util';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"input.util.d.ts","sourceRoot":"/","sources":["utils/input.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAEzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,MAAM,KAAG,MAGrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,MAY9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,KAAG,MAQpD,CAAC"}
1
+ {"version":3,"file":"input.util.d.ts","sourceRoot":"/","sources":["utils/input.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAEzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,MAAM,KAAG,MAGrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,MAY9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,KAAG,MAQpD,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export declare const getInitial: (name: string) => string;
2
+ export declare const getCapitalizedString: (str: string) => string;
2
3
  //# sourceMappingURL=string.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.util.d.ts","sourceRoot":"/","sources":["utils/string.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAEzC,CAAC"}
1
+ {"version":3,"file":"string.util.d.ts","sourceRoot":"/","sources":["utils/string.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAEzC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,MAElD,CAAC"}
@@ -1,4 +1,7 @@
1
1
  export const getInitial = (name) => {
2
2
  return name[0];
3
3
  };
4
+ export const getCapitalizedString = (str) => {
5
+ return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
6
+ };
4
7
  //# sourceMappingURL=string.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.util.js","sourceRoot":"/","sources":["utils/string.util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC","sourcesContent":["export const getInitial = (name: string): string => {\n return name[0];\n};\n"]}
1
+ {"version":3,"file":"string.util.js","sourceRoot":"/","sources":["utils/string.util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAU,EAAE;IAC1D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAClE,CAAC,CAAC","sourcesContent":["export const getInitial = (name: string): string => {\n return name[0];\n};\n\nexport const getCapitalizedString = (str: string): string => {\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const getVersion: () => string;
2
+ export declare const createVersionFile: () => void;
3
+ //# sourceMappingURL=version.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.util.d.ts","sourceRoot":"/","sources":["utils/version.util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAAO,MAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAO7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import fs from 'fs';
2
+ export const getVersion = () => {
3
+ const currentDir = process.cwd();
4
+ const filePath = `${currentDir}/version.txt`;
5
+ return fs.readFileSync(filePath, 'utf8').toString();
6
+ };
7
+ export const createVersionFile = () => {
8
+ const packageJsonContent = fs.readFileSync('package.json', 'utf8');
9
+ const packageJson = JSON.parse(packageJsonContent);
10
+ const version = packageJson.version;
11
+ fs.writeFileSync('version.txt', version);
12
+ };
13
+ //# sourceMappingURL=version.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.util.js","sourceRoot":"/","sources":["utils/version.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,GAAG,UAAU,cAAc,CAAC;IAC7C,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IAEpC,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC","sourcesContent":["import fs from 'fs';\n\nexport const getVersion = (): string => {\n const currentDir = process.cwd();\n const filePath = `${currentDir}/version.txt`;\n return fs.readFileSync(filePath, 'utf8').toString();\n};\n\nexport const createVersionFile = () => {\n const packageJsonContent = fs.readFileSync('package.json', 'utf8');\n const packageJson = JSON.parse(packageJsonContent);\n\n const version = packageJson.version;\n\n fs.writeFileSync('version.txt', version);\n};\n"]}