@planecloud/validation 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.
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegisterSchema = exports.LoginSchema = exports.CreateApiKeySchema = exports.ApiKeySchema = exports.SessionSchema = exports.UpdateMemberRoleSchema = exports.InviteMemberSchema = exports.OrganizationMemberSchema = exports.CreateOrganizationSchema = exports.OrganizationSchema = exports.ChangePasswordSchema = exports.UpdateAccountSchema = exports.CreateAccountSchema = exports.AccountSchema = exports.OrganizationSettingsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const common_1 = require("../common");
6
+ exports.OrganizationSettingsSchema = zod_1.z.object({
7
+ timezone: zod_1.z.string().default("UTC"),
8
+ currency: zod_1.z.string().length(3).default("USD"),
9
+ notifications: zod_1.z
10
+ .object({
11
+ email: zod_1.z.boolean().default(true),
12
+ telegram: zod_1.z.boolean().default(false),
13
+ })
14
+ .default({}),
15
+ security: zod_1.z
16
+ .object({
17
+ require2FA: zod_1.z.boolean().default(false),
18
+ sessionTimeout: zod_1.z.number().int().min(5).max(1440).default(480), // 8 hours
19
+ })
20
+ .default({}),
21
+ });
22
+ exports.AccountSchema = common_1.BaseEntitySchema.extend({
23
+ email: zod_1.z.string().email(),
24
+ emailVerified: zod_1.z.boolean(),
25
+ passwordHash: zod_1.z.string().min(60).max(255), // bcrypt hash
26
+ firstName: zod_1.z.string().max(100).optional(),
27
+ lastName: zod_1.z.string().max(100).optional(),
28
+ avatar: zod_1.z.string().url().optional(),
29
+ lastLoginAt: zod_1.z.date().optional(),
30
+ });
31
+ exports.CreateAccountSchema = zod_1.z.object({
32
+ email: zod_1.z.string().email(),
33
+ password: zod_1.z.string().min(8).max(128),
34
+ firstName: zod_1.z.string().max(100).optional(),
35
+ lastName: zod_1.z.string().max(100).optional(),
36
+ });
37
+ exports.UpdateAccountSchema = zod_1.z.object({
38
+ firstName: zod_1.z.string().max(100).optional(),
39
+ lastName: zod_1.z.string().max(100).optional(),
40
+ avatar: zod_1.z.string().url().optional(),
41
+ });
42
+ exports.ChangePasswordSchema = zod_1.z.object({
43
+ currentPassword: zod_1.z.string().min(1),
44
+ newPassword: zod_1.z.string().min(8).max(128),
45
+ });
46
+ exports.OrganizationSchema = common_1.BaseEntitySchema.extend({
47
+ name: zod_1.z.string().min(1).max(100),
48
+ slug: zod_1.z
49
+ .string()
50
+ .min(2)
51
+ .max(50)
52
+ .regex(/^[a-z0-9-]+$/),
53
+ description: zod_1.z.string().max(500).optional(),
54
+ logo: zod_1.z.string().url().optional(),
55
+ settings: exports.OrganizationSettingsSchema,
56
+ billingAccountId: zod_1.z.string().uuid(),
57
+ ownerId: zod_1.z.string().uuid(),
58
+ });
59
+ exports.CreateOrganizationSchema = zod_1.z.object({
60
+ name: zod_1.z.string().min(1).max(100),
61
+ slug: zod_1.z
62
+ .string()
63
+ .min(2)
64
+ .max(50)
65
+ .regex(/^[a-z0-9-]+$/),
66
+ description: zod_1.z.string().max(500).optional(),
67
+ });
68
+ exports.OrganizationMemberSchema = common_1.BaseEntitySchema.extend({
69
+ organizationId: zod_1.z.string().uuid(),
70
+ accountId: zod_1.z.string().uuid(),
71
+ role: zod_1.z.enum(["OWNER", "ADMIN", "VIEWER"]),
72
+ invitedBy: zod_1.z.string().uuid(),
73
+ invitedAt: zod_1.z.date(),
74
+ joinedAt: zod_1.z.date().optional(),
75
+ });
76
+ exports.InviteMemberSchema = zod_1.z.object({
77
+ email: zod_1.z.string().email(),
78
+ role: zod_1.z.enum(["ADMIN", "VIEWER"]),
79
+ message: zod_1.z.string().max(500).optional(),
80
+ });
81
+ exports.UpdateMemberRoleSchema = zod_1.z.object({
82
+ role: zod_1.z.enum(["ADMIN", "VIEWER"]),
83
+ });
84
+ exports.SessionSchema = common_1.BaseEntitySchema.extend({
85
+ accountId: zod_1.z.string().uuid(),
86
+ token: zod_1.z.string().min(1),
87
+ refreshToken: zod_1.z.string().min(1),
88
+ expiresAt: zod_1.z.date(),
89
+ ipAddress: zod_1.z.string().optional(),
90
+ userAgent: zod_1.z.string().optional(),
91
+ isActive: zod_1.z.boolean(),
92
+ });
93
+ exports.ApiKeySchema = common_1.BaseEntitySchema.extend({
94
+ organizationId: zod_1.z.string().uuid(),
95
+ name: zod_1.z.string().min(1).max(100),
96
+ keyHash: zod_1.z.string().min(1),
97
+ permissions: zod_1.z.array(zod_1.z.string()),
98
+ lastUsedAt: zod_1.z.date().optional(),
99
+ expiresAt: zod_1.z.date().optional(),
100
+ isActive: zod_1.z.boolean(),
101
+ });
102
+ exports.CreateApiKeySchema = zod_1.z.object({
103
+ name: zod_1.z.string().min(1).max(100),
104
+ permissions: zod_1.z.array(zod_1.z.string()),
105
+ expiresAt: zod_1.z.date().optional(),
106
+ });
107
+ exports.LoginSchema = zod_1.z.object({
108
+ email: zod_1.z.string().email(),
109
+ password: zod_1.z.string().min(1),
110
+ remember: zod_1.z.boolean().optional().default(false),
111
+ });
112
+ exports.RegisterSchema = exports.CreateAccountSchema.extend({
113
+ organizationName: zod_1.z.string().min(1).max(100).optional(),
114
+ organizationSlug: zod_1.z
115
+ .string()
116
+ .min(2)
117
+ .max(50)
118
+ .regex(/^[a-z0-9-]+$/)
119
+ .optional(),
120
+ });
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/iam/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "./common";
2
+ export * from "./iam";
3
+ export * from "./provisioning";
4
+ export * from "./billing";
5
+ export * from "./data-management";
6
+ export * from "./networking";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Export all validation modules
18
+ __exportStar(require("./common"), exports);
19
+ __exportStar(require("./iam"), exports);
20
+ __exportStar(require("./provisioning"), exports);
21
+ __exportStar(require("./billing"), exports);
22
+ __exportStar(require("./data-management"), exports);
23
+ __exportStar(require("./networking"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gCAAgC;AAChC,2CAAyB;AACzB,wCAAsB;AACtB,iDAA+B;AAC/B,4CAA0B;AAC1B,oDAAkC;AAClC,+CAA6B"}