pwi-plata-type 0.4.72 → 0.4.74

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,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlataRuntimeE = void 0;
4
+ var PlataRuntimeE;
5
+ (function (PlataRuntimeE) {
6
+ PlataRuntimeE.switchUnion = (value, cases) => {
7
+ const f = cases[value];
8
+ if (f === undefined)
9
+ return cases['_default'](value);
10
+ return f(value);
11
+ };
12
+ PlataRuntimeE.switchUnionObject = (v, chave, cases) => {
13
+ if (v === undefined || v === null)
14
+ return cases['_default'](v);
15
+ const f = cases[v[chave]];
16
+ if (f === undefined)
17
+ return cases['_default'](v);
18
+ return f(v);
19
+ };
20
+ })(PlataRuntimeE = exports.PlataRuntimeE || (exports.PlataRuntimeE = {}));
21
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/bin/runtime/switch.ts"],"names":[],"mappings":";;;AAoCA,IAAiB,aAAa,CAwB7B;AAxBD,WAAiB,aAAa;IACb,yBAAW,GAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7D,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAQ,CAAA;QAE7B,IAAI,CAAC,KAAK,SAAS;YACf,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,KAAY,CAAQ,CAChD;QAED,OAAO,CAAC,CAAC,KAAY,CAAQ,CAAA;IACjC,CAAC,CAAA;IAEY,+BAAiB,GAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5E,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAQ,CACrC;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAEzB,IAAI,CAAC,KAAK,SAAS;YACf,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAQ,CACrC;QAED,OAAO,CAAC,CAAC,CAAC,CAAQ,CAAA;IACtB,CAAC,CAAA;AACL,CAAC,EAxBgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAwB7B"}
@@ -123,6 +123,111 @@ class Driver {
123
123
  });
124
124
  });
125
125
  }
126
+ async getColumns(table) {
127
+ return this.conn(table).columnInfo().catch(err => Plata.BuildPlataError({
128
+ errorID: 'PLSQL004',
129
+ msg: 'Erro ao consultar a estrutura da tabela',
130
+ error: err?.toString()
131
+ }));
132
+ }
133
+ getDefaultValue(type, value) {
134
+ if (value !== null) {
135
+ return value;
136
+ }
137
+ switch (type) {
138
+ case 'image':
139
+ return '';
140
+ case 'int':
141
+ case 'integer':
142
+ return 0;
143
+ case 'datetime2':
144
+ return null;
145
+ case 'decimal':
146
+ return 0;
147
+ case 'varbinary':
148
+ return '';
149
+ case 'text':
150
+ return '';
151
+ case 'smallint':
152
+ return 0;
153
+ case 'datetimeoffset':
154
+ return 0;
155
+ case 'varchar':
156
+ return '';
157
+ case 'binary':
158
+ return 0;
159
+ case 'datetime':
160
+ return null;
161
+ case 'time':
162
+ return null;
163
+ case 'numeric':
164
+ return 0;
165
+ case 'uniqueidentifier':
166
+ return 0;
167
+ case 'tinyint':
168
+ return 0;
169
+ case 'nchar':
170
+ return '';
171
+ case 'smalldatetime':
172
+ return null;
173
+ case 'float':
174
+ return 0;
175
+ case 'date':
176
+ return null;
177
+ case 'char':
178
+ return '';
179
+ case 'bigint':
180
+ return 0;
181
+ case 'nvarchar':
182
+ return '';
183
+ case 'sysname':
184
+ return '';
185
+ case 'bit':
186
+ return 0;
187
+ default:
188
+ return '';
189
+ }
190
+ }
191
+ async autoInsert(table, model, values, ignore) {
192
+ const columns = await this.getColumns(table);
193
+ if (columns.errorID !== undefined) {
194
+ return columns;
195
+ }
196
+ const newValues = [];
197
+ for (let i = 0; i < values.length; i++) {
198
+ const v = new Object(null);
199
+ for (const key in values[i]) {
200
+ v[key.toUpperCase()] = values[i][key];
201
+ }
202
+ const insertValues = new Object(null);
203
+ for (const key in columns) {
204
+ const n = key.toUpperCase();
205
+ if (ignore.find(c => c.toString().toUpperCase() === n) !== undefined) {
206
+ continue;
207
+ }
208
+ insertValues[n] = this.getDefaultValue(columns[key].type.toLowerCase(), v[n] ?? null);
209
+ }
210
+ newValues.push(insertValues);
211
+ }
212
+ const inserted = await this.conn(table).insert(newValues, '*', { includeTriggerModifications: true }).then(r => r, err => Plata.BuildPlataError({
213
+ errorID: 'PLSQL005',
214
+ msg: 'Erro ao inserir na tabela',
215
+ error: err?.toString()
216
+ }));
217
+ if (inserted.errorID !== undefined) {
218
+ return inserted;
219
+ }
220
+ const insertedRows = [];
221
+ for (let i = 0; i < inserted.length; i++) {
222
+ const item = inserted[i];
223
+ const insertedRow = new Object(null);
224
+ for (const key in item) {
225
+ insertedRow[key.toUpperCase()] = item[key];
226
+ }
227
+ insertedRows.push(insertedRow);
228
+ }
229
+ return insertedRows;
230
+ }
126
231
  }
