@laboratory-one/api-components 0.0.13 → 0.0.15

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 (101) hide show
  1. package/dist/cjs/types/index.d.ts +1 -0
  2. package/dist/cjs/types/index.d.ts.map +1 -1
  3. package/dist/cjs/types/index.js +1 -0
  4. package/dist/cjs/types/index.js.map +1 -1
  5. package/dist/cjs/types/req.type.d.ts +6 -0
  6. package/dist/cjs/types/req.type.d.ts.map +1 -0
  7. package/dist/cjs/types/req.type.js +3 -0
  8. package/dist/cjs/types/req.type.js.map +1 -0
  9. package/dist/cjs/user/index.d.ts +2 -0
  10. package/dist/cjs/user/index.d.ts.map +1 -1
  11. package/dist/cjs/user/index.js +2 -0
  12. package/dist/cjs/user/index.js.map +1 -1
  13. package/dist/cjs/user/schemas/delete-user.schema.d.ts +9 -0
  14. package/dist/cjs/user/schemas/delete-user.schema.d.ts.map +1 -0
  15. package/dist/cjs/user/schemas/delete-user.schema.js +9 -0
  16. package/dist/cjs/user/schemas/delete-user.schema.js.map +1 -0
  17. package/dist/cjs/user/schemas/index.d.ts +4 -0
  18. package/dist/cjs/user/schemas/index.d.ts.map +1 -0
  19. package/dist/cjs/user/schemas/index.js +7 -0
  20. package/dist/cjs/user/schemas/index.js.map +1 -0
  21. package/dist/cjs/user/schemas/signup.schema.d.ts +12 -0
  22. package/dist/cjs/user/schemas/signup.schema.d.ts.map +1 -0
  23. package/dist/cjs/user/schemas/signup.schema.js +10 -0
  24. package/dist/cjs/user/schemas/signup.schema.js.map +1 -0
  25. package/dist/cjs/user/schemas/update-user.schema.d.ts +18 -0
  26. package/dist/cjs/user/schemas/update-user.schema.d.ts.map +1 -0
  27. package/dist/cjs/user/schemas/update-user.schema.js +14 -0
  28. package/dist/cjs/user/schemas/update-user.schema.js.map +1 -0
  29. package/dist/cjs/user/user.controller.d.ts +4 -3
  30. package/dist/cjs/user/user.controller.d.ts.map +1 -1
  31. package/dist/cjs/user/user.controller.js +1 -0
  32. package/dist/cjs/user/user.controller.js.map +1 -1
  33. package/dist/cjs/user/user.util.d.ts +3 -0
  34. package/dist/cjs/user/user.util.d.ts.map +1 -0
  35. package/dist/cjs/user/user.util.js +8 -0
  36. package/dist/cjs/user/user.util.js.map +1 -0
  37. package/dist/cjs/utils/index.d.ts +1 -0
  38. package/dist/cjs/utils/index.d.ts.map +1 -1
  39. package/dist/cjs/utils/index.js +1 -0
  40. package/dist/cjs/utils/index.js.map +1 -1
  41. package/dist/cjs/utils/schema.util.d.ts +11 -0
  42. package/dist/cjs/utils/schema.util.d.ts.map +1 -0
  43. package/dist/cjs/utils/schema.util.js +14 -0
  44. package/dist/cjs/utils/schema.util.js.map +1 -0
  45. package/dist/esm/types/index.d.ts +1 -0
  46. package/dist/esm/types/index.d.ts.map +1 -1
  47. package/dist/esm/types/index.js +1 -0
  48. package/dist/esm/types/index.js.map +1 -1
  49. package/dist/esm/types/req.type.d.ts +6 -0
  50. package/dist/esm/types/req.type.d.ts.map +1 -0
  51. package/dist/esm/types/req.type.js +2 -0
  52. package/dist/esm/types/req.type.js.map +1 -0
  53. package/dist/esm/user/index.d.ts +2 -0
  54. package/dist/esm/user/index.d.ts.map +1 -1
  55. package/dist/esm/user/index.js +2 -0
  56. package/dist/esm/user/index.js.map +1 -1
  57. package/dist/esm/user/schemas/delete-user.schema.d.ts +9 -0
  58. package/dist/esm/user/schemas/delete-user.schema.d.ts.map +1 -0
  59. package/dist/esm/user/schemas/delete-user.schema.js +6 -0
  60. package/dist/esm/user/schemas/delete-user.schema.js.map +1 -0
  61. package/dist/esm/user/schemas/index.d.ts +4 -0
  62. package/dist/esm/user/schemas/index.d.ts.map +1 -0
  63. package/dist/esm/user/schemas/index.js +4 -0
  64. package/dist/esm/user/schemas/index.js.map +1 -0
  65. package/dist/esm/user/schemas/signup.schema.d.ts +12 -0
  66. package/dist/esm/user/schemas/signup.schema.d.ts.map +1 -0
  67. package/dist/esm/user/schemas/signup.schema.js +7 -0
  68. package/dist/esm/user/schemas/signup.schema.js.map +1 -0
  69. package/dist/esm/user/schemas/update-user.schema.d.ts +18 -0
  70. package/dist/esm/user/schemas/update-user.schema.d.ts.map +1 -0
  71. package/dist/esm/user/schemas/update-user.schema.js +11 -0
  72. package/dist/esm/user/schemas/update-user.schema.js.map +1 -0
  73. package/dist/esm/user/user.controller.d.ts +4 -3
  74. package/dist/esm/user/user.controller.d.ts.map +1 -1
  75. package/dist/esm/user/user.controller.js +1 -0
  76. package/dist/esm/user/user.controller.js.map +1 -1
  77. package/dist/esm/user/user.util.d.ts +3 -0
  78. package/dist/esm/user/user.util.d.ts.map +1 -0
  79. package/dist/esm/user/user.util.js +4 -0
  80. package/dist/esm/user/user.util.js.map +1 -0
  81. package/dist/esm/utils/index.d.ts +1 -0
  82. package/dist/esm/utils/index.d.ts.map +1 -1
  83. package/dist/esm/utils/index.js +1 -0
  84. package/dist/esm/utils/index.js.map +1 -1
  85. package/dist/esm/utils/schema.util.d.ts +11 -0
  86. package/dist/esm/utils/schema.util.d.ts.map +1 -0
  87. package/dist/esm/utils/schema.util.js +11 -0
  88. package/dist/esm/utils/schema.util.js.map +1 -0
  89. package/dist/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +4 -3
  91. package/src/types/index.ts +1 -0
  92. package/src/types/req.type.ts +5 -0
  93. package/src/user/index.ts +2 -0
  94. package/src/user/schemas/delete-user.schema.ts +7 -0
  95. package/src/user/schemas/index.ts +3 -0
  96. package/src/user/schemas/signup.schema.ts +8 -0
  97. package/src/user/schemas/update-user.schema.ts +12 -0
  98. package/src/user/user.controller.ts +4 -3
  99. package/src/user/user.util.ts +5 -0
  100. package/src/utils/index.ts +1 -0
  101. package/src/utils/schema.util.ts +11 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laboratory-one/api-components",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "API components for Laboratory One",
