pg-mvc-service 2.0.42 → 2.0.43

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.
Files changed (36) hide show
  1. package/dist/assets/favicon.ico +0 -0
  2. package/dist/models/TableDoc.js +4 -1
  3. package/package.json +8 -2
  4. package/index.d.ts +0 -189
  5. package/src/PoolManager.ts +0 -48
  6. package/src/Service.ts +0 -276
  7. package/src/Utils/DateTimeUtil.ts +0 -146
  8. package/src/Utils/NumberUtil.ts +0 -23
  9. package/src/Utils/StringUtil.ts +0 -33
  10. package/src/clients/AwsS3Client.ts +0 -310
  11. package/src/clients/Base64Client.ts +0 -305
  12. package/src/clients/EncryptClient.ts +0 -100
  13. package/src/clients/StringClient.ts +0 -19
  14. package/src/cron/BaseCron.ts +0 -122
  15. package/src/cron/CronExecuter.ts +0 -34
  16. package/src/cron/CronType.ts +0 -25
  17. package/src/documents/Swagger.ts +0 -105
  18. package/src/exceptions/Exception.ts +0 -72
  19. package/src/index.ts +0 -23
  20. package/src/models/ExpressionClient.ts +0 -72
  21. package/src/models/MigrateDatabase.ts +0 -135
  22. package/src/models/MigrateRollback.ts +0 -151
  23. package/src/models/MigrateTable.ts +0 -56
  24. package/src/models/SqlUtils/SelectExpression.ts +0 -97
  25. package/src/models/SqlUtils/UpdateExpression.ts +0 -29
  26. package/src/models/SqlUtils/ValidateValueUtil.ts +0 -354
  27. package/src/models/SqlUtils/WhereExpression.ts +0 -421
  28. package/src/models/TableDoc.ts +0 -366
  29. package/src/models/TableModel.ts +0 -701
  30. package/src/models/Type.ts +0 -62
  31. package/src/models/Utils/MessageUtil.ts +0 -60
  32. package/src/models/ValidateClient.ts +0 -182
  33. package/src/reqestResponse/ReqResType.ts +0 -170
  34. package/src/reqestResponse/RequestType.ts +0 -918
  35. package/src/reqestResponse/ResponseType.ts +0 -420
  36. package/tsconfig.json +0 -14
