@planecloud/config 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 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,6CAA2C,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyE5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisConfigSchema = exports.AnyDatabaseConfigSchema = exports.DatabaseTypeSchema = exports.MongoDBConfigSchema = exports.MySQLConfigSchema = exports.PostgresConfigSchema = exports.DatabaseConfigSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.DatabaseConfigSchema = zod_1.z.object({
6
+ host: zod_1.z.string().min(1),
7
+ port: zod_1.z.number().int().min(1).max(65535),
8
+ database: zod_1.z.string().min(1),
9
+ username: zod_1.z.string().min(1),
10
+ password: zod_1.z.string().min(1),
11
+ ssl: zod_1.z.boolean().optional().default(false),
12
+ sslMode: zod_1.z
13
+ .enum(["disable", "require", "prefer", "verify-ca", "verify-full"])
14
+ .optional()
15
+ .default("prefer"),
16
+ connectionTimeout: zod_1.z.number().int().min(1000).optional().default(30000),
17
+ idleTimeout: zod_1.z.number().int().min(1000).optional().default(10000),
18
+ maxConnections: zod_1.z.number().int().min(1).optional().default(20),
19
+ minConnections: zod_1.z.number().int().min(0).optional().default(5),
20
+ acquireTimeoutMillis: zod_1.z.number().int().min(1000).optional().default(30000),
21
+ createTimeoutMillis: zod_1.z.number().int().min(1000).optional().default(30000),
22
+ destroyTimeoutMillis: zod_1.z.number().int().min(1000).optional().default(5000),
23
+ reapIntervalMillis: zod_1.z.number().int().min(1000).optional().default(1000),
24
+ createRetryIntervalMillis: zod_1.z.number().int().min(100).optional().default(200),
25
+ logging: zod_1.z.boolean().optional().default(false),
26
+ timezone: zod_1.z.string().optional().default("UTC"),
27
+ charset: zod_1.z.string().optional().default("utf8"),
28
+ collation: zod_1.z.string().optional(),
29
+ });
30
+ exports.PostgresConfigSchema = exports.DatabaseConfigSchema.extend({
31
+ type: zod_1.z.literal("postgres"),
32
+ searchPath: zod_1.z.string().optional().default("public"),
33
+ pool: zod_1.z
34
+ .object({
35
+ min: zod_1.z.number().int().min(0).optional().default(5),
36
+ max: zod_1.z.number().int().min(1).optional().default(20),
37
+ idleTimeoutMillis: zod_1.z.number().int().min(1000).optional().default(10000),
38
+ acquireTimeoutMillis: zod_1.z
39
+ .number()
40
+ .int()
41
+ .min(1000)
42
+ .optional()
43
+ .default(30000),
44
+ })
45
+ .optional(),
46
+ });
47
+ exports.MySQLConfigSchema = exports.DatabaseConfigSchema.extend({
48
+ type: zod_1.z.literal("mysql"),
49
+ charset: zod_1.z.string().optional().default("utf8mb4"),
50
+ collation: zod_1.z.string().optional().default("utf8mb4_unicode_ci"),
51
+ acquireTimeout: zod_1.z.number().int().min(1000).optional().default(60000),
52
+ timeout: zod_1.z.number().int().min(1000).optional().default(60000),
53
+ reconnect: zod_1.z.boolean().optional().default(true),
54
+ flags: zod_1.z.array(zod_1.z.string()).optional(),
55
+ });
56
+ exports.MongoDBConfigSchema = zod_1.z.object({
57
+ type: zod_1.z.literal("mongodb"),
58
+ url: zod_1.z.string().min(1),
59
+ database: zod_1.z.string().min(1),
60
+ options: zod_1.z
61
+ .object({
62
+ maxPoolSize: zod_1.z.number().int().min(1).optional().default(20),
63
+ minPoolSize: zod_1.z.number().int().min(0).optional().default(5),
64
+ maxIdleTimeMS: zod_1.z.number().int().min(1000).optional().default(10000),
65
+ serverSelectionTimeoutMS: zod_1.z
66
+ .number()
67
+ .int()
68
+ .min(1000)
69
+ .optional()
70
+ .default(30000),
71
+ socketTimeoutMS: zod_1.z.number().int().min(1000).optional().default(0),
72
+ connectTimeoutMS: zod_1.z.number().int().min(1000).optional().default(30000),
73
+ heartbeatFrequencyMS: zod_1.z
74
+ .number()
75
+ .int()
76
+ .min(1000)
77
+ .optional()
78
+ .default(10000),
79
+ retryWrites: zod_1.z.boolean().optional().default(true),
80
+ retryReads: zod_1.z.boolean().optional().default(true),
81
+ compressors: zod_1.z.array(zod_1.z.string()).optional(),
82
+ zlibCompressionLevel: zod_1.z.number().int().min(-1).max(9).optional(),
83
+ })
84
+ .optional(),
85
+ auth: zod_1.z
86
+ .object({
87
+ username: zod_1.z.string().min(1).optional(),
88
+ password: zod_1.z.string().min(1).optional(),
89
+ authSource: zod_1.z.string().optional(),
90
+ authMechanism: zod_1.z
91
+ .enum(["SCRAM-SHA-1", "SCRAM-SHA-256", "MONGODB-CR", "MONGODB-AWS"])
92
+ .optional(),
93
+ })
94
+ .optional(),
95
+ });
96
+ exports.DatabaseTypeSchema = zod_1.z.enum(["postgres", "mysql", "mongodb"]);
97
+ exports.AnyDatabaseConfigSchema = zod_1.z.discriminatedUnion("type", [
98
+ exports.PostgresConfigSchema,
99
+ exports.MySQLConfigSchema,
100
+ exports.MongoDBConfigSchema,
101
+ ]);
102
+ exports.RedisConfigSchema = zod_1.z.object({
103
+ host: zod_1.z.string().min(1),
104
+ port: zod_1.z.number().int().min(1).max(65535).optional().default(6379),
105
+ password: zod_1.z.string().optional(),
106
+ db: zod_1.z.number().int().min(0).max(15).optional().default(0),
107
+ username: zod_1.z.string().optional(),
108
+ name: zod_1.z.string().optional().default("default"),
109
+ connectTimeout: zod_1.z.number().int().min(1000).optional().default(10000),
110
+ commandTimeout: zod_1.z.number().int().min(1000).optional().default(5000),
111
+ retryDelayOnFailover: zod_1.z.number().int().min(100).optional().default(100),
112
+ maxRetriesPerRequest: zod_1.z.number().int().min(0).optional().default(3),
113
+ lazyConnect: zod_1.z.boolean().optional().default(true),
114
+ keepAlive: zod_1.z.number().int().min(0).optional().default(30000),
115
+ family: zod_1.z.enum(["IPv4", "IPv6"]).optional().default("IPv4"),
116
+ tls: zod_1.z
117
+ .object({
118
+ host: zod_1.z.string().optional(),
119
+ port: zod_1.z.number().int().min(1).max(65535).optional(),
120
+ rejectUnauthorized: zod_1.z.boolean().optional().default(true),
121
+ servername: zod_1.z.string().optional(),
122
+ checkServerIdentity: zod_1.z.function().optional(),
123
+ ca: zod_1.z.string().optional(),
124
+ cert: zod_1.z.string().optional(),
125
+ key: zod_1.z.string().optional(),
126
+ passphrase: zod_1.z.string().optional(),
127
+ })
128
+ .optional(),
129
+ sentinel: zod_1.z
130
+ .object({
131
+ sentinels: zod_1.z.array(zod_1.z.object({
132
+ host: zod_1.z.string().min(1),
133
+ port: zod_1.z.number().int().min(1).max(65535),
134
+ })),
135
+ name: zod_1.z.string().min(1),
136
+ password: zod_1.z.string().optional(),
137
+ username: zod_1.z.string().optional(),
138
+ })
139
+ .optional(),
140
+ cluster: zod_1.z
141
+ .object({
142
+ nodes: zod_1.z.array(zod_1.z.object({
143
+ host: zod_1.z.string().min(1),
144
+ port: zod_1.z.number().int().min(1).max(65535),
145
+ })),
146
+ options: zod_1.z
147
+ .object({
148
+ redisOptions: zod_1.z.any().optional(),
149
+ maxRedirections: zod_1.z.number().int().min(1).optional().default(16),
150
+ retryDelayOnFailover: zod_1.z
151
+ .number()
152
+ .int()
153
+ .min(100)
154
+ .optional()
155
+ .default(100),
156
+ useSlave: zod_1.z.boolean().optional().default(false),
157
+ randomize: zod_1.z.boolean().optional().default(false),
158
+ removeNodeOnCount: zod_1.z.boolean().optional().default(true),
159
+ promoteSlaveOnFailover: zod_1.z.boolean().optional().default(true),
160
+ enableReadyCheck: zod_1.z.boolean().optional().default(true),
161
+ maxRetryAttemptsPerRequest: zod_1.z
162
+ .number()
163
+ .int()
164
+ .min(0)
165
+ .optional()
166
+ .default(3),
167
+ })
168
+ .optional(),
169
+ })
170
+ .optional(),
171
+ });
172
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}