5
5
  "author": "Laboratory One",
6
6
  "private": false,
@@ -37,7 +37,7 @@
37
37
  "@nestjs/core": "10.3.9",
38
38
  "@nestjs/jwt": "10.2.0",
39
39
  "@nestjs/platform-express": "10.3.9",
40
- "@nestjs/schedule": "^4.1.0",
40
+ "@nestjs/schedule": "4.1.0",
41
41
  "@nestjs/swagger": "7.3.1",
42
42
  "@nestjs/terminus": "10.2.3",
43
43
  "@prisma/client": "5.15.1",
@@ -57,7 +57,8 @@
57
57
  "prisma": "5.15.1",
58
58
  "reflect-metadata": "0.2.2",
59
59
  "rxjs": "7.8.1",
60
- "stytch": "10.18.0"
60
+ "stytch": "10.18.0",
61
+ "zod": "3.23.8"
61
62
  },
62
63
  "devDependencies": {
63
64
  "@babel/core": "7.24.7",
@@ -1 +1,2 @@
1
1
  export * from './success.response.dto';
2
+ export * from './req.type';
@@ -0,0 +1,5 @@
1
+ export type reqType = {
2
+ user: {
3
+ userId: string;
4
+ };
5
+ };
package/src/user/index.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './dtos';
2
+ export * from './schemas';
2
3
  export * from './user.module';
3
4
  export * from './user.service';
4
5
  export * from './user.controller';
6
+ export * from './user.util';
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+
3
+ import { schemaPatterns } from '../../utils';
4
+
5
+ export const deleteUserSchema = z.object({
6
+ email: schemaPatterns.email,
7
+ });
@@ -0,0 +1,3 @@
1
+ export * from './signup.schema';
2
+ export * from './delete-user.schema';
3
+ export * from './update-user.schema';
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+
3
+ import { schemaPatterns } from '../../utils';
4
+
5
+ export const signupSchema = z.object({
6
+ email: schemaPatterns.email,
7
+ password: schemaPatterns.password,
8
+ });
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+
3
+ import { schemaPatterns } from '../../utils';
4
+
5
+ export const updateUserSchema = z
6
+ .object({
7
+ phoneNumber: schemaPatterns.phoneNumber,
8
+ fullName: schemaPatterns.fullName,
9
+ pushToken: schemaPatterns.pushToken,
10
+ tz: schemaPatterns.tz,
11
+ })
12
+ .partial();
@@ -27,6 +27,7 @@ import {
27
27
  utcOffsetToHours,
28
28
  } from '../utils';
29
29
  import { AuthGuard } from '../guard';
30
+ import * as types from '../types';
30
31
 
31
32
  @ApiTags('User')
32
33
  @Controller('user')
@@ -115,7 +116,7 @@ export class UserController {
115
116
  description: 'get self successful',
116
117
  type: GetUserResponseDto,
117
118
  })