127
232
  exports.Driver = Driver;
128
233
  class Query {
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/libs/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/libs/sql.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.72",
3
+ "version": "0.4.74",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -46,4 +46,4 @@
46
46
  "templates",
47
47
  "tsconfig.json"
48
48
  ]
49
- }
49
+ }
@@ -8,6 +8,13 @@ type RequireAsyncReturn<T> = PlataPromise<RequiredInterface<T>>
8
8
  type RequireFolderReturn<T> = PlataPromise<RequiredInterface<T>[]>
9
9
  type RequiredFolder<T> = Awaited<RequireFolderReturn<T>>
10
10
 
11
+ type StringKeyOfObject<T extends Object> = Exclude<{
12
+ [name in keyof T]:
13
+ name extends string ? name
14
+ : name extends number ? `${name}`
15
+ : undefined
16
+ }[keyof T], undefined>;
17
+
11
18
  type AnyRecord<T> = {
12
19
  [P in string]: T;
13
20
  }
@@ -60,6 +67,10 @@ type Dictionary<T> = {
60
67
  [key: string]: T
61
68
  }
62
69
 
70
+ type DictionaryRecord<K extends string | number, T> = {
71
+ [key in K]: T
72
+ }
73
+
63
74
  interface PlataEnvConfig {
64
75
  env: PlataEnv
65
76
  }
@@ -3,4 +3,5 @@
3
3
  /// <reference path="promises.ts" />
4
4
  /// <reference path="require.ts" />
5
5
  /// <reference path="fs.ts" />
