@ipetsadmin/contracts 1.1.9 → 1.2.0

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.
package/CHANGELOG.md CHANGED
@@ -19,6 +19,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
19
19
 
20
20
  ### Security
21
21
 
22
+ ## [1.2.0] - 2026-05-12
23
+
24
+ ### Added
25
+
26
+ - **Pet domain**:
27
+ - **`IPet`** entity: `name`, **`birthDate`**, **`breed`** (dog or cat), **`species`**, **`gender`**, **`ownerId`**, **`photos`**, and timestamps.
28
+ - **`IPetRepository`** port: `create`, **`findById`**, **`findByOwnerId`** (Mongo implementation in **`api-main`**; adapters can reuse the contract).
29
+ - **`CreatePetInput`**: payload for **`create`** (`src/types/auth/CreatePetInput.ts`).
30
+ - **Pet enums** (**`Gender`**, **`Species`**, **`DogBreed`**, **`CatBreed`**) under **`src/enums/`**, used by **`IPet`** and **`CreatePetInput`**.
31
+
22
32
  ## [1.1.9] - 2026-04-25
23
33
 
24
34
  ### Added
@@ -40,7 +50,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
40
50
 
41
51
  ## [1.1.7] - 2026-04-25
42
52
 
43
- ## Added
53
+ ### Added
44
54
 
45
55
  - **VerifyEmailRequest**: Add request type for be used in client function
46
56
 
package/dist/index.d.mts CHANGED
@@ -1,16 +1,6 @@
1
1
  import { Application } from 'express';
2
2
  import { Logger } from 'winston';
3
3
 
4
- declare enum HealthStatus {
5
- HEALTHY = "healthy",
6
- UNHEALTHY = "unhealthy"
7
- }
8
-
9
- type HealthCheck = {
10
- message: string;
11
- status?: HealthStatus;
12
- };
13
-
14
4
  declare enum AuthMethod {
15
5
  PASSWORD = "password",
16
6
  OAUTH = "oauth"
@@ -57,10 +47,115 @@ interface IUser {
57
47
  };
58
48
  };
59
49
  passwordHash?: string | null;
60
- createdAt: string;
61
- updatedAt: string;
50
+ createdAt: Date;
51
+ updatedAt: Date;
52
+ }
53
+
54
+ declare enum CatBreed {
55
+ PERSA = "Persa",
56
+ MAINE_COON = "Maine Coon",
57
+ SIAMES = "Siam\u00E9s",
58
+ RAGDOLL = "Ragdoll",
59
+ BENGALI = "Bengal\u00ED",
60
+ ESFINGE = "Esfinge (Sphynx)",
61
+ BRITISH_SHORTHAIR = "Brit\u00E1nico de pelo corto",
62
+ ABISINIO = "Abisinio",
63
+ SCOTTISH_FOLD = "Scottish Fold",
64
+ AZUL_RUSO = "Azul Ruso",
65
+ ANGORA_TURCO = "Angora Turco",
66
+ BOSQUE_DE_NORUEGA = "Bosque de Noruega",
67
+ EUROPEO_COMUN = "Europeo Com\u00FAn",
68
+ MESTIZO = "Mestizo"
62
69
  }
63
70
 
71
+ declare enum DogBreed {
72
+ LABRADOR_RETRIEVER = "Labrador Retriever",
73
+ GOLDEN_RETRIEVER = "Golden Retriever",
74
+ PASTOR_ALEMAN = "Pastor Alem\u00E1n",
75
+ BULLDOG_FRANCES = "Bulldog Franc\u00E9s",
76
+ BULLDOG_INGLES = "Bulldog Ingl\u00E9s",
77
+ CANICHE = "Caniche",
78
+ BEAGLE = "Beagle",
79
+ ROTTWEILER = "Rottweiler",
80
+ CHIHUAHUA = "Chihuahua",
81
+ PUG = "Pug",
82
+ HUSKY_SIBERIANO = "Husky Siberiano",
83
+ BOXER = "B\u00F3xer",
84
+ YORKSHIRE_TERRIER = "Yorkshire Terrier",
85
+ DALMATA = "D\u00E1lmata",
86
+ MESTIZO = "Mestizo"
87
+ }
88
+
89
+ declare enum Gender {
90
+ MALE = "Male",
91
+ FEMALE = "Female"
92
+ }
93
+
94
+ declare enum PetStatus {
95
+ ACTIVE = "active",
96
+ INACTIVE = "inactive",
97
+ SOLD = "sold",
98
+ ADOPTED = "adopted",
99
+ LOST = "lost",
100
+ FOUND = "found",
101
+ DECEASED = "deceased"
102
+ }
103
+
104
+ declare enum Species {
105
+ DOG = "Dog",
106
+ CAT = "Cat"
107
+ }
108
+
109
+ declare enum WeightUnit {
110
+ KG = "KG",
111
+ LB = "LB"
112
+ }
113
+
114
+ interface IAllergy {
115
+ name: string;
116
+ severity: number;
117
+ }
118
+ interface IBasePet {
119
+ id: string;
120
+ name: string;
121
+ birthDate: Date;
122
+ gender: Gender;
123
+ weight: number;
124
+ weightUnit: WeightUnit;
125
+ color: string;
126
+ isNeutered: boolean;
127
+ microchipId?: string;
128
+ microchipCompany?: string;
129
+ microchipNumber?: string;
130
+ microchipExpirationDate?: Date;
131
+ allergies: IAllergy[];
132
+ description: string;
133
+ status: PetStatus;
134
+ ownerId: string;
135
+ photos: string[];
136
+ createdAt: Date;
137
+ updatedAt: Date;
138
+ }
139
+ interface IDogPet extends IBasePet {
140
+ breed: DogBreed;
141
+ species: Species.DOG;
142
+ }
143
+ interface ICatPet extends IBasePet {
144
+ breed: CatBreed;
145
+ species: Species.CAT;
146
+ }
147
+ type IPet = IDogPet | ICatPet;
148
+
149
+ declare enum HealthStatus {
150
+ HEALTHY = "healthy",
151
+ UNHEALTHY = "unhealthy"
152
+ }
153
+
154
+ type HealthCheck = {
155
+ message: string;
156
+ status?: HealthStatus;
157
+ };
158
+
64
159
  type TokenPair = {
65
160
  readonly accessToken: string;
66
161
  readonly refreshToken: string;
@@ -119,6 +214,29 @@ type CreateUserInput = {
119
214
  readonly profile?: IUser['profile'];
120
215
  };
121
216
 
217
+ type CreatePetInput = {
218
+ name: string;
219
+ birthDate: Date;
220
+ breed: DogBreed | CatBreed;
221
+ species: Species;
222
+ gender: Gender;
223
+ weight: number;
224
+ weightUnit: WeightUnit;
225
+ color: string;
226
+ isNeutered: boolean;
227
+ microchipId?: string;
228
+ microchipCompany?: string;
229
+ microchipNumber?: string;
230
+ microchipExpirationDate?: Date;
231
+ allergies: IAllergy[];
232
+ description: string;
233
+ status: PetStatus;
234
+ ownerId: string;
235
+ photos: string[];
236
+ createdAt: Date;
237
+ updatedAt: Date;
238
+ };
239
+
122
240
  type Auth0UserProfile = {
123
241
  readonly sub: string;
124
242
  readonly email?: string;
@@ -260,6 +378,12 @@ interface IUserRepository {
260
378
  }, options?: RepositoryOperationOptions): Promise<void>;
261
379
  }
