tychat-contracts 1.0.82 → 1.0.84

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.
@@ -34,7 +34,7 @@ __decorate([
34
34
  ], AvailableSlotsQueryDto.prototype, "procedureIds", void 0);
35
35
  __decorate([
36
36
  (0, swagger_1.ApiPropertyOptional)({
37
- description: 'ID do profissional de saúde (UUID v4). Quando informado, os horários serão calculados apenas para este profissional.',
37
+ description: 'ID do profissional de saúde (UUID v4). Quando informado, os horários são calculados para esse profissional. Quando omitido, retorna um grupo por profissional que possua pelo menos um dos procedimentos em `procedureIds` no perfil.',
38
38
  example: '550e8400-e29b-41d4-a716-446655440001',
39
39
  }),
40
40
  (0, class_validator_1.IsOptional)(),
@@ -12,12 +12,13 @@ export declare class AvailableSlotsProcedureItemDto {
12
12
  slots: AvailableSlotsProcedureMonthDto[];
13
13
  }
14
14
  export declare class AvailableSlotsProfessionalNameDto {
15
+ id: string;
15
16
  name: string;
16
17
  }
17
18
  export declare class AvailableSlotsProfessionalItemDto {
18
19
  professional: AvailableSlotsProfessionalNameDto;
19
20
  procedures: AvailableSlotsProcedureItemDto[];
20
21
  }
21
- /** Resposta de GET available-slots: array com um elemento (profissional + procedimentos). */
22
+ /** Resposta de GET available-slots: um item por profissional (cada um com procedimentos e slots). */
22
23
  export type AvailableSlotsGroupedResponseDto = AvailableSlotsProfessionalItemDto[];
23
24
  //# sourceMappingURL=available-slots-response.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"available-slots-response.dto.d.ts","sourceRoot":"","sources":["../../src/appointments/available-slots-response.dto.ts"],"names":[],"mappings":"AAaA,wDAAwD;AACxD,qBAAa,yBAAyB;IAQpC,GAAG,EAAE,MAAM,CAAC;IASZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,qBAAa,+BAA+B;IAQ1C,KAAK,EAAE,MAAM,CAAC;IASd,IAAI,EAAE,yBAAyB,EAAE,CAAC;CACnC;AAED,qBAAa,8BAA8B;IAOzC,IAAI,EAAE,MAAM,CAAC;IASb,KAAK,EAAE,+BAA+B,EAAE,CAAC;CAC1C;AAED,qBAAa,iCAAiC;IAM5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,iCAAiC;IAI5C,YAAY,EAAE,iCAAiC,CAAC;IAShD,UAAU,EAAE,8BAA8B,EAAE,CAAC;CAC9C;AAED,6FAA6F;AAC7F,MAAM,MAAM,gCAAgC,GAAG,iCAAiC,EAAE,CAAC"}
1
+ {"version":3,"file":"available-slots-response.dto.d.ts","sourceRoot":"","sources":["../../src/appointments/available-slots-response.dto.ts"],"names":[],"mappings":"AAcA,wDAAwD;AACxD,qBAAa,yBAAyB;IAQpC,GAAG,EAAE,MAAM,CAAC;IASZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,qBAAa,+BAA+B;IAQ1C,KAAK,EAAE,MAAM,CAAC;IASd,IAAI,EAAE,yBAAyB,EAAE,CAAC;CACnC;AAED,qBAAa,8BAA8B;IAOzC,IAAI,EAAE,MAAM,CAAC;IASb,KAAK,EAAE,+BAA+B,EAAE,CAAC;CAC1C;AAED,qBAAa,iCAAiC;IAM5C,EAAE,EAAE,MAAM,CAAC;IAOX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,iCAAiC;IAI5C,YAAY,EAAE,iCAAiC,CAAC;IAShD,UAAU,EAAE,8BAA8B,EAAE,CAAC;CAC9C;AAED,qGAAqG;AACrG,MAAM,MAAM,gCAAgC,GAAG,iCAAiC,EAAE,CAAC"}
@@ -89,12 +89,21 @@ __decorate([
89
89
  __metadata("design:type", Array)
90
90
  ], AvailableSlotsProcedureItemDto.prototype, "slots", void 0);
91
91
  class AvailableSlotsProfessionalNameDto {
92
+ id;
92
93
  name;
93
94
  }
94
95
  exports.AvailableSlotsProfessionalNameDto = AvailableSlotsProfessionalNameDto;
95
96
  __decorate([
96
97
  (0, swagger_1.ApiProperty)({
97
- description: 'Nome do profissional (vazio ou “Clínica” quando não filtrado por profissional)',
98
+ description: 'ID do usuário (profissional de saúde), UUID v4',
99
+ example: '550e8400-e29b-41d4-a716-446655440001',
100
+ }),
101
+ (0, class_validator_1.IsUUID)('4'),
102
+ __metadata("design:type", String)
103
+ ], AvailableSlotsProfessionalNameDto.prototype, "id", void 0);
104
+ __decorate([
105
+ (0, swagger_1.ApiProperty)({
106
+ description: 'Nome de exibição do profissional',
98
107
  example: 'Dr. João Silva',
99
108
  }),
100
109
  (0, class_validator_1.IsString)(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tychat-contracts",
3
- "version": "1.0.82",
3
+ "version": "1.0.84",
4
4
  "description": "DTOs compartilhados com class-validator (API e microserviços)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,7 +23,7 @@ export class AvailableSlotsQueryDto {
23
23
 
24
24
  @ApiPropertyOptional({
25
25
  description:
26
- 'ID do profissional de saúde (UUID v4). Quando informado, os horários serão calculados apenas para este profissional.',
26
+ 'ID do profissional de saúde (UUID v4). Quando informado, os horários são calculados para esse profissional. Quando omitido, retorna um grupo por profissional que possua pelo menos um dos procedimentos em `procedureIds` no perfil.',
27
27
  example: '550e8400-e29b-41d4-a716-446655440001',
28
28
  })
29
29
  @IsOptional()
@@ -4,6 +4,7 @@ import {
4
4
  IsInt,
5
5
  IsNotEmpty,
6
6
  IsString,
7
+ IsUUID,
7
8
  Matches,
8
9
  Min,
9
10
  Max,
@@ -73,7 +74,14 @@ export class AvailableSlotsProcedureItemDto {
73
74
 
74
75
  export class AvailableSlotsProfessionalNameDto {
75
76
  @ApiProperty({
76
- description: 'Nome do profissional (vazio ou “Clínica” quando não filtrado por profissional)',
77
+ description: 'ID do usuário (profissional de saúde), UUID v4',
78
+ example: '550e8400-e29b-41d4-a716-446655440001',
79
+ })
80
+ @IsUUID('4')
81
+ id: string;
82
+
83
+ @ApiProperty({
84
+ description: 'Nome de exibição do profissional',
77
85
  example: 'Dr. João Silva',
78
86
  })
79
87
  @IsString()
@@ -96,5 +104,5 @@ export class AvailableSlotsProfessionalItemDto {
96
104
  procedures: AvailableSlotsProcedureItemDto[];
97
105
  }
98
106
 
99
- /** Resposta de GET available-slots: array com um elemento (profissional + procedimentos). */
107
+ /** Resposta de GET available-slots: um item por profissional (cada um com procedimentos e slots). */
100
108
  export type AvailableSlotsGroupedResponseDto = AvailableSlotsProfessionalItemDto[];