6
- /// <reference path="sql.ts" />
6
+ /// <reference path="sql.ts" />
7
+ /// <reference path="switch.ts" />
@@ -0,0 +1,61 @@
1
+ declare global {
2
+ interface PlataRuntime extends PlataRuntimeEType {}
3
+ }
4
+
5
+ type PlataRuntimeEType = typeof PlataRuntimeE
6
+
7
+ type SwitchUnionObjectFunctionCases<V extends DictionaryRecord<string | number, any>, K extends keyof V> = {
8
+ [type in V[K] | '_default']:
9
+ type extends '_default' ? (v: V) => Promise<unknown>
10
+ : V extends { [P in K]: type } ? (v: V) => Promise<unknown>
11
+ : never
12
+ }
13
+
14
+ type SwitchUnionFunctionCases<V extends string | number> = {
15
+ [T in (V | '_default')]: T extends V ?
16
+ (v: T) => Promise<unknown>
17
+ : (v: unknown) => Promise<unknown>
18
+ }
19
+
20
+ type SwitchUnionFunction =
21
+ <V extends string | number, C extends SwitchUnionFunctionCases<V>>
22
+ (
23
+ values: V,
24
+ cases: C,
25
+ ) => PlataPromise<Awaited<ReturnType<C[V | '_default']>>>
26
+ ;
27
+
28
+ type SwitchUnionObjectFunction =
29
+ <V extends DictionaryRecord<string, any>, K extends keyof V, C extends SwitchUnionObjectFunctionCases<V, K> = SwitchUnionObjectFunctionCases<V, K>>
30
+ (
31
+ object: V,
32
+ chave: K,
33
+ cases: C
34
+ ) => PlataPromise<Awaited<ReturnType<C[V[K] | '_default']>>>
35
+ ;
36
+
37
+ export namespace PlataRuntimeE {
38
+ export const switchUnion: SwitchUnionFunction = (value, cases) => {
39
+ const f = cases[value] as any
40
+
41
+ if (f === undefined)
42
+ return cases['_default'](value as any) as any
43
+ ;
44
+
45
+ return f(value as any) as any
46
+ }
47
+
48
+ export const switchUnionObject: SwitchUnionObjectFunction = (v, chave, cases) => {
49
+ if (v === undefined || v === null)
50
+ return cases['_default'](v) as any
51
+ ;
52
+
53
+ const f = cases[v[chave]]
54
+
55
+ if (f === undefined)
56
+ return cases['_default'](v) as any
57
+ ;
58
+
59
+ return f(v) as any
60
+ }
61
+ }
package/src/libs/sql.ts CHANGED
@@ -161,6 +161,144 @@ export class Driver<InTransaction extends boolean> {
161
161
  }
162
162
  )
163
163
  }
164
+
165
+ public async getColumns(table: string): PlataPromise<Record<string | number | symbol, Knex.ColumnInfo>> {
166
+ return this.conn(table).columnInfo().catch(
167
+ err => Plata.BuildPlataError({
168
+ errorID: 'PLSQL004',
169
+ msg: 'Erro ao consultar a estrutura da tabela',
170
+ error: err?.toString()
171
+ })
172
+ )
173
+ }
174
+
175
+ private getDefaultValue(type: string, value: any | null): any {
176
+ if (value !== null) {
177
+ return value
178
+ }
179
+
180
+ switch (type) {
181
+ case 'image':
182
+ return ''
183
+ case 'int':
184
+ case 'integer':
185
+ return 0
186
+ case 'datetime2':
187
+ return null
188
+ case 'decimal':
189
+ return 0
190
+ case 'varbinary':
191
+ return ''
192
+ case 'text':
193
+ return ''
194
+ case 'smallint':
195
+ return 0
196
+ case 'datetimeoffset':
197
+ return 0
198
+ case 'varchar':
199
+ return ''
200
+ case 'binary':
201
+ return 0
202
+ case 'datetime':
203
+ return null
204
+ case 'time':
205
+ return null
206
+ case 'numeric':
207
+ return 0
208
+ case 'uniqueidentifier':
209
+ return 0
210
+ case 'tinyint':
211
+ return 0
212
+ case 'nchar':
213
+ return ''
214
+ case 'smalldatetime':
215
+ return null
216
+ case 'float':
217
+ return 0
218
+ case 'date':
219
+ return null
220
+ case 'char':
221
+ return ''
222
+ case 'bigint':
223
+ return 0
224
+ case 'nvarchar':
225
+ return ''
226
+ case 'sysname':
227
+ return ''
228
+ case 'bit':
229
+ return 0
230
+ default:
231
+ return ''
232
+ }
233
+ }
234
+
235
+ public async autoInsert<T extends Model.Template, C extends Model.Converters<T>>(table: string, model: ModelTemplate<T, C>, values: (Model.ParcialTemplateType<T>)[], ignore: StringKeyOfObject<T>[]): PlataPromise<Model.ExtractTemplateType<T>[]> {
236
+ const columns = await this.getColumns(table)
237
+
238
+ if (columns.errorID !== undefined) {
239
+ return columns
240
+ }
241
+
242
+ const newValues: any[] = []
243
+
244
+ for (let i = 0; i < values.length; i++) {
245
+ const v = new Object(null)
246
+
247
+ for (const key in values[i]) {
248
+ v[key.toUpperCase()] = values[i][key]
249
+ }
250
+
251
+ const insertValues = new Object(null)
252
+
253
+ for (const key in columns) {
254
+ const n = key.toUpperCase()
255
+
256
+ if (ignore.find(c => c.toString().toUpperCase() === n) !== undefined) {
257
+ continue
258
+ }
259
+
260
+ insertValues[n] = this.getDefaultValue(
261
+ columns[key].type.toLowerCase(),
262
+ v[n] ?? null
263
+ )
264
+ }
265
+
266
+ newValues.push(insertValues)
267
+ }
268
+
269
+ const inserted: PlataResult<any[]> = await this.conn(table).insert(
270
+ newValues,
271
+ '*',
272
+ { includeTriggerModifications: true }
273
+ ).then(
274
+ r => r,
275
+ err => Plata.BuildPlataError({
276
+ errorID: 'PLSQL005',
277
+ msg: 'Erro ao inserir na tabela',
278
+ error: err?.toString()
279
+ })
280
+ )
281
+
282
+ if (inserted.errorID !== undefined) {
283
+ return inserted
284
+ }
285
+
286
+ const insertedRows: any[] = []
287
+
288
+ for (let i = 0; i < inserted.length; i++) {
289
+ const item = inserted[i];
290
+
291
+ const insertedRow = new Object(null)
292
+
293
+ for (const key in item) {
294
+ insertedRow[key.toUpperCase()] = item[key]
295
+ }
296
+
297
+ insertedRows.push(insertedRow)
298
+ }
299
+
300
+ return insertedRows
301
+ }
164
302
  }