262
380
 
381
+ interface IPetRepository {
382
+ create(input: CreatePetInput, options?: RepositoryOperationOptions): Promise<IPet>;
383
+ findById(id: string, options?: RepositoryOperationOptions): Promise<IPet | null>;
384
+ findByOwnerId(ownerId: string, options?: RepositoryOperationOptions): Promise<IPet[]>;
385
+ }
386
+
263
387
  type RefreshTokenRecord = {
264
388
  readonly id: string;
265
389
  readonly userId: string;
@@ -347,6 +471,13 @@ interface IUserService {
347
471
  patchProfileForUserId(userId: string, input: PatchUserProfileInput, options?: RepositoryOperationOptions): Promise<UserProfileResponse>;
348
472
  }
349
473
 
474
+ type PetResponse = IPet;
475
+
476
+ interface IPetService {
477
+ getPetsByUserId(userId: string, options?: RepositoryOperationOptions): Promise<PetResponse[]>;
478
+ createPet(input: CreatePetInput, options?: RepositoryOperationOptions): Promise<PetResponse>;
479
+ }
480
+
350
481
  declare enum Errors {
351
482
  NOT_FOUND_ERROR = "NotFoundError",
352
483
  BUSINESS_ERROR = "BusinessError",
@@ -397,4 +528,4 @@ declare class UnauthorizedError extends BaseError {
397
528
  constructor(message: string, details?: Record<string, unknown>);
398
529
  }
399
530
 
400
- export { type Auth0AuthorizationParams, type Auth0UserProfile, AuthMethod, type AuthSessionResponse, type AuthUserResponse, BaseError, BusinessError, type CreateUserInput, type EmailAddress, EmailProvider, type EmailVerificationTokenRecord, Errors, ForbiddenError, type HealthCheck, HealthStatus, type IApiResponse, type IAuth0GoogleOAuthService, type IAuthService, type IConfig, type IEmailConfig, type IEmailProviderAdapter, type IEmailService, type IEmailVerificationConfig, type IEmailVerificationTokenRepository, type IJwtTokensService, type IOAuthStateRepository, type IPaginatedResponse, type IRefreshTokenRepository, type IServerInit, type IUser, type IUserRepository, type IUserService, type LoginRequest, type LogoutRequest, NotFoundError, type OAuthAccessTokenResult, type OAuthGoogleCallbackRequest, type OAuthGoogleStartQuery, type OAuthGoogleStartResponse, OAuthProvider, type OAuthStateRecord, type PatchUserProfileInput, type RefreshRequest, type RefreshTokenRecord, type RegisterRequest, type RepositoryOperationOptions, type SendEmailInput, type SendEmailResult, ServerError, type TokenPair, UnauthorizedError, type UserProfileResponse, UserRole, type VerifyEmailRequest };
531
+ export { type Auth0AuthorizationParams, type Auth0UserProfile, AuthMethod, type AuthSessionResponse, type AuthUserResponse, BaseError, BusinessError, CatBreed, type CreatePetInput, type CreateUserInput, DogBreed, type EmailAddress, EmailProvider, type EmailVerificationTokenRecord, Errors, ForbiddenError, Gender, type HealthCheck, HealthStatus, type IApiResponse, type IAuth0GoogleOAuthService, type IAuthService, type IConfig, type IEmailConfig, type IEmailProviderAdapter, type IEmailService, type IEmailVerificationConfig, type IEmailVerificationTokenRepository, type IJwtTokensService, type IOAuthStateRepository, type IPaginatedResponse, type IPet, type IPetRepository, type IPetService, type IRefreshTokenRepository, type IServerInit, type IUser, type IUserRepository, type IUserService, type LoginRequest, type LogoutRequest, NotFoundError, type OAuthAccessTokenResult, type OAuthGoogleCallbackRequest, type OAuthGoogleStartQuery, type OAuthGoogleStartResponse, OAuthProvider, type OAuthStateRecord, type PatchUserProfileInput, PetStatus, type RefreshRequest, type RefreshTokenRecord, type RegisterRequest, type RepositoryOperationOptions, type SendEmailInput, type SendEmailResult, ServerError, Species, type TokenPair, UnauthorizedError, type UserProfileResponse, UserRole, type VerifyEmailRequest, WeightUnit };
package/dist/index.d.ts CHANGED
@@ -1,16 +1,6 @@
1
1
  import { Application } from 'express';
2
2
  import { Logger } from 'winston';
3
3
 
4
- declare enum HealthStatus {
5
- HEALTHY = "healthy",
6
- UNHEALTHY = "unhealthy"
7
- }
8
-
9
- type HealthCheck = {
10
- message: string;
11
- status?: HealthStatus;
12
- };
13
-
14
4
  declare enum AuthMethod {
15
5
  PASSWORD = "password",
16
6
  OAUTH = "oauth"
@@ -57,10 +47,115 @@ interface IUser {
57
47
  };
58
48
  };
59
49
  passwordHash?: string | null;
60
- createdAt: string;
61
- updatedAt: string;
50
+ createdAt: Date;
51
+ updatedAt: Date;
52
+ }
53
+
54
+ declare enum CatBreed {
55
+ PERSA = "Persa",
56
+ MAINE_COON = "Maine Coon",
57
+ SIAMES = "Siam\u00E9s",
58
+ RAGDOLL = "Ragdoll",
59
+ BENGALI = "Bengal\u00ED",
60
+ ESFINGE = "Esfinge (Sphynx)",
61
+ BRITISH_SHORTHAIR = "Brit\u00E1nico de pelo corto",
62
+ ABISINIO = "Abisinio",
63
+ SCOTTISH_FOLD = "Scottish Fold",
64
+ AZUL_RUSO = "Azul Ruso",
65
+ ANGORA_TURCO = "Angora Turco",
66
+ BOSQUE_DE_NORUEGA = "Bosque de Noruega",
67
+ EUROPEO_COMUN = "Europeo Com\u00FAn",
68
+ MESTIZO = "Mestizo"
62
69
  }
63
70
 
71
+ declare enum DogBreed {
72
+ LABRADOR_RETRIEVER = "Labrador Retriever",
73
+ GOLDEN_RETRIEVER = "Golden Retriever",
74
+ PASTOR_ALEMAN = "Pastor Alem\u00E1n",
75
+ BULLDOG_FRANCES = "Bulldog Franc\u00E9s",
76
+ BULLDOG_INGLES = "Bulldog Ingl\u00E9s",
77
+ CANICHE = "Caniche",
78
+ BEAGLE = "Beagle",
79
+ ROTTWEILER = "Rottweiler",
80
+ CHIHUAHUA = "Chihuahua",
81
+ PUG = "Pug",
82
+ HUSKY_SIBERIANO = "Husky Siberiano",
83
+ BOXER = "B\u00F3xer",
84
+ YORKSHIRE_TERRIER = "Yorkshire Terrier",
85
+ DALMATA = "D\u00E1lmata",
86
+ MESTIZO = "Mestizo"
87
+ }
88
+
89
+ declare enum Gender {
90
+ MALE = "Male",
91
+ FEMALE = "Female"
92
+ }
93
+
94
+ declare enum PetStatus {
95
+ ACTIVE = "active",
96
+ INACTIVE = "inactive",
97
+ SOLD = "sold",
98
+ ADOPTED = "adopted",
99
+ LOST = "lost",
100
+ FOUND = "found",
101
+ DECEASED = "deceased"
102
+ }
103
+
104
+ declare enum Species {
105
+ DOG = "Dog",
106
+ CAT = "Cat"
107
+ }
108
+
109
+ declare enum WeightUnit {
110
+ KG = "KG",
111
+ LB = "LB"
112
+ }
113
+
114
+ interface IAllergy {
115
+ name: string;
116
+ severity: number;
117
+ }
118
+ interface IBasePet {
119
+ id: string;
120
+ name: string;
121
+ birthDate: Date;
122
+ gender: Gender;
123
+ weight: number;
124
+ weightUnit: WeightUnit;
125
+ color: string;
126
+ isNeutered: boolean;
127
+ microchipId?: string;
128
+ microchipCompany?: string;
129
+ microchipNumber?: string;
130
+ microchipExpirationDate?: Date;
131
+ allergies: IAllergy[];
132
+ description: string;
133
+ status: PetStatus;
134
+ ownerId: string;
135
+ photos: string[];
136
+ createdAt: Date;
137
+ updatedAt: Date;
138
+ }
139
+ interface IDogPet extends IBasePet {
140
+ breed: DogBreed;
141
+ species: Species.DOG;
142
+ }
143
+ interface ICatPet extends IBasePet {
144
+ breed: CatBreed;
145
+ species: Species.CAT;
146
+ }
147
+ type IPet = IDogPet | ICatPet;
148
+
149
+ declare enum HealthStatus {
150
+ HEALTHY = "healthy",
151
+ UNHEALTHY = "unhealthy"
152
+ }
153
+
154
+ type HealthCheck = {
155
+ message: string;
156
+ status?: HealthStatus;
157
+ };
158
+
64
159
  type TokenPair = {
65
160
  readonly accessToken: string;
66
161
  readonly refreshToken: string;
@@ -119,6 +214,29 @@ type CreateUserInput = {
119
214
  readonly profile?: IUser['profile'];
120
215
  };
121
216
 
217
+ type CreatePetInput = {
218
+ name: string;
219
+ birthDate: Date;
220
+ breed: DogBreed | CatBreed;
221
+ species: Species;
222
+ gender: Gender;
223
+ weight: number;
224
+ weightUnit: WeightUnit;
225
+ color: string;
226
+ isNeutered: boolean;
227
+ microchipId?: string;
228
+ microchipCompany?: string;
229
+ microchipNumber?: string;
230
+ microchipExpirationDate?: Date;
231
+ allergies: IAllergy[];
232
+ description: string;
233
+ status: PetStatus;
234
+ ownerId: string;
235
+ photos: string[];
236
+ createdAt: Date;
237
+ updatedAt: Date;
238
+ };
239
+
122
240
  type Auth0UserProfile = {
123
241
  readonly sub: string;
124
242
  readonly email?: string;
@@ -260,6 +378,12 @@ interface IUserRepository {
260
378
  }, options?: RepositoryOperationOptions): Promise<void>;
261
379
  }
262
380
 
381
+ interface IPetRepository {
382
+ create(input: CreatePetInput, options?: RepositoryOperationOptions): Promise<IPet>;
383
+ findById(id: string, options?: RepositoryOperationOptions): Promise<IPet | null>;
384
+ findByOwnerId(ownerId: string, options?: RepositoryOperationOptions): Promise<IPet[]>;
385
+ }
386
+
263
387
  type RefreshTokenRecord = {
264
388
  readonly id: string;
265
389
  readonly userId: string;
@@ -347,6 +471,13 @@ interface IUserService {
347
471
  patchProfileForUserId(userId: string, input: PatchUserProfileInput, options?: RepositoryOperationOptions): Promise<UserProfileResponse>;
348
472
  }
349
473
 
474
+ type PetResponse = IPet;
475
+
476
+ interface IPetService {
477
+ getPetsByUserId(userId: string, options?: RepositoryOperationOptions): Promise<PetResponse[]>;
478
+ createPet(input: CreatePetInput, options?: RepositoryOperationOptions): Promise<PetResponse>;
479
+ }
480
+
350
481
  declare enum Errors {
351
482
  NOT_FOUND_ERROR = "NotFoundError",
352
483
  BUSINESS_ERROR = "BusinessError",
@@ -397,4 +528,4 @@ declare class UnauthorizedError extends BaseError {
397
528
  constructor(message: string, details?: Record<string, unknown>);
398
529
  }
399
530
 
400
- export { type Auth0AuthorizationParams, type Auth0UserProfile, AuthMethod, type AuthSessionResponse, type AuthUserResponse, BaseError, BusinessError, type CreateUserInput, type EmailAddress, EmailProvider, type EmailVerificationTokenRecord, Errors, ForbiddenError, type HealthCheck, HealthStatus, type IApiResponse, type IAuth0GoogleOAuthService, type IAuthService, type IConfig, type IEmailConfig, type IEmailProviderAdapter, type IEmailService, type IEmailVerificationConfig, type IEmailVerificationTokenRepository, type IJwtTokensService, type IOAuthStateRepository, type IPaginatedResponse, type IRefreshTokenRepository, type IServerInit, type IUser, type IUserRepository, type IUserService, type LoginRequest, type LogoutRequest, NotFoundError, type OAuthAccessTokenResult, type OAuthGoogleCallbackRequest, type OAuthGoogleStartQuery, type OAuthGoogleStartResponse, OAuthProvider, type OAuthStateRecord, type PatchUserProfileInput, type RefreshRequest, type RefreshTokenRecord, type RegisterRequest, type RepositoryOperationOptions, type SendEmailInput, type SendEmailResult, ServerError, type TokenPair, UnauthorizedError, type UserProfileResponse, UserRole, type VerifyEmailRequest };
531
+ export { type Auth0AuthorizationParams, type Auth0UserProfile, AuthMethod, type AuthSessionResponse, type AuthUserResponse, BaseError, BusinessError, CatBreed, type CreatePetInput, type CreateUserInput, DogBreed, type EmailAddress, EmailProvider, type EmailVerificationTokenRecord, Errors, ForbiddenError, Gender, type HealthCheck, HealthStatus, type IApiResponse, type IAuth0GoogleOAuthService, type IAuthService, type IConfig, type IEmailConfig, type IEmailProviderAdapter, type IEmailService, type IEmailVerificationConfig, type IEmailVerificationTokenRepository, type IJwtTokensService, type IOAuthStateRepository, type IPaginatedResponse, type IPet, type IPetRepository, type IPetService, type IRefreshTokenRepository, type IServerInit, type IUser, type IUserRepository, type IUserService, type LoginRequest, type LogoutRequest, NotFoundError, type OAuthAccessTokenResult, type OAuthGoogleCallbackRequest, type OAuthGoogleStartQuery, type OAuthGoogleStartResponse, OAuthProvider, type OAuthStateRecord, type PatchUserProfileInput, PetStatus, type RefreshRequest, type RefreshTokenRecord, type RegisterRequest, type RepositoryOperationOptions, type SendEmailInput, type SendEmailResult, ServerError, Species, type TokenPair, UnauthorizedError, type UserProfileResponse, UserRole, type VerifyEmailRequest, WeightUnit };
package/dist/index.js CHANGED
@@ -52,6 +52,78 @@ var EmailProvider = /* @__PURE__ */ ((EmailProvider2) => {
52
52
  return EmailProvider2;
53
53
  })(EmailProvider || {});
54
54
 
55
+ // src/enums/species.ts
56
+ var Species = /* @__PURE__ */ ((Species2) => {
57
+ Species2["DOG"] = "Dog";
58
+ Species2["CAT"] = "Cat";
59
+ return Species2;
60
+ })(Species || {});
61
+
62
+ // src/enums/dog-breed.ts
63
+ var DogBreed = /* @__PURE__ */ ((DogBreed2) => {
64
+ DogBreed2["LABRADOR_RETRIEVER"] = "Labrador Retriever";
65
+ DogBreed2["GOLDEN_RETRIEVER"] = "Golden Retriever";
66
+ DogBreed2["PASTOR_ALEMAN"] = "Pastor Alem\xE1n";
67
+ DogBreed2["BULLDOG_FRANCES"] = "Bulldog Franc\xE9s";
68
+ DogBreed2["BULLDOG_INGLES"] = "Bulldog Ingl\xE9s";
69
+ DogBreed2["CANICHE"] = "Caniche";
70
+ DogBreed2["BEAGLE"] = "Beagle";
71
+ DogBreed2["ROTTWEILER"] = "Rottweiler";
72
+ DogBreed2["CHIHUAHUA"] = "Chihuahua";
73
+ DogBreed2["PUG"] = "Pug";
74
+ DogBreed2["HUSKY_SIBERIANO"] = "Husky Siberiano";
75
+ DogBreed2["BOXER"] = "B\xF3xer";
76
+ DogBreed2["YORKSHIRE_TERRIER"] = "Yorkshire Terrier";
77
+ DogBreed2["DALMATA"] = "D\xE1lmata";
78
+ DogBreed2["MESTIZO"] = "Mestizo";
79
+ return DogBreed2;
80
+ })(DogBreed || {});
81
+
82
+ // src/enums/cat-breed.ts
83
+ var CatBreed = /* @__PURE__ */ ((CatBreed2) => {
84
+ CatBreed2["PERSA"] = "Persa";
85
+ CatBreed2["MAINE_COON"] = "Maine Coon";
86
+ CatBreed2["SIAMES"] = "Siam\xE9s";
87
+ CatBreed2["RAGDOLL"] = "Ragdoll";
88
+ CatBreed2["BENGALI"] = "Bengal\xED";
89
+ CatBreed2["ESFINGE"] = "Esfinge (Sphynx)";
90
+ CatBreed2["BRITISH_SHORTHAIR"] = "Brit\xE1nico de pelo corto";
91
+ CatBreed2["ABISINIO"] = "Abisinio";
92
+ CatBreed2["SCOTTISH_FOLD"] = "Scottish Fold";
93
+ CatBreed2["AZUL_RUSO"] = "Azul Ruso";
94
+ CatBreed2["ANGORA_TURCO"] = "Angora Turco";
95
+ CatBreed2["BOSQUE_DE_NORUEGA"] = "Bosque de Noruega";
96
+ CatBreed2["EUROPEO_COMUN"] = "Europeo Com\xFAn";
97
+ CatBreed2["MESTIZO"] = "Mestizo";
98
+ return CatBreed2;
99
+ })(CatBreed || {});
100
+
101
+ // src/enums/gender.ts
102
+ var Gender = /* @__PURE__ */ ((Gender2) => {
103
+ Gender2["MALE"] = "Male";
104
+ Gender2["FEMALE"] = "Female";
105
+ return Gender2;
106
+ })(Gender || {});
107
+
108
+ // src/enums/pet-status.ts
109
+ var PetStatus = /* @__PURE__ */ ((PetStatus2) => {
110
+ PetStatus2["ACTIVE"] = "active";
111
+ PetStatus2["INACTIVE"] = "inactive";
112
+ PetStatus2["SOLD"] = "sold";
113
+ PetStatus2["ADOPTED"] = "adopted";
114
+ PetStatus2["LOST"] = "lost";
115
+ PetStatus2["FOUND"] = "found";
116
+ PetStatus2["DECEASED"] = "deceased";
117
+ return PetStatus2;
118
+ })(PetStatus || {});
119
+
120
+ // src/enums/weight-unit.ts
121
+ var WeightUnit = /* @__PURE__ */ ((WeightUnit2) => {
122
+ WeightUnit2["KG"] = "KG";
123
+ WeightUnit2["LB"] = "LB";
124
+ return WeightUnit2;
125
+ })(WeightUnit || {});
126
+
55
127
  // src/errors/BaseError.ts
56
128
  var BaseError = class extends Error {
57
129
  toErrorRecord() {
@@ -116,14 +188,20 @@ var UnauthorizedError = class _UnauthorizedError extends BaseError {
116
188
  exports.AuthMethod = AuthMethod;
117
189
  exports.BaseError = BaseError;
118
190
  exports.BusinessError = BusinessError;
191
+ exports.CatBreed = CatBreed;
192
+ exports.DogBreed = DogBreed;
119
193
  exports.EmailProvider = EmailProvider;
120
194
  exports.Errors = Errors;
121
195
  exports.ForbiddenError = ForbiddenError;
196
+ exports.Gender = Gender;
122
197
  exports.HealthStatus = HealthStatus;
123
198
  exports.NotFoundError = NotFoundError;
124
199
  exports.OAuthProvider = OAuthProvider;
200
+ exports.PetStatus = PetStatus;
125
201
  exports.ServerError = ServerError;
202
+ exports.Species = Species;
126
203
  exports.UnauthorizedError = UnauthorizedError;
127
204
  exports.UserRole = UserRole;
205
+ exports.WeightUnit = WeightUnit;
128
206
  //# sourceMappingURL=index.js.map
129
207
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/enums/errors.ts","../src/enums/health-status.ts","../src/enums/roles.ts","../src/enums/auth-method.ts","../src/enums/oauth-provider.ts","../src/enums/email-providers.ts","../src/errors/BaseError.ts","../src/errors/BusinessError.ts","../src/errors/ForbiddenError.ts","../src/errors/NotFoundError.ts","../src/errors/ServerError.ts","../src/errors/UnauthorizedError.ts"],"names":["Errors","HealthStatus","UserRole","AuthMethod","OAuthProvider","EmailProvider"],"mappings":"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","file":"index.js","sourcesContent":["export enum Errors {\n NOT_FOUND_ERROR = 'NotFoundError',\n BUSINESS_ERROR = 'BusinessError',\n FORBIDDEN_ERROR = 'ForbiddenError',\n SERVER_ERROR = 'ServerError',\n UNAUTHORIZED_ERROR = 'UnauthorizedError',\n BAD_REQUEST_ERROR = 'BadRequestError',\n UNPROCESSABLE_ENTITY_ERROR = 'UnprocessableEntityError',\n TOO_MANY_REQUESTS_ERROR = 'TooManyRequestsError',\n INTERNAL_SERVER_ERROR = 'InternalServerError',\n SERVICE_UNAVAILABLE_ERROR = 'ServiceUnavailableError',\n GATEWAY_TIMEOUT_ERROR = 'GatewayTimeoutError',\n BAD_GATEWAY_ERROR = 'BadGatewayError',\n PRECONDITION_FAILED_ERROR = 'PreconditionFailedError',\n PAYLOAD_TOO_LARGE_ERROR = 'PayloadTooLargeError',\n}\n","export enum HealthStatus {\n HEALTHY = 'healthy',\n UNHEALTHY = 'unhealthy',\n}\n","export enum UserRole {\n ADMIN = 'admin',\n USER = 'user',\n}\n","/**\n * How the user primarily authenticates. Switching methods is admin-only (future).\n */\nexport enum AuthMethod {\n PASSWORD = 'password',\n OAUTH = 'oauth',\n}\n","/**\n * OAuth identity provider (Auth0 connection / social). MVP: Google only; extend for Microsoft, GitHub, etc.\n */\nexport enum OAuthProvider {\n GOOGLE = 'google',\n}\n","export enum EmailProvider {\n RESEND = 'resend',\n}\n","export class BaseError extends Error {\n public details?: Record<string, unknown>;\n public toErrorRecord(): { error: string; details?: unknown } {\n const obj: { error: string; details?: unknown } = { error: this.message };\n if (this.details) {\n obj.details = this.details;\n }\n return obj;\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class BusinessError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.BUSINESS_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, BusinessError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ForbiddenError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.FORBIDDEN_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class NotFoundError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.NOT_FOUND_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ServerError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.SERVER_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class UnauthorizedError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.UNAUTHORIZED_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/enums/errors.ts","../src/enums/health-status.ts","../src/enums/roles.ts","../src/enums/auth-method.ts","../src/enums/oauth-provider.ts","../src/enums/email-providers.ts","../src/enums/species.ts","../src/enums/dog-breed.ts","../src/enums/cat-breed.ts","../src/enums/gender.ts","../src/enums/pet-status.ts","../src/enums/weight-unit.ts","../src/errors/BaseError.ts","../src/errors/BusinessError.ts","../src/errors/ForbiddenError.ts","../src/errors/NotFoundError.ts","../src/errors/ServerError.ts","../src/errors/UnauthorizedError.ts"],"names":["Errors","HealthStatus","UserRole","AuthMethod","OAuthProvider","EmailProvider","Species","DogBreed","CatBreed","Gender","PetStatus","WeightUnit"],"mappings":"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","file":"index.js","sourcesContent":["export enum Errors {\n NOT_FOUND_ERROR = 'NotFoundError',\n BUSINESS_ERROR = 'BusinessError',\n FORBIDDEN_ERROR = 'ForbiddenError',\n SERVER_ERROR = 'ServerError',\n UNAUTHORIZED_ERROR = 'UnauthorizedError',\n BAD_REQUEST_ERROR = 'BadRequestError',\n UNPROCESSABLE_ENTITY_ERROR = 'UnprocessableEntityError',\n TOO_MANY_REQUESTS_ERROR = 'TooManyRequestsError',\n INTERNAL_SERVER_ERROR = 'InternalServerError',\n SERVICE_UNAVAILABLE_ERROR = 'ServiceUnavailableError',\n GATEWAY_TIMEOUT_ERROR = 'GatewayTimeoutError',\n BAD_GATEWAY_ERROR = 'BadGatewayError',\n PRECONDITION_FAILED_ERROR = 'PreconditionFailedError',\n PAYLOAD_TOO_LARGE_ERROR = 'PayloadTooLargeError',\n}\n","export enum HealthStatus {\n HEALTHY = 'healthy',\n UNHEALTHY = 'unhealthy',\n}\n","export enum UserRole {\n ADMIN = 'admin',\n USER = 'user',\n}\n","/**\n * How the user primarily authenticates. Switching methods is admin-only (future).\n */\nexport enum AuthMethod {\n PASSWORD = 'password',\n OAUTH = 'oauth',\n}\n","/**\n * OAuth identity provider (Auth0 connection / social). MVP: Google only; extend for Microsoft, GitHub, etc.\n */\nexport enum OAuthProvider {\n GOOGLE = 'google',\n}\n","export enum EmailProvider {\n RESEND = 'resend',\n}\n","/**\n * Enum of the animal species admitted.\n */\nexport enum Species {\n DOG = 'Dog',\n CAT = 'Cat',\n}\n","/**\n * Enum of the most common dog breeds.\n */\nexport enum DogBreed {\n LABRADOR_RETRIEVER = 'Labrador Retriever',\n GOLDEN_RETRIEVER = 'Golden Retriever',\n PASTOR_ALEMAN = 'Pastor Alemán',\n BULLDOG_FRANCES = 'Bulldog Francés',\n BULLDOG_INGLES = 'Bulldog Inglés',\n CANICHE = 'Caniche',\n BEAGLE = 'Beagle',\n ROTTWEILER = 'Rottweiler',\n CHIHUAHUA = 'Chihuahua',\n PUG = 'Pug',\n HUSKY_SIBERIANO = 'Husky Siberiano',\n BOXER = 'Bóxer',\n YORKSHIRE_TERRIER = 'Yorkshire Terrier',\n DALMATA = 'Dálmata',\n MESTIZO = 'Mestizo', // Option for common or mixed dogs\n}\n","/**\n * Enum of the most common cat breeds.\n */\nexport enum CatBreed {\n PERSA = 'Persa',\n MAINE_COON = 'Maine Coon',\n SIAMES = 'Siamés',\n RAGDOLL = 'Ragdoll',\n BENGALI = 'Bengalí',\n ESFINGE = 'Esfinge (Sphynx)',\n BRITISH_SHORTHAIR = 'Británico de pelo corto',\n ABISINIO = 'Abisinio',\n SCOTTISH_FOLD = 'Scottish Fold',\n AZUL_RUSO = 'Azul Ruso',\n ANGORA_TURCO = 'Angora Turco',\n BOSQUE_DE_NORUEGA = 'Bosque de Noruega',\n EUROPEO_COMUN = 'Europeo Común',\n MESTIZO = 'Mestizo', // Option for common or mixed cats\n}\n","/**\n * Enum of the animal gender.\n */\nexport enum Gender {\n MALE = 'Male',\n FEMALE = 'Female',\n}\n","export enum PetStatus {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n SOLD = 'sold',\n ADOPTED = 'adopted',\n LOST = 'lost',\n FOUND = 'found',\n DECEASED = 'deceased',\n}\n","export enum WeightUnit {\n KG = 'KG',\n LB = 'LB',\n}\n","export class BaseError extends Error {\n public details?: Record<string, unknown>;\n public toErrorRecord(): { error: string; details?: unknown } {\n const obj: { error: string; details?: unknown } = { error: this.message };\n if (this.details) {\n obj.details = this.details;\n }\n return obj;\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class BusinessError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.BUSINESS_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, BusinessError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ForbiddenError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.FORBIDDEN_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class NotFoundError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.NOT_FOUND_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ServerError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.SERVER_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class UnauthorizedError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.UNAUTHORIZED_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n"]}
package/dist/index.mjs CHANGED
@@ -50,6 +50,78 @@ var EmailProvider = /* @__PURE__ */ ((EmailProvider2) => {
50
50
  return EmailProvider2;
51
51
  })(EmailProvider || {});
52
52
 
53
+ // src/enums/species.ts
54
+ var Species = /* @__PURE__ */ ((Species2) => {
55
+ Species2["DOG"] = "Dog";
56
+ Species2["CAT"] = "Cat";
57
+ return Species2;
58
+ })(Species || {});
59
+
60
+ // src/enums/dog-breed.ts
61
+ var DogBreed = /* @__PURE__ */ ((DogBreed2) => {
62
+ DogBreed2["LABRADOR_RETRIEVER"] = "Labrador Retriever";
63
+ DogBreed2["GOLDEN_RETRIEVER"] = "Golden Retriever";
64
+ DogBreed2["PASTOR_ALEMAN"] = "Pastor Alem\xE1n";
65
+ DogBreed2["BULLDOG_FRANCES"] = "Bulldog Franc\xE9s";
66
+ DogBreed2["BULLDOG_INGLES"] = "Bulldog Ingl\xE9s";
67
+ DogBreed2["CANICHE"] = "Caniche";
68
+ DogBreed2["BEAGLE"] = "Beagle";
69
+ DogBreed2["ROTTWEILER"] = "Rottweiler";
70
+ DogBreed2["CHIHUAHUA"] = "Chihuahua";
71
+ DogBreed2["PUG"] = "Pug";
72
+ DogBreed2["HUSKY_SIBERIANO"] = "Husky Siberiano";
73
+ DogBreed2["BOXER"] = "B\xF3xer";
74
+ DogBreed2["YORKSHIRE_TERRIER"] = "Yorkshire Terrier";
75
+ DogBreed2["DALMATA"] = "D\xE1lmata";
76
+ DogBreed2["MESTIZO"] = "Mestizo";
77
+ return DogBreed2;
78
+ })(DogBreed || {});
79
+
80
+ // src/enums/cat-breed.ts
81
+ var CatBreed = /* @__PURE__ */ ((CatBreed2) => {
82
+ CatBreed2["PERSA"] = "Persa";
83
+ CatBreed2["MAINE_COON"] = "Maine Coon";
84
+ CatBreed2["SIAMES"] = "Siam\xE9s";
85
+ CatBreed2["RAGDOLL"] = "Ragdoll";
86
+ CatBreed2["BENGALI"] = "Bengal\xED";
87
+ CatBreed2["ESFINGE"] = "Esfinge (Sphynx)";
88
+ CatBreed2["BRITISH_SHORTHAIR"] = "Brit\xE1nico de pelo corto";
89
+ CatBreed2["ABISINIO"] = "Abisinio";
90
+ CatBreed2["SCOTTISH_FOLD"] = "Scottish Fold";
91
+ CatBreed2["AZUL_RUSO"] = "Azul Ruso";
92
+ CatBreed2["ANGORA_TURCO"] = "Angora Turco";
93
+ CatBreed2["BOSQUE_DE_NORUEGA"] = "Bosque de Noruega";
94
+ CatBreed2["EUROPEO_COMUN"] = "Europeo Com\xFAn";
95
+ CatBreed2["MESTIZO"] = "Mestizo";
96
+ return CatBreed2;
97
+ })(CatBreed || {});
98
+
99
+ // src/enums/gender.ts
100
+ var Gender = /* @__PURE__ */ ((Gender2) => {
101
+ Gender2["MALE"] = "Male";
102
+ Gender2["FEMALE"] = "Female";
103
+ return Gender2;
104
+ })(Gender || {});
105
+
106
+ // src/enums/pet-status.ts
107
+ var PetStatus = /* @__PURE__ */ ((PetStatus2) => {
108
+ PetStatus2["ACTIVE"] = "active";
109
+ PetStatus2["INACTIVE"] = "inactive";
110
+ PetStatus2["SOLD"] = "sold";
111
+ PetStatus2["ADOPTED"] = "adopted";
112
+ PetStatus2["LOST"] = "lost";
113
+ PetStatus2["FOUND"] = "found";
114
+ PetStatus2["DECEASED"] = "deceased";
115
+ return PetStatus2;
116
+ })(PetStatus || {});
117
+
118
+ // src/enums/weight-unit.ts
119
+ var WeightUnit = /* @__PURE__ */ ((WeightUnit2) => {
120
+ WeightUnit2["KG"] = "KG";
121
+ WeightUnit2["LB"] = "LB";
122
+ return WeightUnit2;
123
+ })(WeightUnit || {});
124
+
53
125
  // src/errors/BaseError.ts
54
126
  var BaseError = class extends Error {
55
127
  toErrorRecord() {
@@ -111,6 +183,6 @@ var UnauthorizedError = class _UnauthorizedError extends BaseError {
111
183
  }
112
184
  };
113
185
 
114
- export { AuthMethod, BaseError, BusinessError, EmailProvider, Errors, ForbiddenError, HealthStatus, NotFoundError, OAuthProvider, ServerError, UnauthorizedError, UserRole };
186
+ export { AuthMethod, BaseError, BusinessError, CatBreed, DogBreed, EmailProvider, Errors, ForbiddenError, Gender, HealthStatus, NotFoundError, OAuthProvider, PetStatus, ServerError, Species, UnauthorizedError, UserRole, WeightUnit };
115
187
  //# sourceMappingURL=index.mjs.map
116
188
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/enums/errors.ts","../src/enums/health-status.ts","../src/enums/roles.ts","../src/enums/auth-method.ts","../src/enums/oauth-provider.ts","../src/enums/email-providers.ts","../src/errors/BaseError.ts","../src/errors/BusinessError.ts","../src/errors/ForbiddenError.ts","../src/errors/NotFoundError.ts","../src/errors/ServerError.ts","../src/errors/UnauthorizedError.ts"],"names":["Errors","HealthStatus","UserRole","AuthMethod","OAuthProvider","EmailProvider"],"mappings":";AAAO,IAAK,MAAA,qBAAAA,OAAAA,KAAL;AACL,EAAAA,QAAA,iBAAA,CAAA,GAAkB,eAAA;AAClB,EAAAA,QAAA,gBAAA,CAAA,GAAiB,eAAA;AACjB,EAAAA,QAAA,iBAAA,CAAA,GAAkB,gBAAA;AAClB,EAAAA,QAAA,cAAA,CAAA,GAAe,aAAA;AACf,EAAAA,QAAA,oBAAA,CAAA,GAAqB,mBAAA;AACrB,EAAAA,QAAA,mBAAA,CAAA,GAAoB,iBAAA;AACpB,EAAAA,QAAA,4BAAA,CAAA,GAA6B,0BAAA;AAC7B,EAAAA,QAAA,yBAAA,CAAA,GAA0B,sBAAA;AAC1B,EAAAA,QAAA,uBAAA,CAAA,GAAwB,qBAAA;AACxB,EAAAA,QAAA,2BAAA,CAAA,GAA4B,yBAAA;AAC5B,EAAAA,QAAA,uBAAA,CAAA,GAAwB,qBAAA;AACxB,EAAAA,QAAA,mBAAA,CAAA,GAAoB,iBAAA;AACpB,EAAAA,QAAA,2BAAA,CAAA,GAA4B,yBAAA;AAC5B,EAAAA,QAAA,yBAAA,CAAA,GAA0B,sBAAA;AAdhB,EAAA,OAAAA,OAAAA;AAAA,CAAA,EAAA,MAAA,IAAA,EAAA;;;ACAL,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACL,EAAAA,cAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,cAAA,WAAA,CAAA,GAAY,WAAA;AAFF,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACAL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACL,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AAFG,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA;;;ACGL,IAAK,UAAA,qBAAAC,WAAAA,KAAL;AACL,EAAAA,YAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,YAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;;;ACAL,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AACL,EAAAA,eAAA,QAAA,CAAA,GAAS,QAAA;AADC,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;ACHL,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AACL,EAAAA,eAAA,QAAA,CAAA,GAAS,QAAA;AADC,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;ACAL,IAAM,SAAA,GAAN,cAAwB,KAAA,CAAM;AAAA,EAE5B,aAAA,GAAsD;AAC3D,IAAA,MAAM,GAAA,GAA4C,EAAE,KAAA,EAAO,IAAA,CAAK,OAAA,EAAQ;AACxE,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,GAAA,CAAI,UAAU,IAAA,CAAK,OAAA;AAAA,IACrB;AACA,IAAA,OAAO,GAAA;AAAA,EACT;AACF;;;ACNO,IAAM,aAAA,GAAN,MAAM,cAAA,SAAsB,SAAA,CAAU;AAAA,EAEpC,WAAA,CAAY,SAAiB,OAAA,EAAmC;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAA,eAAA;AACL,IAAA,IAAA,CAAK,OAAA,GAAU,WAAW,EAAC;AAC3B,IAAA,MAAA,CAAO,cAAA,CAAe,IAAA,EAAM,cAAA,CAAc,SAAS,CAAA;AAAA,EACrD;AACF;;;ACRO,IAAM,cAAA,GAAN,MAAM,eAAA,SAAuB,SAAA,CAAU;AAAA,EAErC,WAAA,CAAY,SAAiB,OAAA,EAAmC;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAA,gBAAA;AACL,IAAA,IAAA,CAAK,OAAA,GAAU,WAAW,EAAC;AAC3B,IAAA,MAAA,CAAO,cAAA,CAAe,IAAA,EAAM,eAAA,CAAe,SAAS,CAAA;AAAA,EACtD;AACF;;;ACRO,IAAM,aAAA,GAAN,MAAM,cAAA,SAAsB,SAAA,CAAU;AAAA,EAEpC,WAAA,CAAY,SAAiB,OAAA,EAAmC;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAA,eAAA;AACL,IAAA,IAAA,CAAK,OAAA,GAAU,WAAW,EAAC;AAC3B,IAAA,MAAA,CAAO,cAAA,CAAe,IAAA,EAAM,cAAA,CAAc,SAAS,CAAA;AAAA,EACrD;AACF;;;ACRO,IAAM,WAAA,GAAN,MAAM,YAAA,SAAoB,SAAA,CAAU;AAAA,EAElC,WAAA,CAAY,SAAiB,OAAA,EAAmC;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAA,aAAA;AACL,IAAA,IAAA,CAAK,OAAA,GAAU,WAAW,EAAC;AAC3B,IAAA,MAAA,CAAO,cAAA,CAAe,IAAA,EAAM,YAAA,CAAY,SAAS,CAAA;AAAA,EACnD;AACF;;;ACRO,IAAM,iBAAA,GAAN,MAAM,kBAAA,SAA0B,SAAA,CAAU;AAAA,EAExC,WAAA,CAAY,SAAiB,OAAA,EAAmC;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAA,mBAAA;AACL,IAAA,IAAA,CAAK,OAAA,GAAU,WAAW,EAAC;AAC3B,IAAA,MAAA,CAAO,cAAA,CAAe,IAAA,EAAM,kBAAA,CAAkB,SAAS,CAAA;AAAA,EACzD;AACF","file":"index.mjs","sourcesContent":["export enum Errors {\n NOT_FOUND_ERROR = 'NotFoundError',\n BUSINESS_ERROR = 'BusinessError',\n FORBIDDEN_ERROR = 'ForbiddenError',\n SERVER_ERROR = 'ServerError',\n UNAUTHORIZED_ERROR = 'UnauthorizedError',\n BAD_REQUEST_ERROR = 'BadRequestError',\n UNPROCESSABLE_ENTITY_ERROR = 'UnprocessableEntityError',\n TOO_MANY_REQUESTS_ERROR = 'TooManyRequestsError',\n INTERNAL_SERVER_ERROR = 'InternalServerError',\n SERVICE_UNAVAILABLE_ERROR = 'ServiceUnavailableError',\n GATEWAY_TIMEOUT_ERROR = 'GatewayTimeoutError',\n BAD_GATEWAY_ERROR = 'BadGatewayError',\n PRECONDITION_FAILED_ERROR = 'PreconditionFailedError',\n PAYLOAD_TOO_LARGE_ERROR = 'PayloadTooLargeError',\n}\n","export enum HealthStatus {\n HEALTHY = 'healthy',\n UNHEALTHY = 'unhealthy',\n}\n","export enum UserRole {\n ADMIN = 'admin',\n USER = 'user',\n}\n","/**\n * How the user primarily authenticates. Switching methods is admin-only (future).\n */\nexport enum AuthMethod {\n PASSWORD = 'password',\n OAUTH = 'oauth',\n}\n","/**\n * OAuth identity provider (Auth0 connection / social). MVP: Google only; extend for Microsoft, GitHub, etc.\n */\nexport enum OAuthProvider {\n GOOGLE = 'google',\n}\n","export enum EmailProvider {\n RESEND = 'resend',\n}\n","export class BaseError extends Error {\n public details?: Record<string, unknown>;\n public toErrorRecord(): { error: string; details?: unknown } {\n const obj: { error: string; details?: unknown } = { error: this.message };\n if (this.details) {\n obj.details = this.details;\n }\n return obj;\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class BusinessError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.BUSINESS_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, BusinessError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ForbiddenError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.FORBIDDEN_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class NotFoundError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.NOT_FOUND_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ServerError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.SERVER_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class UnauthorizedError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.UNAUTHORIZED_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/enums/errors.ts","../src/enums/health-status.ts","../src/enums/roles.ts","../src/enums/auth-method.ts","../src/enums/oauth-provider.ts","../src/enums/email-providers.ts","../src/enums/species.ts","../src/enums/dog-breed.ts","../src/enums/cat-breed.ts","../src/enums/gender.ts","../src/enums/pet-status.ts","../src/enums/weight-unit.ts","../src/errors/BaseError.ts","../src/errors/BusinessError.ts","../src/errors/ForbiddenError.ts","../src/errors/NotFoundError.ts","../src/errors/ServerError.ts","../src/errors/UnauthorizedError.ts"],"names":["Errors","HealthStatus","UserRole","AuthMethod","OAuthProvider","EmailProvider","Species","DogBreed","CatBreed","Gender","PetStatus","WeightUnit"],"mappings":"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","file":"index.mjs","sourcesContent":["export enum Errors {\n NOT_FOUND_ERROR = 'NotFoundError',\n BUSINESS_ERROR = 'BusinessError',\n FORBIDDEN_ERROR = 'ForbiddenError',\n SERVER_ERROR = 'ServerError',\n UNAUTHORIZED_ERROR = 'UnauthorizedError',\n BAD_REQUEST_ERROR = 'BadRequestError',\n UNPROCESSABLE_ENTITY_ERROR = 'UnprocessableEntityError',\n TOO_MANY_REQUESTS_ERROR = 'TooManyRequestsError',\n INTERNAL_SERVER_ERROR = 'InternalServerError',\n SERVICE_UNAVAILABLE_ERROR = 'ServiceUnavailableError',\n GATEWAY_TIMEOUT_ERROR = 'GatewayTimeoutError',\n BAD_GATEWAY_ERROR = 'BadGatewayError',\n PRECONDITION_FAILED_ERROR = 'PreconditionFailedError',\n PAYLOAD_TOO_LARGE_ERROR = 'PayloadTooLargeError',\n}\n","export enum HealthStatus {\n HEALTHY = 'healthy',\n UNHEALTHY = 'unhealthy',\n}\n","export enum UserRole {\n ADMIN = 'admin',\n USER = 'user',\n}\n","/**\n * How the user primarily authenticates. Switching methods is admin-only (future).\n */\nexport enum AuthMethod {\n PASSWORD = 'password',\n OAUTH = 'oauth',\n}\n","/**\n * OAuth identity provider (Auth0 connection / social). MVP: Google only; extend for Microsoft, GitHub, etc.\n */\nexport enum OAuthProvider {\n GOOGLE = 'google',\n}\n","export enum EmailProvider {\n RESEND = 'resend',\n}\n","/**\n * Enum of the animal species admitted.\n */\nexport enum Species {\n DOG = 'Dog',\n CAT = 'Cat',\n}\n","/**\n * Enum of the most common dog breeds.\n */\nexport enum DogBreed {\n LABRADOR_RETRIEVER = 'Labrador Retriever',\n GOLDEN_RETRIEVER = 'Golden Retriever',\n PASTOR_ALEMAN = 'Pastor Alemán',\n BULLDOG_FRANCES = 'Bulldog Francés',\n BULLDOG_INGLES = 'Bulldog Inglés',\n CANICHE = 'Caniche',\n BEAGLE = 'Beagle',\n ROTTWEILER = 'Rottweiler',\n CHIHUAHUA = 'Chihuahua',\n PUG = 'Pug',\n HUSKY_SIBERIANO = 'Husky Siberiano',\n BOXER = 'Bóxer',\n YORKSHIRE_TERRIER = 'Yorkshire Terrier',\n DALMATA = 'Dálmata',\n MESTIZO = 'Mestizo', // Option for common or mixed dogs\n}\n","/**\n * Enum of the most common cat breeds.\n */\nexport enum CatBreed {\n PERSA = 'Persa',\n MAINE_COON = 'Maine Coon',\n SIAMES = 'Siamés',\n RAGDOLL = 'Ragdoll',\n BENGALI = 'Bengalí',\n ESFINGE = 'Esfinge (Sphynx)',\n BRITISH_SHORTHAIR = 'Británico de pelo corto',\n ABISINIO = 'Abisinio',\n SCOTTISH_FOLD = 'Scottish Fold',\n AZUL_RUSO = 'Azul Ruso',\n ANGORA_TURCO = 'Angora Turco',\n BOSQUE_DE_NORUEGA = 'Bosque de Noruega',\n EUROPEO_COMUN = 'Europeo Común',\n MESTIZO = 'Mestizo', // Option for common or mixed cats\n}\n","/**\n * Enum of the animal gender.\n */\nexport enum Gender {\n MALE = 'Male',\n FEMALE = 'Female',\n}\n","export enum PetStatus {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n SOLD = 'sold',\n ADOPTED = 'adopted',\n LOST = 'lost',\n FOUND = 'found',\n DECEASED = 'deceased',\n}\n","export enum WeightUnit {\n KG = 'KG',\n LB = 'LB',\n}\n","export class BaseError extends Error {\n public details?: Record<string, unknown>;\n public toErrorRecord(): { error: string; details?: unknown } {\n const obj: { error: string; details?: unknown } = { error: this.message };\n if (this.details) {\n obj.details = this.details;\n }\n return obj;\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class BusinessError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.BUSINESS_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, BusinessError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ForbiddenError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.FORBIDDEN_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class NotFoundError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.NOT_FOUND_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class ServerError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.SERVER_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","import { BaseError } from '@/errors/BaseError';\nimport { Errors } from '@/enums/errors';\n\nexport class UnauthorizedError extends BaseError {\n public details?: Record<string, unknown>;\n public constructor(message: string, details?: Record<string, unknown>) {\n super(message);\n this.name = Errors.UNAUTHORIZED_ERROR;\n this.details = details || {};\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ipetsadmin/contracts",
3
- "version": "1.1.9",
3
+ "version": "1.2.0",
4
4
  "description": "Shared types, enums, and interfaces for Truffa projects",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",