aivilife-contracts 1.0.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/README.md ADDED
@@ -0,0 +1,73 @@
1
+ # Aivilife Contracts
2
+
3
+ Shared TypeScript contracts and Zod schemas for Aivilife project.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install aivilife-contracts zod
9
+ # or
10
+ yarn add aivilife-contracts zod
11
+ # or
12
+ pnpm add aivilife-contracts zod
13
+ ```
14
+
15
+ **Important:** This package requires `zod` as a peer dependency.
16
+
17
+ ## Usage
18
+
19
+ ### Backend (NestJS)
20
+
21
+ ```typescript
22
+ import { SignInRequest, SignInRequestSchema } from 'aivilife-contracts';
23
+ import { createZodDto } from 'nestjs-zod';
24
+
25
+ // Create DTO for OpenAPI
26
+ export class SignInDto extends createZodDto(SignInRequestSchema) {}
27
+
28
+ // Use types
29
+ const credentials: SignInRequest = {
30
+ login: 'user@example.com',
31
+ password: 'password123'
32
+ };
33
+ ```
34
+
35
+ ### Frontend (React/Vue/etc)
36
+
37
+ ```typescript
38
+ import { SignInRequestSchema, type SignInRequest } from 'aivilife-contracts';
39
+
40
+ // Validate data
41
+ const result = SignInRequestSchema.safeParse(formData);
42
+ if (result.success) {
43
+ console.log(result.data);
44
+ }
45
+
46
+ // Use types
47
+ const credentials: SignInRequest = {
48
+ login: 'user@example.com',
49
+ password: 'password123'
50
+ };
51
+ ```
52
+
53
+ ## Available Contracts
54
+
55
+ ### Auth
56
+
57
+ ```typescript
58
+ import {
59
+ SignInRequest,
60
+ SignInResponse,
61
+ SignInRequestSchema,
62
+ SignInResponseSchema,
63
+ RefreshRequest,
64
+ RefreshResponse,
65
+ AuthUser,
66
+ UserRole
67
+ } from 'aivilife-contracts/auth';
68
+ ```
69
+
70
+ ## License
71
+
72
+ ISC
73
+
@@ -0,0 +1,2 @@
1
+ export { A as AuthUser, a as AuthUserSchema, R as RefreshResponse, b as RefreshResponseSchema, S as SignInRequest, c as SignInRequestSchema, d as SignInResponse, e as SignInResponseSchema, f as SignUpRequest, g as SignUpRequestSchema } from '../index-BexwaaJv.mjs';
2
+ import 'zod';
@@ -0,0 +1,2 @@
1
+ export { A as AuthUser, a as AuthUserSchema, R as RefreshResponse, b as RefreshResponseSchema, S as SignInRequest, c as SignInRequestSchema, d as SignInResponse, e as SignInResponseSchema, f as SignUpRequest, g as SignUpRequestSchema } from '../index-BexwaaJv.js';
2
+ import 'zod';
@@ -0,0 +1,86 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/auth/auth-user.contract.ts
6
+
7
+ // src/user/user-role.enum.ts
8
+ var UserRole = /* @__PURE__ */ ((UserRole2) => {
9
+ UserRole2["ADMIN"] = "admin";
10
+ UserRole2["MANAGER"] = "manager";
11
+ UserRole2["STAFF"] = "staff";
12
+ UserRole2["PARTNER"] = "partner";
13
+ return UserRole2;
14
+ })(UserRole || {});
15
+
16
+ // src/user/user.schemas.ts
17
+ var UserSchema = zod.z.object({
18
+ id: zod.z.number().int().positive(),
19
+ firstName: zod.z.string().trim().max(255),
20
+ lastName: zod.z.string().trim().max(255),
21
+ email: zod.z.email().trim(),
22
+ phoneNumber: zod.z.string().trim().max(20),
23
+ login: zod.z.string().trim().max(255),
24
+ uuid: zod.z.string().trim().max(255),
25
+ isActive: zod.z.boolean(),
26
+ isEmailVerified: zod.z.boolean(),
27
+ isPhoneVerified: zod.z.boolean(),
28
+ countryCode: zod.z.string().trim().length(2),
29
+ country: zod.z.string().trim().max(255),
30
+ city: zod.z.string().trim().max(255),
31
+ role: zod.z.enum(UserRole),
32
+ createdAt: zod.z.iso.datetime(),
33
+ updatedAt: zod.z.iso.datetime()
34
+ });
35
+ zod.z.object({
36
+ firstName: zod.z.string().trim().max(255),
37
+ lastName: zod.z.string().trim().max(255),
38
+ email: zod.z.email().trim(),
39
+ phoneNumber: zod.z.string().trim().max(20),
40
+ login: zod.z.string().trim().max(255),
41
+ password: zod.z.string().trim().min(6).max(255),
42
+ countryCode: zod.z.string().trim().length(2),
43
+ country: zod.z.string().trim().max(255),
44
+ city: zod.z.string().trim().max(255)
45
+ });
46
+ zod.z.array(UserSchema);
47
+
48
+ // src/auth/auth-user.contract.ts
49
+ var AuthUserSchema = zod.z.object({
50
+ id: zod.z.number(),
51
+ login: zod.z.string(),
52
+ role: zod.z.enum(UserRole),
53
+ isActive: zod.z.boolean()
54
+ });
55
+ var RefreshResponseSchema = zod.z.object({
56
+ accessToken: zod.z.string(),
57
+ user: AuthUserSchema
58
+ });
59
+ var SignInRequestSchema = zod.z.object({
60
+ login: zod.z.string("\u041B\u043E\u0433\u0438\u043D \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u043E\u0439").min(1, "\u041B\u043E\u0433\u0438\u043D \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C"),
61
+ password: zod.z.string("\u041F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u043E\u0439").min(1, "\u041F\u0430\u0440\u043E\u043B\u044C \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C")
62
+ });
63
+ var SignInResponseSchema = zod.z.object({
64
+ accessToken: zod.z.string(),
65
+ refreshToken: zod.z.string(),
66
+ user: AuthUserSchema
67
+ });
68
+ var SignUpRequestSchema = zod.z.object({
69
+ firstName: zod.z.string().trim().max(255),
70
+ lastName: zod.z.string().trim().max(255),
71
+ email: zod.z.email().trim(),
72
+ phoneNumber: zod.z.string().trim().max(20),
73
+ login: zod.z.string().trim().min(3).max(255),
74
+ password: zod.z.string().trim().min(6).max(255),
75
+ countryCode: zod.z.string().trim().length(2),
76
+ country: zod.z.string().trim().max(255),
77
+ city: zod.z.string().trim().max(255)
78
+ });
79
+
80
+ exports.AuthUserSchema = AuthUserSchema;
81
+ exports.RefreshResponseSchema = RefreshResponseSchema;
82
+ exports.SignInRequestSchema = SignInRequestSchema;
83
+ exports.SignInResponseSchema = SignInResponseSchema;
84
+ exports.SignUpRequestSchema = SignUpRequestSchema;
85
+ //# sourceMappingURL=index.js.map
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/user/user-role.enum.ts","../../src/user/user.schemas.ts","../../src/auth/auth-user.contract.ts","../../src/auth/refresh.contract.ts","../../src/auth/sign-in.contract.ts","../../src/auth/sign-up.contract.ts"],"names":["UserRole","z"],"mappings":";;;;;;;AAAO,IAAK,QAAA,qBAAAA,SAAAA,KAAL;AACL,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AAJA,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA,CAAA;;;ACGL,IAAM,UAAA,GAAaC,MAAE,MAAA,CAAO;AAAA,EACjC,IAAIA,KAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,WAAWA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,OAAOA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,MAAMA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,QAAA,EAAUA,MAAE,OAAA,EAAQ;AAAA,EACpB,eAAA,EAAiBA,MAAE,OAAA,EAAQ;AAAA,EAC3B,eAAA,EAAiBA,MAAE,OAAA,EAAQ;AAAA,EAC3B,aAAaA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,IAAA,EAAMA,KAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AAAA,EACrB,SAAA,EAAWA,KAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC,CAAA;AAEsCA,MAAE,MAAA,CAAO;AAAA,EAC9C,WAAWA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,OAAOA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,aAAaA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACjC,CAAC;AAEqCA,KAAA,CAAE,KAAA,CAAM,UAAU;;;AC/BjD,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AAAA,EACrB,QAAA,EAAUA,MAAE,OAAA;AACd,CAAC;ACLM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAM;AACR,CAAC;ACHM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,OAAOA,KAAAA,CACJ,MAAA,CAAO,yIAA2B,CAAA,CAClC,GAAA,CAAI,GAAG,0IAA4B,CAAA;AAAA,EACtC,UAAUA,KAAAA,CACP,MAAA,CAAO,+IAA4B,CAAA,CACnC,GAAA,CAAI,GAAG,gJAA6B;AACzC,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,IAAA,EAAM;AACR,CAAC;ACdM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACvC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACjC,CAAC","file":"index.js","sourcesContent":["export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n refreshToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport const SignUpRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().min(3).max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n"]}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/auth/auth-user.contract.ts
4
+
5
+ // src/user/user-role.enum.ts
6
+ var UserRole = /* @__PURE__ */ ((UserRole2) => {
7
+ UserRole2["ADMIN"] = "admin";
8
+ UserRole2["MANAGER"] = "manager";
9
+ UserRole2["STAFF"] = "staff";
10
+ UserRole2["PARTNER"] = "partner";
11
+ return UserRole2;
12
+ })(UserRole || {});
13
+
14
+ // src/user/user.schemas.ts
15
+ var UserSchema = z.object({
16
+ id: z.number().int().positive(),
17
+ firstName: z.string().trim().max(255),
18
+ lastName: z.string().trim().max(255),
19
+ email: z.email().trim(),
20
+ phoneNumber: z.string().trim().max(20),
21
+ login: z.string().trim().max(255),
22
+ uuid: z.string().trim().max(255),
23
+ isActive: z.boolean(),
24
+ isEmailVerified: z.boolean(),
25
+ isPhoneVerified: z.boolean(),
26
+ countryCode: z.string().trim().length(2),
27
+ country: z.string().trim().max(255),
28
+ city: z.string().trim().max(255),
29
+ role: z.enum(UserRole),
30
+ createdAt: z.iso.datetime(),
31
+ updatedAt: z.iso.datetime()
32
+ });
33
+ z.object({
34
+ firstName: z.string().trim().max(255),
35
+ lastName: z.string().trim().max(255),
36
+ email: z.email().trim(),
37
+ phoneNumber: z.string().trim().max(20),
38
+ login: z.string().trim().max(255),
39
+ password: z.string().trim().min(6).max(255),
40
+ countryCode: z.string().trim().length(2),
41
+ country: z.string().trim().max(255),
42
+ city: z.string().trim().max(255)
43
+ });
44
+ z.array(UserSchema);
45
+
46
+ // src/auth/auth-user.contract.ts
47
+ var AuthUserSchema = z.object({
48
+ id: z.number(),
49
+ login: z.string(),
50
+ role: z.enum(UserRole),
51
+ isActive: z.boolean()
52
+ });
53
+ var RefreshResponseSchema = z.object({
54
+ accessToken: z.string(),
55
+ user: AuthUserSchema
56
+ });
57
+ var SignInRequestSchema = z.object({
58
+ login: z.string("\u041B\u043E\u0433\u0438\u043D \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u043E\u0439").min(1, "\u041B\u043E\u0433\u0438\u043D \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C"),
59
+ password: z.string("\u041F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u043E\u0439").min(1, "\u041F\u0430\u0440\u043E\u043B\u044C \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C")
60
+ });
61
+ var SignInResponseSchema = z.object({
62
+ accessToken: z.string(),
63
+ refreshToken: z.string(),
64
+ user: AuthUserSchema
65
+ });
66
+ var SignUpRequestSchema = z.object({
67
+ firstName: z.string().trim().max(255),
68
+ lastName: z.string().trim().max(255),
69
+ email: z.email().trim(),
70
+ phoneNumber: z.string().trim().max(20),
71
+ login: z.string().trim().min(3).max(255),
72
+ password: z.string().trim().min(6).max(255),
73
+ countryCode: z.string().trim().length(2),
74
+ country: z.string().trim().max(255),
75
+ city: z.string().trim().max(255)
76
+ });
77
+
78
+ export { AuthUserSchema, RefreshResponseSchema, SignInRequestSchema, SignInResponseSchema, SignUpRequestSchema };
79
+ //# sourceMappingURL=index.mjs.map
80
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/user/user-role.enum.ts","../../src/user/user.schemas.ts","../../src/auth/auth-user.contract.ts","../../src/auth/refresh.contract.ts","../../src/auth/sign-in.contract.ts","../../src/auth/sign-up.contract.ts"],"names":["UserRole","z"],"mappings":"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","file":"index.mjs","sourcesContent":["export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n refreshToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport const SignUpRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().min(3).max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n"]}
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+
3
+ declare enum UserRole {
4
+ ADMIN = "admin",
5
+ MANAGER = "manager",
6
+ STAFF = "staff",
7
+ PARTNER = "partner"
8
+ }
9
+
10
+ declare const AuthUserSchema: z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ login: z.ZodString;
13
+ role: z.ZodEnum<typeof UserRole>;
14
+ isActive: z.ZodBoolean;
15
+ }, z.core.$strip>;
16
+ type AuthUser = z.infer<typeof AuthUserSchema>;
17
+
18
+ declare const RefreshResponseSchema: z.ZodObject<{
19
+ accessToken: z.ZodString;
20
+ user: z.ZodObject<{
21
+ id: z.ZodNumber;
22
+ login: z.ZodString;
23
+ role: z.ZodEnum<typeof UserRole>;
24
+ isActive: z.ZodBoolean;
25
+ }, z.core.$strip>;
26
+ }, z.core.$strip>;
27
+ type RefreshResponse = z.infer<typeof RefreshResponseSchema>;
28
+
29
+ declare const SignInRequestSchema: z.ZodObject<{
30
+ login: z.ZodString;
31
+ password: z.ZodString;
32
+ }, z.core.$strip>;
33
+ declare const SignInResponseSchema: z.ZodObject<{
34
+ accessToken: z.ZodString;
35
+ refreshToken: z.ZodString;
36
+ user: z.ZodObject<{
37
+ id: z.ZodNumber;
38
+ login: z.ZodString;
39
+ role: z.ZodEnum<typeof UserRole>;
40
+ isActive: z.ZodBoolean;
41
+ }, z.core.$strip>;
42
+ }, z.core.$strip>;
43
+ type SignInRequest = z.infer<typeof SignInRequestSchema>;
44
+ type SignInResponse = z.infer<typeof SignInResponseSchema>;
45
+
46
+ declare const SignUpRequestSchema: z.ZodObject<{
47
+ firstName: z.ZodString;
48
+ lastName: z.ZodString;
49
+ email: z.ZodEmail;
50
+ phoneNumber: z.ZodString;
51
+ login: z.ZodString;
52
+ password: z.ZodString;
53
+ countryCode: z.ZodString;
54
+ country: z.ZodString;
55
+ city: z.ZodString;
56
+ }, z.core.$strip>;
57
+ type SignUpRequest = z.infer<typeof SignUpRequestSchema>;
58
+
59
+ export { type AuthUser as A, type RefreshResponse as R, type SignInRequest as S, UserRole as U, AuthUserSchema as a, RefreshResponseSchema as b, SignInRequestSchema as c, type SignInResponse as d, SignInResponseSchema as e, type SignUpRequest as f, SignUpRequestSchema as g };
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+
3
+ declare enum UserRole {
4
+ ADMIN = "admin",
5
+ MANAGER = "manager",
6
+ STAFF = "staff",
7
+ PARTNER = "partner"
8
+ }
9
+
10
+ declare const AuthUserSchema: z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ login: z.ZodString;
13
+ role: z.ZodEnum<typeof UserRole>;
14
+ isActive: z.ZodBoolean;
15
+ }, z.core.$strip>;
16
+ type AuthUser = z.infer<typeof AuthUserSchema>;
17
+
18
+ declare const RefreshResponseSchema: z.ZodObject<{
19
+ accessToken: z.ZodString;
20
+ user: z.ZodObject<{
21
+ id: z.ZodNumber;
22
+ login: z.ZodString;
23
+ role: z.ZodEnum<typeof UserRole>;
24
+ isActive: z.ZodBoolean;
25
+ }, z.core.$strip>;
26
+ }, z.core.$strip>;
27
+ type RefreshResponse = z.infer<typeof RefreshResponseSchema>;
28
+
29
+ declare const SignInRequestSchema: z.ZodObject<{
30
+ login: z.ZodString;
31
+ password: z.ZodString;
32
+ }, z.core.$strip>;
33
+ declare const SignInResponseSchema: z.ZodObject<{
34
+ accessToken: z.ZodString;
35
+ refreshToken: z.ZodString;
36
+ user: z.ZodObject<{
37
+ id: z.ZodNumber;
38
+ login: z.ZodString;
39
+ role: z.ZodEnum<typeof UserRole>;
40
+ isActive: z.ZodBoolean;
41
+ }, z.core.$strip>;
42
+ }, z.core.$strip>;
43
+ type SignInRequest = z.infer<typeof SignInRequestSchema>;
44
+ type SignInResponse = z.infer<typeof SignInResponseSchema>;
45
+
46
+ declare const SignUpRequestSchema: z.ZodObject<{
47
+ firstName: z.ZodString;
48
+ lastName: z.ZodString;
49
+ email: z.ZodEmail;
50
+ phoneNumber: z.ZodString;
51
+ login: z.ZodString;
52
+ password: z.ZodString;
53
+ countryCode: z.ZodString;
54
+ country: z.ZodString;
55
+ city: z.ZodString;
56
+ }, z.core.$strip>;
57
+ type SignUpRequest = z.infer<typeof SignUpRequestSchema>;
58
+
59
+ export { type AuthUser as A, type RefreshResponse as R, type SignInRequest as S, UserRole as U, AuthUserSchema as a, RefreshResponseSchema as b, SignInRequestSchema as c, type SignInResponse as d, SignInResponseSchema as e, type SignUpRequest as f, SignUpRequestSchema as g };