fix(swagger): typos and fixes

This commit is contained in:
Matthieu Haineault 2025-07-22 15:56:01 -04:00
parent bd954b5c87
commit 7b7b42780f
13 changed files with 112 additions and 113 deletions

View File

@ -1482,7 +1482,7 @@
}, },
"scopes": { "scopes": {
"example": "access tolkiens, email, etc... ", "example": "access tolkiens, email, etc... ",
"description": "scopes of infos needed for access", "description": "scopes of infos linked to the access token",
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string"
@ -1503,39 +1503,39 @@
"id": { "id": {
"type": "string", "type": "string",
"example": "cklwi0vb70000z2z20q6f19qk", "example": "cklwi0vb70000z2z20q6f19qk",
"description": "Identifiant unique du token OAuth (généré automatiquement)" "description": "Unique ID of an OAuth token (auto-generated)"
}, },
"user_id": { "user_id": {
"type": "string", "type": "string",
"example": "0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d", "example": "0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d",
"description": "UUID de lutilisateur auquel ce token appartient" "description": "UUID User`s unique identification number"
}, },
"application": { "application": {
"type": "string", "type": "string",
"example": "app.targo.ca", "example": "app.targo.ca",
"description": "Nom de lapplication ou domaine utilisant ce token" "description": "URL in which the access token is used for"
}, },
"access_token": { "access_token": {
"type": "string", "type": "string",
"example": "L5O6R4D3/O6F3#T8H4E3&R6I4N6G4S7", "example": "L5O6R4D3/O6F3#T8H4E3&R6I4N6G4S7",
"description": "Token daccès OAuth" "description": "Access token"
}, },
"refresh_token": { "refresh_token": {
"type": "string", "type": "string",
"example": "Th3731102h1p07Th3R1n92", "example": "Th3731102h1p07Th3R1n92",
"description": "Token de rafraîchissement OAuth" "description": "Refresh token"
}, },
"access_token_expiry": { "access_token_expiry": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3018-12-25T00:00:00.000Z", "example": "3018-12-25T00:00:00.000Z",
"description": "Date dexpiration du token daccès" "description": "Access token`s expiry date"
}, },
"refresh_token_expiry": { "refresh_token_expiry": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3019-02-26T00:00:00.000Z", "example": "3019-02-26T00:00:00.000Z",
"description": "Date dexpiration du token de rafraîchissement (optionnelle)" "description": "Refresh token`s expiry date (optional)"
}, },
"scopes": { "scopes": {
"example": [ "example": [
@ -1543,7 +1543,7 @@
"profile", "profile",
"access_tolkiens" "access_tolkiens"
], ],
"description": "Liste des autorisations/scopes liés à ce token", "description": "scopes of infos linked to the access token",
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string"
@ -1552,19 +1552,19 @@
"is_revoked": { "is_revoked": {
"type": "boolean", "type": "boolean",
"example": false, "example": false,
"description": "Indique si le token a été révoqué" "description": "revoke status"
}, },
"created_at": { "created_at": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "2025-07-22T08:44:00.000Z", "example": "2025-07-22",
"description": "Date de création du token" "description": "creation date"
}, },
"updated_at": { "updated_at": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "2025-07-23T08:44:00.000Z", "example": "2025-07-23",
"description": "Date de dernière mise à jour (optionnelle)" "description": "Latest update (optional)"
} }
}, },
"required": [ "required": [
@ -1615,7 +1615,7 @@
}, },
"scopes": { "scopes": {
"example": "access tolkiens, email, etc... ", "example": "access tolkiens, email, etc... ",
"description": "scopes of infos needed for access", "description": "scopes of infos linked to the access token",
"type": "array", "type": "array",
"items": { "items": {
"type": "string" "type": "string"
@ -1670,32 +1670,32 @@
"id": { "id": {
"type": "number", "type": "number",
"example": 1, "example": 1,
"description": "Identifiant unique du client (clé primaire auto-incrémentée)" "description": "Unique ID of a customer(primary-key, auto-incremented)"
}, },
"user_id": { "user_id": {
"type": "string", "type": "string",
"example": "0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d", "example": "0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d",
"description": "UUID de lutilisateur lié à ce client" "description": "UUID of the user linked to that customer"
}, },
"email": { "email": {
"type": "string", "type": "string",
"example": "you_shall_not_pass@middleEarth.com", "example": "you_shall_not_pass@middleEarth.com",
"description": "Adresse email du client (optionnelle)" "description": "customer`s email (optional)"
}, },
"phone_number": { "phone_number": {
"type": "number", "type": "number",
"example": 8436637464, "example": 8436637464,
"description": "Numéro de téléphone du client (chiffres seulement)" "description": "customer`s phone number (numbers only)"
}, },
"residence": { "residence": {
"type": "string", "type": "string",
"example": "1 Ringbearers way, Mount Doom city, ME, T1R 1N6", "example": "1 Ringbearers way, Mount Doom city, ME, T1R 1N6",
"description": "Adresse de résidence du client (optionnelle)" "description": "customer`s residence address (optional)"
}, },
"invoice_id": { "invoice_id": {
"type": "number", "type": "number",
"example": 4263253, "example": 4263253,
"description": "Numéro de facture lié à ce client (optionnel mais unique)" "description": "customer`s invoice number (optionnal, unique)"
} }
}, },
"required": [ "required": [
@ -1806,34 +1806,34 @@
"id": { "id": {
"type": "number", "type": "number",
"example": 1, "example": 1,
"description": "Identifiant unique de lemployé (clé primaire auto-incrémentée)" "description": "Unique ID of an employee(primary-key, auto-incremented)"
}, },
"user_id": { "user_id": {
"type": "string", "type": "string",
"example": "0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d", "example": "0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d",
"description": "UUID de lutilisateur lié à cet employé" "description": "UUID of the user linked to that employee"
}, },
"external_payroll_id": { "external_payroll_id": {
"type": "number", "type": "number",
"example": 7464, "example": 7464,
"description": "Identifiant externe dans le système de paie" "description": "external ID for the pay system"
}, },
"company_code": { "company_code": {
"type": "number", "type": "number",
"example": 335567447, "example": 335567447,
"description": "Code de la compagnie" "description": "company code"
}, },
"first_work_day": { "first_work_day": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3018-09-23T00:00:00.000Z", "example": "3018-09-23T00:00:00.000Z",
"description": "Date de début demploi" "description": "Employee first day at work"
}, },
"last_work_day": { "last_work_day": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3019-03-25T00:00:00.000Z", "example": "3019-03-25T00:00:00.000Z",
"description": "Date de fin demploi (optionnelle)" "description": "Employee last day at work"
} }
}, },
"required": [ "required": [
@ -1947,12 +1947,12 @@
"id": { "id": {
"type": "number", "type": "number",
"example": 1, "example": 1,
"description": "Identifiant unique de la requête de congé (auto-incrémenté)" "description": "Leave request`s unique id(auto-incremented)"
}, },
"employee_id": { "employee_id": {
"type": "number", "type": "number",
"example": 42, "example": 42,
"description": "Identifiant de lemployé concerné" "description": "ID of concerned employee"
}, },
"leave_type": { "leave_type": {
"type": "string", "type": "string",
@ -1965,24 +1965,24 @@
"PARENTAL", "PARENTAL",
"LEGAL" "LEGAL"
], ],
"description": "Type de congé demandé" "description": "type of leave request for an accounting perception"
}, },
"start_date_time": { "start_date_time": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "2463-06-22T00:00:00.000Z", "example": "22/06/2463",
"description": "Date de début du congé" "description": "Leave request`s start date"
}, },
"end_date_time": { "end_date_time": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3019-03-25T00:00:00.000Z", "example": "25/03/3019",
"description": "Date de fin du congé (facultative)" "description": "Leave request`s end date (optionnal)"
}, },
"comment": { "comment": {
"type": "string", "type": "string",
"example": "My precious", "example": "My precious",
"description": "Commentaire de lemployé lié à la demande" "description": "Leave request employee`s comment"
}, },
"approval_status": { "approval_status": {
"type": "string", "type": "string",
@ -1994,7 +1994,7 @@
"CANCELLED", "CANCELLED",
"ESCALATED" "ESCALATED"
], ],
"description": "Statut de validation de la demande" "description": "Leave request`s approval status"
} }
}, },
"required": [ "required": [
@ -2068,17 +2068,17 @@
"id": { "id": {
"type": "number", "type": "number",
"example": 1, "example": 1,
"description": "Identifiant unique du code de quart (généré automatiquement)" "description": "Unique ID of a shift-code (auto-generated)"
}, },
"shift_type": { "shift_type": {
"type": "string", "type": "string",
"example": "Night", "example": "Night",
"description": "Type de quart de travail pour perception comptable ou RH" "description": "Type of shifts for an account perception"
}, },
"bank_code": { "bank_code": {
"type": "string", "type": "string",
"example": "G2", "example": "G2",
"description": "Code bancaire ou budgétaire lié au quart de travail" "description": "bank`s code related to the type of shift"
} }
}, },
"required": [ "required": [
@ -2108,12 +2108,12 @@
"timesheet_id": { "timesheet_id": {
"type": "number", "type": "number",
"example": "Th3F3110w5h1pX2024", "example": "Th3F3110w5h1pX2024",
"description": "identification number for a set timesheet" "description": "ID number for a set timesheet"
}, },
"shift_code_id": { "shift_code_id": {
"type": "number", "type": "number",
"example": "0n3R1n962Ru13xX", "example": "0n3R1n962Ru13xX",
"description": "identification number for a shift code" "description": "ID number of a shift code (link with shift-codes)"
}, },
"date": { "date": {
"format": "date-time", "format": "date-time",
@ -2148,35 +2148,35 @@
"id": { "id": {
"type": "number", "type": "number",
"example": 1, "example": 1,
"description": "Identifiant unique du quart de travail (généré automatiquement)" "description": "Unique ID of the shift (auto-generated)"
}, },
"timesheet_id": { "timesheet_id": {
"type": "number", "type": "number",
"example": 101, "example": 101,
"description": "Identifiant de la feuille de temps à laquelle le quart est rattaché" "description": "ID number for a set timesheet"
}, },
"shift_code_id": { "shift_code_id": {
"type": "number", "type": "number",
"example": 7, "example": 7,
"description": "Identifiant du code de quart utilisé (lien avec ShiftCodes)" "description": "ID number of a shift code (link with shift-codes)"
}, },
"date": { "date": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3018-10-20T00:00:00.000Z", "example": "3018-10-20T00:00:00.000Z",
"description": "Date à laquelle le quart a lieu" "description": "Date where the shift takes place"
}, },
"start_time": { "start_time": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3018-10-20T08:00:00.000Z", "example": "3018-10-20T08:00:00.000Z",
"description": "Heure de début du quart" "description": "Start time of the said shift"
}, },
"end_time": { "end_time": {
"format": "date-time", "format": "date-time",
"type": "string", "type": "string",
"example": "3018-10-20T17:00:00.000Z", "example": "3018-10-20T17:00:00.000Z",
"description": "Heure de fin du quart" "description": "End time of the said shift"
} }
}, },
"required": [ "required": [
@ -2194,12 +2194,12 @@
"timesheet_id": { "timesheet_id": {
"type": "number", "type": "number",
"example": "Th3F3110w5h1pX2024", "example": "Th3F3110w5h1pX2024",
"description": "identification number for a set timesheet" "description": "ID number for a set timesheet"
}, },
"shift_code_id": { "shift_code_id": {
"type": "number", "type": "number",
"example": "0n3R1n962Ru13xX", "example": "0n3R1n962Ru13xX",
"description": "identification number for a shift code" "description": "ID number of a shift code (link with shift-codes)"
}, },
"date": { "date": {
"format": "date-time", "format": "date-time",
@ -2227,7 +2227,7 @@
"employee_id": { "employee_id": {
"type": "number", "type": "number",
"example": "426433", "example": "426433",
"description": "identification number of the employee" "description": "employee`s ID number of linked timsheet"
}, },
"is_approved": { "is_approved": {
"type": "boolean", "type": "boolean",
@ -2246,17 +2246,17 @@
"id": { "id": {
"type": "number", "type": "number",
"example": 1, "example": 1,
"description": "Identifiant unique de la feuille de temps (généré automatiquement)" "description": "timesheet`s unique ID (auto-generated)"
}, },
"employee_id": { "employee_id": {
"type": "number", "type": "number",
"example": 426433, "example": 426433,
"description": "Identifiant de lemployé associé à cette feuille de temps" "description": "employee`s ID number of linked timsheet"
}, },
"is_approved": { "is_approved": {
"type": "boolean", "type": "boolean",
"example": true, "example": true,
"description": "Statut dapprobation de la feuille de temps" "description": "Timesheet`s approval status"
} }
}, },
"required": [ "required": [
@ -2271,7 +2271,7 @@
"employee_id": { "employee_id": {
"type": "number", "type": "number",
"example": "426433", "example": "426433",
"description": "identification number of the employee" "description": "employee`s ID number of linked timsheet"
}, },
"is_approved": { "is_approved": {
"type": "boolean", "type": "boolean",

View File

@ -15,7 +15,6 @@ export class CreateCustomerDto {
example: 'Gandalf', example: 'Gandalf',
description: 'Customer`s first name', description: 'Customer`s first name',
}) })
@IsString() @IsString()
@IsNotEmpty() @IsNotEmpty()
first_name: string; first_name: string;

View File

@ -3,39 +3,39 @@ import { ApiProperty } from '@nestjs/swagger';
export class CustomerEntity { export class CustomerEntity {
@ApiProperty({ @ApiProperty({
example: 1, example: 1,
description: 'Identifiant unique du client (clé primaire auto-incrémentée)', description: 'Unique ID of a customer(primary-key, auto-incremented)',
}) })
id: number; id: number;
@ApiProperty({ @ApiProperty({
example: '0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d', example: '0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d',
description: 'UUID de lutilisateur lié à ce client', description: 'UUID of the user linked to that customer',
}) })
user_id: string; user_id: string;
@ApiProperty({ @ApiProperty({
example: 'you_shall_not_pass@middleEarth.com', example: 'you_shall_not_pass@middleEarth.com',
description: 'Adresse email du client (optionnelle)', description: 'customer`s email (optional)',
required: false, required: false,
}) })
email?: string; email?: string;
@ApiProperty({ @ApiProperty({
example: 8436637464, example: 8436637464,
description: 'Numéro de téléphone du client (chiffres seulement)', description: 'customer`s phone number (numbers only)',
}) })
phone_number: number; phone_number: number;
@ApiProperty({ @ApiProperty({
example: '1 Ringbearers way, Mount Doom city, ME, T1R 1N6', example: '1 Ringbearers way, Mount Doom city, ME, T1R 1N6',
description: 'Adresse de résidence du client (optionnelle)', description: 'customer`s residence address (optional)',
required: false, required: false,
}) })
residence?: string; residence?: string;
@ApiProperty({ @ApiProperty({
example: 4263253, example: 4263253,
description: 'Numéro de facture lié à ce client (optionnel mais unique)', description: 'customer`s invoice number (optionnal, unique)',
required: false, required: false,
}) })
invoice_id?: number; invoice_id?: number;

View File

@ -3,37 +3,37 @@ import { ApiProperty } from '@nestjs/swagger';
export class EmployeeEntity { export class EmployeeEntity {
@ApiProperty({ @ApiProperty({
example: 1, example: 1,
description: 'Identifiant unique de lemployé (clé primaire auto-incrémentée)', description: 'Unique ID of an employee(primary-key, auto-incremented)',
}) })
id: number; id: number;
@ApiProperty({ @ApiProperty({
example: '0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d', example: '0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d',
description: 'UUID de lutilisateur lié à cet employé', description: 'UUID of the user linked to that employee',
}) })
user_id: string; user_id: string;
@ApiProperty({ @ApiProperty({
example: 7464, example: 7464,
description: 'Identifiant externe dans le système de paie', description: 'external ID for the pay system',
}) })
external_payroll_id: number; external_payroll_id: number;
@ApiProperty({ @ApiProperty({
example: 335567447, example: 335567447,
description: 'Code de la compagnie', description: 'company code',
}) })
company_code: number; company_code: number;
@ApiProperty({ @ApiProperty({
example: '3018-09-23T00:00:00.000Z', example: '3018-09-23T00:00:00.000Z',
description: 'Date de début demploi', description: 'Employee first day at work',
}) })
first_work_day: Date; first_work_day: Date;
@ApiProperty({ @ApiProperty({
example: '3019-03-25T00:00:00.000Z', example: '3019-03-25T00:00:00.000Z',
description: 'Date de fin demploi (optionnelle)', description: 'Employee last day at work',
required: false, required: false,
}) })
last_work_day?: Date; last_work_day?: Date;

View File

@ -4,46 +4,46 @@ import { LeaveApprovalStatus, LeaveTypes } from '@prisma/client';
export class LeaveRequestEntity { export class LeaveRequestEntity {
@ApiProperty({ @ApiProperty({
example: 1, example: 1,
description: 'Identifiant unique de la requête de congé (auto-incrémenté)', description: 'Leave request`s unique id(auto-incremented)',
}) })
id: number; id: number;
@ApiProperty({ @ApiProperty({
example: 42, example: 42,
description: 'Identifiant de lemployé concerné', description: 'ID of concerned employee',
}) })
employee_id: number; employee_id: number;
@ApiProperty({ @ApiProperty({
example: 'SICK', example: 'SICK',
enum: LeaveTypes, enum: LeaveTypes,
description: 'Type de congé demandé', description: 'type of leave request for an accounting perception',
}) })
leave_type: LeaveTypes; leave_type: LeaveTypes;
@ApiProperty({ @ApiProperty({
example: '2463-06-22T00:00:00.000Z', example: '22/06/2463',
description: 'Date de début du congé', description: 'Leave request`s start date',
}) })
start_date_time: Date; start_date_time: Date;
@ApiProperty({ @ApiProperty({
example: '3019-03-25T00:00:00.000Z', example: '25/03/3019',
description: 'Date de fin du congé (facultative)', description: 'Leave request`s end date (optionnal)',
required: false, required: false,
}) })
end_date_time?: Date; end_date_time?: Date;
@ApiProperty({ @ApiProperty({
example: 'My precious', example: 'My precious',
description: 'Commentaire de lemployé lié à la demande', description: 'Leave request employee`s comment',
}) })
comment: string; comment: string;
@ApiProperty({ @ApiProperty({
example: 'PENDING', example: 'PENDING',
enum: LeaveApprovalStatus, enum: LeaveApprovalStatus,
description: 'Statut de validation de la demande', description: 'Leave request`s approval status',
}) })
approval_status: LeaveApprovalStatus; approval_status: LeaveApprovalStatus;
} }

View File

@ -52,7 +52,7 @@ export class CreateOauthAccessTokenDto {
@ApiProperty({ @ApiProperty({
example: 'access tolkiens, email, etc... ', example: 'access tolkiens, email, etc... ',
description: 'scopes of infos needed for access', description: 'scopes of infos linked to the access token',
required: false, required: false,
}) })
@IsArray() @IsArray()

View File

@ -3,69 +3,69 @@ import { ApiProperty } from '@nestjs/swagger';
export class OAuthAccessTokenEntity { export class OAuthAccessTokenEntity {
@ApiProperty({ @ApiProperty({
example: 'cklwi0vb70000z2z20q6f19qk', example: 'cklwi0vb70000z2z20q6f19qk',
description: 'Identifiant unique du token OAuth (généré automatiquement)', description: 'Unique ID of an OAuth token (auto-generated)',
}) })
id: string; id: string;
@ApiProperty({ @ApiProperty({
example: '0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d', example: '0e6e2e1f-b157-4c7c-ae3f-999b3e4f914d',
description: 'UUID de lutilisateur auquel ce token appartient', description: 'UUID User`s unique identification number',
}) })
user_id: string; user_id: string;
@ApiProperty({ @ApiProperty({
example: 'app.targo.ca', example: 'app.targo.ca',
description: 'Nom de lapplication ou domaine utilisant ce token', description: 'URL in which the access token is used for',
}) })
application: string; application: string;
@ApiProperty({ @ApiProperty({
example: 'L5O6R4D3/O6F3#T8H4E3&R6I4N6G4S7', example: 'L5O6R4D3/O6F3#T8H4E3&R6I4N6G4S7',
description: 'Token daccès OAuth', description: 'Access token',
}) })
access_token: string; access_token: string;
@ApiProperty({ @ApiProperty({
example: 'Th3731102h1p07Th3R1n92', example: 'Th3731102h1p07Th3R1n92',
description: 'Token de rafraîchissement OAuth', description: 'Refresh token',
}) })
refresh_token: string; refresh_token: string;
@ApiProperty({ @ApiProperty({
example: '3018-12-25T00:00:00.000Z', example: '3018-12-25T00:00:00.000Z',
description: 'Date dexpiration du token daccès', description: 'Access token`s expiry date',
}) })
access_token_expiry: Date; access_token_expiry: Date;
@ApiProperty({ @ApiProperty({
example: '3019-02-26T00:00:00.000Z', example: '3019-02-26T00:00:00.000Z',
description: 'Date dexpiration du token de rafraîchissement (optionnelle)', description: 'Refresh token`s expiry date (optional)',
required: false, required: false,
}) })
refresh_token_expiry?: Date; refresh_token_expiry?: Date;
@ApiProperty({ @ApiProperty({
example: ['email', 'profile', 'access_tolkiens'], example: ['email', 'profile', 'access_tolkiens'],
description: 'Liste des autorisations/scopes liés à ce token', description: 'scopes of infos linked to the access token',
required: false, required: false,
}) })
scopes: string[]; scopes: string[];
@ApiProperty({ @ApiProperty({
example: false, example: false,
description: 'Indique si le token a été révoqué', description: 'revoke status',
}) })
is_revoked: boolean; is_revoked: boolean;
@ApiProperty({ @ApiProperty({
example: '2025-07-22T08:44:00.000Z', example: '2025-07-22',
description: 'Date de création du token', description: 'creation date',
}) })
created_at: Date; created_at: Date;
@ApiProperty({ @ApiProperty({
example: '2025-07-23T08:44:00.000Z', example: '2025-07-23',
description: 'Date de dernière mise à jour (optionnelle)', description: 'Latest update (optional)',
required: false, required: false,
}) })
updated_at?: Date; updated_at?: Date;

View File

@ -3,19 +3,19 @@ import { ApiProperty } from '@nestjs/swagger';
export class ShiftCodesEntity { export class ShiftCodesEntity {
@ApiProperty({ @ApiProperty({
example: 1, example: 1,
description: 'Identifiant unique du code de quart (généré automatiquement)', description: 'Unique ID of a shift-code (auto-generated)',
}) })
id: number; id: number;
@ApiProperty({ @ApiProperty({
example: 'Night', example: 'Night',
description: 'Type de quart de travail pour perception comptable ou RH', description: 'Type of shifts for an account perception',
}) })
shift_type: string; shift_type: string;
@ApiProperty({ @ApiProperty({
example: 'G2', example: 'G2',
description: 'Code bancaire ou budgétaire lié au quart de travail', description: 'bank`s code related to the type of shift',
}) })
bank_code: string; bank_code: string;
} }

View File

@ -6,7 +6,7 @@ export class CreateShiftDto {
@ApiProperty({ @ApiProperty({
example: 'Th3F3110w5h1pX2024', example: 'Th3F3110w5h1pX2024',
description: 'identification number for a set timesheet', description: 'ID number for a set timesheet',
}) })
@Type(() => Number) @Type(() => Number)
@IsInt() @IsInt()
@ -14,7 +14,7 @@ export class CreateShiftDto {
@ApiProperty({ @ApiProperty({
example: '0n3R1n962Ru13xX', example: '0n3R1n962Ru13xX',
description: 'identification number for a shift code', description: 'ID number of a shift code (link with shift-codes)',
}) })
@Type(() => Number) @Type(() => Number)
@IsInt() @IsInt()

View File

@ -3,37 +3,37 @@ import { ApiProperty } from '@nestjs/swagger';
export class ShiftEntity { export class ShiftEntity {
@ApiProperty({ @ApiProperty({
example: 1, example: 1,
description: 'Identifiant unique du quart de travail (généré automatiquement)', description: 'Unique ID of the shift (auto-generated)',
}) })
id: number; id: number;
@ApiProperty({ @ApiProperty({
example: 101, example: 101,
description: 'Identifiant de la feuille de temps à laquelle le quart est rattaché', description: 'ID number for a set timesheet',
}) })
timesheet_id: number; timesheet_id: number;
@ApiProperty({ @ApiProperty({
example: 7, example: 7,
description: 'Identifiant du code de quart utilisé (lien avec ShiftCodes)', description: 'ID number of a shift code (link with shift-codes)',
}) })
shift_code_id: number; shift_code_id: number;
@ApiProperty({ @ApiProperty({
example: '3018-10-20T00:00:00.000Z', example: '3018-10-20T00:00:00.000Z',
description: 'Date à laquelle le quart a lieu', description: 'Date where the shift takes place',
}) })
date: Date; date: Date;
@ApiProperty({ @ApiProperty({
example: '3018-10-20T08:00:00.000Z', example: '3018-10-20T08:00:00.000Z',
description: 'Heure de début du quart', description: 'Start time of the said shift',
}) })
start_time: Date; start_time: Date;
@ApiProperty({ @ApiProperty({
example: '3018-10-20T17:00:00.000Z', example: '3018-10-20T17:00:00.000Z',
description: 'Heure de fin du quart', description: 'End time of the said shift',
}) })
end_time: Date; end_time: Date;
} }

View File

@ -6,7 +6,7 @@ export class CreateTimesheetDto {
@ApiProperty({ @ApiProperty({
example: '426433', example: '426433',
description: 'identification number of the employee', description: 'employee`s ID number of linked timsheet',
}) })
@Type(() => Number) @Type(() => Number)
@IsInt() @IsInt()

View File

@ -3,19 +3,19 @@ import { ApiProperty } from '@nestjs/swagger';
export class TimesheetEntity { export class TimesheetEntity {
@ApiProperty({ @ApiProperty({
example: 1, example: 1,
description: 'Identifiant unique de la feuille de temps (généré automatiquement)', description: 'timesheet`s unique ID (auto-generated)',
}) })
id: number; id: number;
@ApiProperty({ @ApiProperty({
example: 426433, example: 426433,
description: 'Identifiant de lemployé associé à cette feuille de temps', description: 'employee`s ID number of linked timsheet',
}) })
employee_id: number; employee_id: number;
@ApiProperty({ @ApiProperty({
example: true, example: true,
description: 'Statut dapprobation de la feuille de temps', description: 'Timesheet`s approval status',
}) })
is_approved: boolean; is_approved: boolean;
} }

View File

@ -4,37 +4,37 @@ import { Roles } from '@prisma/client';
export class UserEntity { export class UserEntity {
@ApiProperty({ @ApiProperty({
example: 'd67f05be-6dd1-464f-b5f7-31b325e21b4a', example: 'd67f05be-6dd1-464f-b5f7-31b325e21b4a',
description: 'UUID unique de lutilisateur (clé primaire)', description: 'User`s unique UUID (primary key)',
}) })
id: string; id: string;
@ApiProperty({ @ApiProperty({
example: 'Aragorn', example: 'Aragorn',
description: 'Prénom de lutilisateur', description: 'user`s first name',
}) })
first_name: string; first_name: string;
@ApiProperty({ @ApiProperty({
example: 'Elessar', example: 'Elessar',
description: 'Nom de famille de lutilisateur', description: 'user`s last name',
}) })
last_name: string; last_name: string;
@ApiProperty({ @ApiProperty({
example: 'king@arnor-gondor.gov', example: 'king@arnor-gondor.gov',
description: 'Adresse courriel unique', description: 'Unique email address',
}) })
email: string; email: string;
@ApiProperty({ @ApiProperty({
example: 5141234567, example: 5141234567,
description: 'Numéro de téléphone unique', description: 'Unique phone number',
}) })
phone_number: number; phone_number: number;
@ApiProperty({ @ApiProperty({
example: 'Minas Tirith, Gondor', example: 'Minas Tirith, Gondor',
description: 'Adresse de résidence (facultative)', description: 'residence address (optional)',
required: false, required: false,
}) })
residence?: string; residence?: string;
@ -42,7 +42,7 @@ export class UserEntity {
@ApiProperty({ @ApiProperty({
example: 'EMPLOYEE', example: 'EMPLOYEE',
enum: Roles, enum: Roles,
description: 'Rôle attribué à lutilisateur', description: 'User`s given role',
}) })
role: Roles; role: Roles;
} }