165
303
 
166
304
  export class Query<T extends Model.Template, C extends Model.Converters<T>> {
Binary file
@@ -6,6 +6,12 @@ CREATE TABLE TB_INSERT (
6
6
 
7
7
  INSERT INTO TB_INSERT (VL_PRECO,DS_OBS) VALUES (1, 'A');
8
8
 
9
+ CREATE TABLE TB_AUTOINSERT (
10
+ PK_ID INTEGER PRIMARY KEY AUTOINCREMENT,
11
+ VL_PRECO INTEGER NOT NULL,
12
+ DS_OBS TEXT NULL
13
+ );
14
+
9
15
  CREATE TABLE TB_UPDATE (
10
16
  PK_ID INTEGER PRIMARY KEY AUTOINCREMENT,
11
17
  VL_PRECO INTEGER NOT NULL,
@@ -114,6 +114,51 @@ describe('PlataSql', () => {
114
114
  }
115
115
  })
116
116
 
117
+ it('autoInsert', async () => {
118
+ const tabela = 'TB_AUTOINSERT'
119
+
120
+ const antes = await sql.select(tabela, modelSql).build(
121
+ s => s
122
+ ).toListAsync()
123
+
124
+ assert.strictEqual(antes.errorID, undefined)
125
+ assert.strictEqual(antes.errors, undefined)
126
+
127
+ const insert = await sql.autoInsert(tabela, modelSql, [{}], [ 'PK_ID' ])
128
+
129
+ assert.strictEqual(insert.errorID, undefined)
130
+ assert.strictEqual(insert.length, 1)
131
+
132
+ {
133
+ const inserted = insert[0]
134
+
135
+ for (const key in inserted) {
136
+ assert.notStrictEqual(inserted[key], null)
137
+ }
138
+ }
139
+
140
+ const depois = await sql.select(tabela, modelSql).build(
141
+ s => s
142
+ ).toListAsync()
143
+
144
+ assert.strictEqual(depois.errorID, undefined)
145
+ assert.strictEqual(depois.errors, undefined)
146
+
147
+ // Add TB_JOINTEST2 in insert itens
148
+ const i = insert.map(r => {
149
+ return {
150
+ ...r,
151
+ TB_JOINTEST2: []
152
+ }
153
+ })
154
+
155
+ const esperado = [...antes.itens, ...i]
156
+
157
+ for (let i = 0; i < depois.itens.length; i++) {
158
+ assert.deepStrictEqual(depois.itens[i], esperado[i])
159
+ }
160
+ })
161
+
117
162
  it('Update', async () => {
118
163
  const tabela = 'TB_UPDATE'
119
164
 
@@ -0,0 +1,77 @@
1
+ import { describe, it, before } from "node:test"
2
+ import assert from "node:assert"
3
+ import { PlataModels } from ".."
4
+ import { loadRuntimeLibs } from "../bin/runtime/_setupRuntime"
5
+
6
+ describe('Plata Switch', () => {
7
+ const plataPromise = (async () => {
8
+ const g = global as any
9
+
10
+ g.Plata = await loadRuntimeLibs()
11
+ })()
12
+
13
+ type TestUnion = 'Valor1' | 'Valor2'
14
+
15
+ type TestUnionObject = {
16
+ tipo: 'Tipo1'
17
+ valor: number
18
+ } | {
19
+ tipo: 'Tipo2'
20
+ valor: string
21
+ }
22
+
23
+ before(async () => {
24
+ await plataPromise
25
+ })
26
+
27
+ it('switch union (okay)', async () => {
28
+
29
+ const union = Math.ceil(Math.random() * 100) % 2 === 0 ? 'Valor1' : 'Valor2'
30
+
31
+ const result = await Plata.switchUnion(union, {
32
+ _default: async () => false,
33
+ Valor1: async () => true,
34
+ Valor2: async () => true,
35
+ })
36
+
37
+ assert.strictEqual(result, true)
38
+ })
39
+
40
+ it('switch union (nao okay)', async () => {
41
+ const result = await Plata.switchUnion('Valor3' as TestUnion, {
42
+ _default: async () => false,
43
+ Valor1: async () => true,
44
+ Valor2: async () => true,
45
+ })
46
+
47
+ assert.strictEqual(result, false)
48
+ })
49
+
50
+ it('switch union object (okay)', async () => {
51
+ const union: TestUnionObject = Math.ceil(Math.random() * 100) % 2 === 0 ? {
52
+ tipo: 'Tipo1',
53
+ valor: 1,
54
+ } : {
55
+ tipo: 'Tipo2',
56
+ valor: '',
57
+ }
58
+
59
+ const result = await Plata.switchUnionObject(union, 'tipo', {
60
+ _default: async (v) => false,
61
+ Tipo1: async (v) => v.valor === 1,
62
+ Tipo2: async (v) => v.valor === '',
63
+ })
64
+
65
+ assert.strictEqual(result, true)
66
+ })
67
+
68
+ it('switch union object (não okay)', async () => {
69
+ const result = await Plata.switchUnionObject({} as any, 'tipo', {
70
+ _default: async (v) => true,
71
+ Tipo1: async (v) => false,
72
+ Tipo2: async (v) => false,
73
+ })
74
+
75
+ assert.strictEqual(result, true)
76
+ })
77
+ })
@@ -1,7 +1,8 @@
1
1
  # Ambiente:
2
2
  ENV=debug
3
3
 
4
-
4
+ # Tira timezone das datas que chegam para API
5
+ TZ=Etc/GMT
5
6
 
6
7
  # Configurações da plata:
7
8
  PORT=3050
@@ -1,8 +1,8 @@
1
1
  # Ambiente:
2
2
  ENV=homolog
3
3
 
4
-
5
-
4
+ # Tira timezone das datas que chegam para API
5
+ TZ=Etc/GMT
6
6
 
7
7
  # Configurações da plata:
8
8
  PORT=3050
@@ -1,8 +1,8 @@
1
1
  # Ambiente:
2
2
  ENV=prod
3
3
 
4
-
5
-
4
+ # Tira timezone das datas que chegam para API
5
+ TZ=Etc/GMT
6
6
 
7
7
  # Configurações da plata:
8
8
  PORT=3050