@@ -1,420 +0,0 @@
1
- import { ValidateStringUtil } from "type-utils-n-daira";
2
- import StringUtil from "../Utils/StringUtil";
3
- import ReqResType from "./ReqResType";
4
-
5
- export class ResponseType extends ReqResType {
6
-
7
- /**
8
- * Property to store response data
9
- * レスポンスデータを格納するためのプロパティ
10
- */
11
- public Data: {[key: string]: any} = {};
12
-
13
- /**
14
- * Convert and retrieve data according to the type definition
15
- * 型定義に従ってデータを変換して取得
16
- * @returns {Object.<string, any>} Converted data, 変換されたデータ
17
- */
18
- get ResponseData(): {[key: string]: any} {
19
- let data: {[key: string]: any} = {};
20
- for (const [key, property] of Object.entries(this.properties)) {
21
- if (key in this.Data === false) {
22
- continue;
23
- }
24
-
25
- if (this.Data[key] === undefined) {
26
- continue;
27
- }
28
-
29
- if (this.Data[key] === null || (property.type.replace("?", "") !== "string" && this.Data[key] === "")) {
30
- data[key] = property.type.endsWith('?') ? null : undefined;
31
- continue;
32
- }
33
-
34
- switch (property.type) {
35
- case 'object':
36
- case 'object?':
37
- data[key] = this.getObject([key]);
38
- break;
39
- case 'array':
40
- case 'array?':
41
- data[key] = this.getArray([key]);
42
- break;
43
- default:
44
- data[key] = this.getValue([key]);
45
- break;
46
- }
47
- }
48
-
49
- return data;
50
- }
51
-
52
- /**
53
- * Retrieve object type data
54
- * オブジェクト型のデータを取得
55
- * @param {Array.<string|number>} keys - Path to the property, プロパティへのパス
56
- * @returns {Object.<string, any>} Retrieved object data, 取得されたオブジェクトデータ
57
- */
58
- private getObject(keys: Array<string | number>) {
59
-
60
- let resData: {[key: string]: any} = {};
61
- const data = this.getData(keys);
62
-
63
- const properties = this.getProperty(keys).properties;
64
- for (const key of Object.keys(properties)) {
65
- if (key in data === false || data[key] === undefined) {
66
- continue;
67
- }
68
-
69
- const property = properties[key];
70
- if (data[key] === null || (property.type.replace("?", "") !== "string" && data[key] === "")) {
71
- resData[key] = property.type.endsWith('?') ? null : undefined;
72
- continue;
73
- }
74
-
75
- switch (property.type) {
76
- case 'object':
77
- case 'object?':
78
- resData[key] = this.getObject([...keys, key]);
79
- break;
80
- case 'array':
81
- case 'array?':
82
- resData[key] = this.getArray([...keys, key]);
83
- break;
84
- default:
85
- resData[key] = this.getValue([...keys, key]);
86
- break;
87
- }
88
- }
89
-
90
- return resData;
91
- }
92
-
93
- /**
94
- * Retrieve array type data
95
- * 配列型のデータを取得
96
- * @param {Array.<string|number>} keys - Path to the property, プロパティへのパス
97
- * @returns {Array<any> | undefined} Retrieved array data, 取得された配列データ
98
- */
99
- private getArray(keys: Array<string | number>) {
100
-
101
- const data = this.getData(keys);
102
- if (data === undefined || Array.isArray(data) === false) {
103
- return undefined;
104
- }
105
-
106
- const properties = this.getProperty(keys).properties;
107
- let resData: Array<any> = [];
108
- for (let i = 0;i < data.length; i++) {
109
- switch (properties.type) {
110
- case 'object':
111
- case 'object?':
112
- resData.push(this.getObject([...keys, i]));
113
- break;
114
- case 'array':
115
- case 'array?':
116
- resData.push(this.getArray([...keys, i]));
117
- break;
118
- default:
119
- resData.push(this.getValue([...keys, i]));
120
- break;
121
- }
122
- }
123
-
124
- return resData;
125
- }
126
-
127
- /**
128
- * Retrieve property type data
129
- * プロパティ型のデータを取得
130
- * @param {Array.<string|number>} keys - Path to the property, プロパティへのパス
131
- * @returns {any} Retrieved property data, 取得されたプロパティデータ
132
- */
133
- private getProperty(keys: Array<string | number>) {
134
- let property: any = this.properties;
135
- for (let i = 0;i < keys.length;i++) {
136
- const key = keys[i];
137
- if (typeof key === 'number') {
138
- property = property.properties;
139
- continue;
140
- }
141
-
142
- if (i === 0) {
143
- property = property[key];
144
- } else {
145
- property = property.properties[key];
146
- }
147
- }
148
-
149
- return property;
150
- }
151
-
152
- /**
153
- * Retrieve data based on the provided keys
154
- * 指定されたキーに基づいてデータを取得
155
- * @param {Array.<string|number>} keys - Path to the data, データへのパス
156
- * @returns {any} Retrieved data, 取得されたデータ
157
- */
158
- private getData(keys: Array<string | number>) {
159
- let data: any = this.Data;
160
- for (let i = 0;i < keys.length;i++) {
161
- const key = keys[i];
162
- if (typeof key === 'number') {
163
- data = data[key];
164
- continue;
165
- }
166
-
167
- data = data[key];
168
- }
169
-
170
- return data;
171
- }
172
-
173
- /**
174
- * Retrieve value based on the provided keys
175
- * 指定されたキーに基づいて値を取得
176
- * @param {Array.<string|number>} keys - Path to the value, 値へのパス
177
- * @returns {string | number | boolean | null | undefined} Retrieved value, 取得された値
178
- */
179
- private getValue(keys: Array<string | number>): string | number | boolean | null | undefined {
180
- const property = this.getProperty(keys);
181
- const value = this.getData(keys);
182
-
183
- if (value === null) {
184
- return property.type.endsWith('?') ? null : undefined;
185
- }
186
-
187
- switch (property.type) {
188
- case 'number':
189
- case 'number?':
190
- if (this.isNumber(value) === false) {
191
- return undefined;
192
- }
193
- return Number(value);
194
- case 'boolean':
195
- case 'boolean?':
196
- switch (typeof value) {
197
- case 'boolean':
198
- return value;
199
- case 'number':
200
- if (value !== 0 && value !== 1) {
201
- return undefined;
202
- }
203
- return value === 1 ? true : false;
204
- case 'string':
205
- if (value !== 'true' && value !== 'false') {
206
- return undefined;
207
- }
208
- return value === 'true' ? true : false;
209
- default:
210
- return undefined;
211
- }
212
- case 'string':
213
- case 'string?':
214
- switch (typeof value) {
215
- case 'number':
216
- return value.toString();
217
- case 'string':
218
- return value;
219
- default:
220
- return undefined;
221
- }
222
- case 'uuid':
223
- case 'uuid?':
224
- if (StringUtil.isUUID(value)) {
225
- return value;
226
- }
227
- return undefined;
228
- case 'mail':
229
- case 'mail?':
230
- if (ValidateStringUtil.isMail(value)) {
231
- return value;
232
- }
233
- return undefined;
234
- case 'date':
235
- case 'date?':
236
- if (value instanceof Date) {
237
- const year = value.getFullYear();
238
- const month = String(value.getMonth() + 1).padStart(2, '0');
239
- const day = String(value.getDate()).padStart(2, '0');
240
- return `${year}-${month}-${day}`;
241
- }
242
-
243
- if (this.isYYYYMMDD(value) && this.isErrorDateTime(value) === false) {
244
- return value;
245
- }
246
-
247
- return undefined;
248
- case 'time':
249
- case 'time?':
250
- if (this.isHHMM(value)) {
251
- return `${value}`;
252
- }
253
-
254
- if (this.isHHMMSS(value)) {
255
- return (value as string).slice(0, 5);
256
- }
257
-
258
- return undefined;
259
- case 'datetime':
260
- case 'datetime?':
261
- if (value instanceof Date) {
262
- const year = value.getFullYear();
263
- const month = String(value.getMonth() + 1).padStart(2, '0');
264
- const day = String(value.getDate()).padStart(2, '0');
265
- const hours = String(value.getHours()).padStart(2, '0');
266
- const minutes = String(value.getMinutes()).padStart(2, '0');
267
- const seconds = String(value.getSeconds()).padStart(2, '0');
268
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
269
- }
270
-
271
- if (this.isYYYYMMDDhhmiss(value) && this.isErrorDateTime(value) === false) {
272
- return value.replace('T', ' ');
273
- }
274
-
275
- return undefined;
276
- case 'https':
277
- case 'https?':
278
- if (ValidateStringUtil.isHttps(value)) {
279
- return value;
280
- }
281
- return undefined;
282
- case 'base64':
283
- case 'base64?':
284
- if (ValidateStringUtil.isBase64(value)) {
285
- return value;
286
- }
287
- return undefined;
288
- case 'enum':
289
- case 'enum?':
290
- if (Object.keys(property.enums).includes(value)) {
291
- return value;
292
- }
293
- return undefined;
294
- default:
295
- return undefined;
296
- }
297
- }
298
-
299
-
300
- // ****************************************************************************
301
- // for create swagger
302
- // ****************************************************************************
303
-
304
- /**
305
- * Generates Swagger response definition
306
- * Swaggerのレスポンス定義を生成します
307
- * @returns {string} Swagger format response definition
308
- * Swagger形式のレスポンス定義
309
- */
310
- public createSwagger(): string {
311
- let ymlString = ` responses:
312
- '200':
313
- description: 成功事レスポンス
314
- content:
315
- application/json:
316
- schema:
317
- type: object
318
- properties:`;
319
-
320
- if (Object.keys(this.properties).length === 0) {
321
- ymlString += ' {}\n'
322
- return ymlString;
323
- }
324
-
325
- ymlString += `\n`;
326
-
327
- let tabCount = 9;
328
- const space = ' '.repeat(tabCount);
329
- for (const [key, property] of Object.entries(this.properties)) {
330
-
331
- ymlString += `${space}${key}:\n`;
332
- ymlString += `${space} type: ${this.replaceFromPropertyTypeToSwagger(property)}\n`;
333
- if (property.description !== undefined) {
334
- const joinSpace = `\n${space} `;
335
- ymlString += `${space} description: |${joinSpace}${property.description.replaceAll("\n", joinSpace)}\n`;
336
- }
337
- switch (property.type) {
338
- case 'object':
339
- case 'object?':
340
- ymlString += this.makeSwaggerProperyFromObject([key], tabCount + 1);
341
- break;
342
- case 'array':
343
- case 'array?':
344
- ymlString += this.makeSwaggerPropertyFromArray([key], tabCount + 1);
345
- break;
346
- }
347
- }
348
-
349
- return ymlString;
350
- }
351
-
352
- /**
353
- * Generates Swagger properties from object type properties
354
- * オブジェクト型のプロパティからSwaggerのプロパティを生成
355
- * @param {Array.<string|number>} keys - Path to the properties
356
- * プロパティへのパス
357
- * @returns {string} Swagger format property definition
358
- * Swagger形式のプロパティ定義
359
- */
360
- private makeSwaggerProperyFromObject(keys: Array<string | number>, tabCount: number): string {
361
-
362
- const space = ' '.repeat(tabCount);
363
- let ymlString = `${space}properties:\n`;
364
-
365
- const properties = this.getProperty(keys).properties;
366
- for (const key of Object.keys(properties)) {
367
- const property = properties[key];
368
-
369
- ymlString += `${space} ${key}:\n`;
370
- ymlString += `${space} type: ${this.replaceFromPropertyTypeToSwagger(property)}\n`;
371
- if (property.description !== undefined) {
372
- const joinSpace = `\n${space} `;
373
- ymlString += `${space} description: |${joinSpace}${property.description.replaceAll("\n", joinSpace)}\n`;
374
- }
375
- switch (property.type) {
376
- case 'object':
377
- case 'object?':
378
- ymlString += this.makeSwaggerProperyFromObject([...keys, key], tabCount + 2);
379
- break;
380
- case 'array':
381
- case 'array?':
382
- ymlString += this.makeSwaggerPropertyFromArray([...keys, key], tabCount + 2);
383
- break;
384
- }
385
- }
386
-
387
- return ymlString;
388
- }
389
-
390
- /**
391
- * Generates Swagger properties from array type properties
392
- * 配列型のプロパティからSwaggerのプロパティを生成
393
- * @param {Array.<string|number>} keys - Path to the properties, プロパティへのパス
394
- * @returns {string} Swagger format property definition, Swagger形式のプロパティ定義
395
- */
396
- private makeSwaggerPropertyFromArray(keys: Array<string | number>, tabCount: number): string {
397
-
398
- const property = this.getProperty(keys).properties;
399
- const space = ' '.repeat(tabCount);
400
-
401
- let ymlString = `${space}items:\n`;
402
- ymlString += `${space} type: ${this.replaceFromPropertyTypeToSwagger(property)}\n`;
403
- if (property.description !== undefined) {
404
- const joinSpace = `\n${space} `;
405
- ymlString += `${space} description: |${joinSpace}${property.description.replaceAll("\n", joinSpace)}\n`;
406
- }
407
- switch (property.type) {
408
- case 'object':
409
- case 'object?':
410
- ymlString += this.makeSwaggerProperyFromObject([...keys, 0], tabCount + 1);
411
- break;
412
- case 'array':
413
- case 'array?':
414
- ymlString += this.makeSwaggerPropertyFromArray([...keys, 0], tabCount + 1);
415
- break;
416
- }
417
-
418
- return ymlString;
419
- }
420
- }
package/tsconfig.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES6",
4
- "module": "commonjs",
5
- "esModuleInterop": true,
6
- "lib": ["ES2021", "DOM"],
7
- "forceConsistentCasingInFileNames": true,
8
- "strict": true,
9
-
10
- "outDir": "./dist",
11
- "rootDir": "./src",
12
- },
13
- "include": ["src/**/*"]
14
- }