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 +73 -0
- package/dist/auth/index.d.mts +2 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.js +86 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/index.mjs +80 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/index-BexwaaJv.d.mts +59 -0
- package/dist/index-BexwaaJv.d.ts +59 -0
- package/dist/index.d.mts +333 -0
- package/dist/index.d.ts +333 -0
- package/dist/index.js +291 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +243 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +38 -0
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":"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","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 };
|