118
- async getSelf(@Request() req): Promise<GetUserResponseDto> {
119
+ async getSelf(@Request() req: types.reqType): Promise<GetUserResponseDto> {
119
120
  try {
120
121
  const user: User = await this.userService.findOneByUserId(
121
122
  req.user.userId,
@@ -136,7 +137,7 @@ export class UserController {
136
137
  })
137
138
  async edit(
138
139
  @Body() dto: UpdateUserRequestDto,
139
- @Request() req,
140
+ @Request() req: types.reqType,
140
141
  ): Promise<GetUserResponseDto> {
141
142
  try {
142
143
  const cleanDto: UpdateUserRequestDto = {
@@ -173,7 +174,7 @@ export class UserController {
173
174
  status: 200,
174
175
  description: 'push test successful',
175
176
  })
176
- async pushTest(@Request() req): Promise<void> {
177
+ async pushTest(@Request() req: types.reqType): Promise<void> {
177
178
  try {
178
179
  const user: User = await this.userService.findOneByUserId(
179
180
  req.user.userId,
@@ -0,0 +1,5 @@
1
+ import { User } from '@prisma/client';
2
+
3
+ export const getPushTokens = (users: User[]): string[] => {
4
+ return users.map((user) => user.pushToken);
5
+ };
@@ -3,3 +3,4 @@ export * from './error.util';
3
3
  export * from './input.util';
4
4
  export * from './string.util';
5
5
  export * from './noop.util';
6
+ export * from './schema.util';
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+
3
+ export const schemaPatterns = {
4
+ email: z.string().email().max(100).min(1).toLowerCase().trim(),
5
+ password: z.string().min(10).max(100).trim(),
6
+ phoneNumber: z.string().min(7).max(20).trim(),
7
+ fullName: z.string().min(2).max(100).trim(),
8
+ pushToken: z.string().min(1).max(500).trim(),
9
+ tz: z.number().int().min(-10000).max(10000),
10
+ date: z.string().date(),
11
+ };