prostgles-types 4.0.113 → 4.0.114

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/dist/index.d.ts CHANGED
@@ -25,12 +25,33 @@ export declare const TS_PG_Types: {
25
25
  readonly any: readonly ["json", "jsonb", "interval"];
26
26
  };
27
27
  export type TS_COLUMN_DATA_TYPES = keyof typeof TS_PG_Types;
28
+ /**
29
+ * Generated Typescript schema for the tables and views in the database
30
+ * Example:
31
+ *
32
+ *
33
+ * type DBSchema = {
34
+ * ..view_name: {
35
+ * is_view: boolean;
36
+ * select: boolean;
37
+ * insert: boolean;
38
+ * update: boolean;
39
+ * delete: boolean;
40
+ * insertColumns: { col1?: number | null; col2: string; }
41
+ * columns: { col1: number | null; col2: string; }
42
+ * }
43
+ * }
44
+ */
28
45
  export type DBTableSchema = {
29
46
  is_view?: boolean;
30
47
  select?: boolean;
31
48
  insert?: boolean;
32
49
  update?: boolean;
33
50
  delete?: boolean;
51
+ /**
52
+ * Used in update, insertm select and filters
53
+ * fields that are nullable or with a default value are be optional
54
+ */
34
55
  columns: AnyObject;
35
56
  };
36
57
  export type DBSchema = {
@@ -38,37 +59,108 @@ export type DBSchema = {
38
59
  };
39
60
  export type ColumnInfo = {
40
61
  name: string;
62
+ /**
63
+ * Column display name. Will be first non empty value from i18n data, comment, name
64
+ */
41
65
  label: string;
66
+ /**
67
+ * Column description (if provided)
68
+ */
42
69
  comment: string;
70
+ /**
71
+ * Ordinal position of the column within the table (count starts at 1)
72
+ */
43
73
  ordinal_position: number;
74
+ /**
75
+ * True if column is nullable. A not-null constraint is one way a column can be known not nullable, but there may be others.
76
+ */
44
77
  is_nullable: boolean;
45
78
  is_updatable: boolean;
79
+ /**
80
+ * If the column is a generated column (converted to boolean from ALWAYS and NEVER)
81
+ */
46
82
  is_generated: boolean;
83
+ /**
84
+ * Simplified data type
85
+ */
47
86
  data_type: string;
87
+ /**
88
+ * Postgres raw data types. values starting with underscore means it's an array of that data type
89
+ */
48
90
  udt_name: PG_COLUMN_UDT_DATA_TYPE;
91
+ /**
92
+ * Element data type
93
+ */
49
94
  element_type: string;
95
+ /**
96
+ * Element raw data type
97
+ */
50
98
  element_udt_name: string;
99
+ /**
100
+ * PRIMARY KEY constraint on column. A table can have more then one PK
101
+ */
51
102
  is_pkey: boolean;
103
+ /**
104
+ * Foreign key constraint
105
+ * A column can reference multiple tables
106
+ */
52
107
  references?: {
53
108
  ftable: string;
54
109
  fcols: string[];
55
110
  cols: string[];
56
111
  }[];
112
+ /**
113
+ * true if column has a default value
114
+ * Used for excluding pkey from insert
115
+ */
57
116
  has_default: boolean;
117
+ /**
118
+ * Column default value
119
+ */
58
120
  column_default?: any;
121
+ /**
122
+ * Extracted from tableConfig
123
+ * Used in SmartForm
124
+ */
59
125
  min?: string | number;
60
126
  max?: string | number;
61
127
  hint?: string;
62
128
  jsonbSchema?: JSONB.JSONBSchema;
129
+ /**
130
+ * If degined then this column is referencing the file table
131
+ * Extracted from FileTable config
132
+ * Used in SmartForm
133
+ */
63
134
  file?: FileColumnConfig;
64
135
  };
65
136
  export type ValidatedColumnInfo = ColumnInfo & {
137
+ /**
138
+ * TypeScript data type
139
+ */
66
140
  tsDataType: TS_COLUMN_DATA_TYPES;
141
+ /**
142
+ * Can be viewed/selected
143
+ */
67
144
  select: boolean;
145
+ /**
146
+ * Can be ordered by
147
+ */
68
148
  orderBy: boolean;
149
+ /**
150
+ * Can be filtered by
151
+ */
69
152
  filter: boolean;
153
+ /**
154
+ * Can be inserted
155
+ */
70
156
  insert: boolean;
157
+ /**
158
+ * Can be updated
159
+ */
71
160
  update: boolean;
161
+ /**
162
+ * Can be used in the delete filter
163
+ */
72
164
  delete: boolean;
73
165
  };
74
166
  export type DBSchemaTable = {
@@ -76,8 +168,20 @@ export type DBSchemaTable = {
76
168
  info: TableInfo;
77
169
  columns: ValidatedColumnInfo[];
78
170
  };
171
+ /**
172
+ * List of fields to include or exclude
173
+ */
79
174
  export type FieldFilter<T extends AnyObject = AnyObject> = SelectTyped<T>;
80
175
  export type AscOrDesc = 1 | -1 | boolean;
176
+ /**
177
+ * @example
178
+ * { product_name: -1 } -> SORT BY product_name DESC
179
+ * [{ field_name: (1 | -1 | boolean) }]
180
+ * true | 1 -> ascending
181
+ * false | -1 -> descending
182
+ * Array order is maintained
183
+ * if nullEmpty is true then empty text will be replaced to null (so nulls sorting takes effect on it)
184
+ */
81
185
  export type _OrderBy<T extends AnyObject> = {
82
186
  [K in keyof Partial<T>]: AscOrDesc;
83
187
  } | {
@@ -105,6 +209,11 @@ export type JoinCondition = {
105
209
  } | ComplexFilter;
106
210
  export type JoinPath = {
107
211
  table: string;
212
+ /**
213
+ * {
214
+ * leftColumn: "rightColumn"
215
+ * }
216
+ */
108
217
  on?: Record<string, string>[];
109
218
  };
110
219
  export type RawJoinPath = string | (JoinPath | string)[];
@@ -118,13 +227,21 @@ export type DetailedJoinSelect = Partial<Record<typeof JOIN_KEYS[number], RawJoi
118
227
  } & ({
119
228
  $condition?: undefined;
120
229
  } | {
230
+ /**
231
+ * If present then will overwrite $path and any inferred joins
232
+ */
121
233
  $condition?: JoinCondition[];
122
234
  });
123
- export type SimpleJoinSelect = "*" | Record<string, 1 | "*" | true | FunctionSelect> | Record<string, 0 | false>;
235
+ export type SimpleJoinSelect = "*"
236
+ /** Aliased Shorthand join: table_name: { ...select } */
237
+ | Record<string, 1 | "*" | true | FunctionSelect> | Record<string, 0 | false>;
124
238
  export type JoinSelect = SimpleJoinSelect | DetailedJoinSelect;
125
239
  type FunctionShorthand = string;
126
240
  type FunctionFull = Record<string, any[] | readonly any[] | FunctionShorthand>;
127
241
  type FunctionSelect = FunctionShorthand | FunctionFull;
242
+ /**
243
+ * { computed_field: { funcName: [args] } }
244
+ */
128
245
  type FunctionAliasedSelect = Record<string, FunctionFull>;
129
246
  type InclusiveSelect = true | 1 | FunctionSelect | JoinSelect;
130
247
  type SelectFuncs<T extends AnyObject = AnyObject, IsTyped = false> = (({
@@ -134,6 +251,7 @@ type SelectFuncs<T extends AnyObject = AnyObject, IsTyped = false> = (({
134
251
  } | {
135
252
  [K in keyof Partial<T>]: 0 | false;
136
253
  } | CommonSelect | (keyof Partial<T>)[]);
254
+ /** S param is needed to ensure the non typed select works fine */
137
255
  export type Select<T extends AnyObject | void = void, S extends DBSchema | void = void> = {
138
256
  t: T;
139
257
  s: S;
@@ -149,30 +267,116 @@ export type SelectBasic = {
149
267
  [key: string]: any;
150
268
  } | {} | undefined | "" | "*";
151
269
  type CommonSelectParams = {
270
+ /**
271
+ * Max number of rows to return
272
+ * - If undefined then 1000 will be applied as the default
273
+ * - On client publish rules can affect this behaviour: cannot request more than the maxLimit (if present)
274
+ */
152
275
  limit?: number | null;
276
+ /**
277
+ * Number of rows to skip
278
+ */
153
279
  offset?: number;
280
+ /**
281
+ * Will group by all non aggregated fields specified in select (or all fields by default)
282
+ */
154
283
  groupBy?: boolean;
155
- returnType?: "row" | "value" | "values" | "statement" | "statement-no-rls" | "statement-where";
284
+ /**
285
+ * Result data structure/type:
286
+ * - row: the first row as an object
287
+ * - value: the first value from of first field
288
+ * - values: array of values from the selected field
289
+ * - statement: sql statement
290
+ * - statement-no-rls: sql statement without row level security
291
+ * - statement-where: sql statement where condition
292
+ */
293
+ returnType?:
294
+ /**
295
+ * Will return the first row as an object. Will throw an error if more than a row is returned. Use limit: 1 to avoid error.
296
+ */
297
+ "row"
298
+ /**
299
+ * Will return the first value from the selected field
300
+ */
301
+ | "value"
302
+ /**
303
+ * Will return an array of values from the selected field. Similar to array_agg(field).
304
+ */
305
+ | "values"
306
+ /**
307
+ * Will return the sql statement. Requires publishRawSQL privileges if called by client
308
+ */
309
+ | "statement"
310
+ /**
311
+ * Will return the sql statement excluding the user header. Requires publishRawSQL privileges if called by client
312
+ */
313
+ | "statement-no-rls"
314
+ /**
315
+ * Will return the sql statement where condition. Requires publishRawSQL privileges if called by client
316
+ */
317
+ | "statement-where";
156
318
  };
157
319
  export type SelectParams<T extends AnyObject | void = void, S extends DBSchema | void = void> = CommonSelectParams & {
320
+ /**
321
+ * Fields/expressions/linked data to select
322
+ * - If empty then all fields will be selected
323
+ * - If "*" then all fields will be selected
324
+ * - If { field: 0 } then all fields except the specified field will be selected
325
+ * - If { field: 1 } then only the specified field will be selected
326
+ * - If { field: { funcName: [args] } } then the field will be selected with the specified function applied
327
+ * - If { field: { nestedTable: { field: 1 } } } then the field will be selected with the nested table fields
328
+ */
158
329
  select?: Select<T, S>;
330
+ /**
331
+ * Order by options
332
+ * - If array then the order will be maintained
333
+ */
159
334
  orderBy?: OrderBy<S extends DBSchema ? T : void>;
335
+ /**
336
+ * Filter applied after any aggregations (group by)
337
+ */
160
338
  having?: FullFilter<T, S>;
161
339
  };
162
340
  export type SubscribeParams<T extends AnyObject | void = void, S extends DBSchema | void = void> = SelectParams<T, S> & {
341
+ /**
342
+ * If true then the subscription will be throttled to the provided number of milliseconds
343
+ */
163
344
  throttle?: number;
164
345
  throttleOpts?: {
346
+ /**
347
+ * False by default.
348
+ * If true then the first value will be emitted at the end of the interval. Instant otherwise
349
+ * */
165
350
  skipFirst?: boolean;
166
351
  };
167
352
  };
168
353
  export type UpdateParams<T extends AnyObject | void = void, S extends DBSchema | void = void> = {
354
+ /**
355
+ * If defined will returns the specified fields of the updated record(s)
356
+ */
169
357
  returning?: Select<T, S>;
358
+ /**
359
+ * Used for sync.
360
+ * If true then only valid and allowed fields will be updated
361
+ */
170
362
  removeDisallowedFields?: boolean;
171
363
  multi?: boolean;
172
364
  } & Pick<CommonSelectParams, "returnType">;
173
365
  export type InsertParams<T extends AnyObject | void = void, S extends DBSchema | void = void> = {
366
+ /**
367
+ * If defined will returns the specified fields of the updated record(s)
368
+ */
174
369
  returning?: Select<T, S>;
370
+ /**
371
+ * By default the insert may fail due to a unique/exclusion constraint violation error. To control this:
372
+ * - DoNothing: will ignore the error and do nothing
373
+ * - DoUpdate: will update all non primary key columns of the conflicting row
374
+ */
175
375
  onConflict?: "DoNothing" | "DoUpdate";
376
+ /**
377
+ * Used for sync.
378
+ * If true then only valid and allowed fields will be inserted
379
+ */
176
380
  removeDisallowedFields?: boolean;
177
381
  } & Pick<CommonSelectParams, "returnType">;
178
382
  export type DeleteParams<T extends AnyObject | void = void, S extends DBSchema | void = void> = {
@@ -180,23 +384,54 @@ export type DeleteParams<T extends AnyObject | void = void, S extends DBSchema |
180
384
  } & Pick<CommonSelectParams, "returnType">;
181
385
  export type PartialLax<T = AnyObject> = Partial<T>;
182
386
  export type TableInfo = {
387
+ /**
388
+ * OID from the postgres database
389
+ * Useful in handling renamed tables
390
+ */
183
391
  oid: number;
392
+ /**
393
+ * Comment from the postgres database
394
+ */
184
395
  comment?: string;
396
+ /**
397
+ * Defined if this is the fileTable
398
+ */
185
399
  isFileTable?: {
400
+ /**
401
+ * Defined if direct inserts are disabled.
402
+ * Only nested inserts through the specified tables/columns are allowed
403
+ * */
186
404
  allowedNestedInserts?: {
187
405
  table: string;
188
406
  column: string;
189
407
  }[] | undefined;
190
408
  };
409
+ /**
410
+ * True if fileTable is enabled and this table references the fileTable
411
+ */
191
412
  hasFiles?: boolean;
192
413
  isView?: boolean;
414
+ /**
415
+ * Name of the fileTable (if enabled)
416
+ */
193
417
  fileTableName?: string;
418
+ /**
419
+ * Used for getColumns in cases where the columns are dynamic based on the request.
420
+ * See dynamicFields from Update rules
421
+ */
194
422
  dynamicRules?: {
195
423
  update?: boolean;
196
424
  };
425
+ /**
426
+ * Additional table info provided through TableConfig
427
+ */
197
428
  info?: {
198
429
  label?: string;
199
430
  };
431
+ /**
432
+ * List of unique column indexes/constraints.
433
+ * Column groups where at least a column is not allowed to be viewed (selected) are omitted.
434
+ */
200
435
  uniqueColumnGroups: string[][] | undefined;
201
436
  };
202
437
  export type OnError = (err: any) => void;
@@ -249,22 +484,66 @@ type GetColumns = (lang?: string, params?: {
249
484
  filter: AnyObject;
250
485
  }) => Promise<ValidatedColumnInfo[]>;
251
486
  export type ViewHandler<TD extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
487
+ /**
488
+ * Retrieves the table/view info
489
+ */
252
490
  getInfo?: (lang?: string) => Promise<TableInfo>;
491
+ /**
492
+ * Retrieves columns metadata of the table/view
493
+ */
253
494
  getColumns?: GetColumns;
495
+ /**
496
+ * Retrieves a list of matching records from the view/table
497
+ */
254
498
  find: <P extends SelectParams<TD, S>>(filter?: FullFilter<TD, S>, selectParams?: P) => Promise<GetSelectReturnType<S, P, TD, true>>;
499
+ /**
500
+ * Retrieves a record from the view/table
501
+ */
255
502
  findOne: <P extends SelectParams<TD, S>>(filter?: FullFilter<TD, S>, selectParams?: P) => Promise<undefined | GetSelectReturnType<S, P, TD, false>>;
503
+ /**
504
+ * Retrieves a list of matching records from the view/table and subscribes to changes
505
+ */
256
506
  subscribe: <P extends SubscribeParams<TD, S>>(filter: FullFilter<TD, S>, params: P, onData: (items: GetSelectReturnType<S, P, TD, true>) => any, onError?: OnError) => Promise<SubscriptionHandler>;
507
+ /**
508
+ * Retrieves first matching record from the view/table and subscribes to changes
509
+ */
257
510
  subscribeOne: <P extends SubscribeParams<TD, S>>(filter: FullFilter<TD, S>, params: P, onData: (item: GetSelectReturnType<S, P, TD, false> | undefined) => any, onError?: OnError) => Promise<SubscriptionHandler>;
511
+ /**
512
+ * Returns the number of rows that match the filter
513
+ */
258
514
  count: <P extends SelectParams<TD, S>>(filter?: FullFilter<TD, S>, selectParams?: P) => Promise<number>;
515
+ /**
516
+ * Returns result size in bits
517
+ */
259
518
  size: <P extends SelectParams<TD, S>>(filter?: FullFilter<TD, S>, selectParams?: P) => Promise<string>;
260
519
  };
261
520
  type UpsertDataToPGCastLax<T extends AnyObject> = PartialLax<UpsertDataToPGCast<T>>;
262
521
  type InsertData<T extends AnyObject> = UpsertDataToPGCast<T> | UpsertDataToPGCast<T>[];
263
522
  export type TableHandler<TD extends AnyObject = AnyObject, S extends DBSchema | void = void> = ViewHandler<TD, S> & {
523
+ /**
524
+ * Updates a record in the table based on the specified filter criteria
525
+ * - Use { multi: false } to ensure no more than one row is updated
526
+ */
264
527
  update: <P extends UpdateParams<TD, S>>(filter: FullFilter<TD, S>, newData: UpsertDataToPGCastLax<TD>, params?: P) => Promise<GetUpdateReturnType<P, TD, S> | undefined>;
528
+ /**
529
+ * Updates multiple records in the table in a batch operation.
530
+ * - Each item in the `data` array contains a filter and the corresponding data to update.
531
+ */
265
532
  updateBatch: <P extends UpdateParams<TD, S>>(data: [FullFilter<TD, S>, UpsertDataToPGCastLax<TD>][], params?: P) => Promise<GetUpdateReturnType<P, TD, S> | void>;
533
+ /**
534
+ * Inserts a new record into the table.
535
+ */
266
536
  insert: <P extends InsertParams<TD, S>, D extends InsertData<TD>>(data: D, params?: P) => Promise<GetInsertReturnType<D, P, TD, S>>;
537
+ /**
538
+ * Inserts or updates a record in the table.
539
+ * - If a record matching the `filter` exists, it updates the record.
540
+ * - If no matching record exists, it inserts a new record.
541
+ */
267
542
  upsert: <P extends UpdateParams<TD, S>>(filter: FullFilter<TD, S>, newData: UpsertDataToPGCastLax<TD>, params?: P) => Promise<GetUpdateReturnType<P, TD, S>>;
543
+ /**
544
+ * Deletes records from the table based on the specified filter criteria.
545
+ * - If no filter is provided, all records may be deleted (use with caution).
546
+ */
268
547
  delete: <P extends DeleteParams<TD, S>>(filter?: FullFilter<TD, S>, params?: P) => Promise<GetUpdateReturnType<P, TD, S> | undefined>;
269
548
  };
270
549
  export type JoinMakerOptions<TT extends AnyObject = AnyObject> = SelectParams<TT> & {
@@ -337,7 +616,14 @@ export type SocketSQLStreamClient = SocketSQLStreamServer & {
337
616
  };
338
617
  export type CheckForListen<T, O extends SQLOptions> = O["allowListen"] extends true ? (DBEventHandles | T) : T;
339
618
  export type GetSQLReturnType<O extends SQLOptions> = CheckForListen<(O["returnType"] extends "row" ? AnyObject | null : O["returnType"] extends "rows" ? AnyObject[] : O["returnType"] extends "value" ? any | null : O["returnType"] extends "values" ? any[] : O["returnType"] extends "statement" ? string : O["returnType"] extends "noticeSubscription" ? DBEventHandles : O["returnType"] extends "stream" ? SocketSQLStreamClient : SQLResult<O["returnType"]>), O>;
340
- export type SQLHandler = <Opts extends SQLOptions>(query: string, args?: AnyObject | any[], options?: Opts, serverSideOptions?: {
619
+ export type SQLHandler =
620
+ /**
621
+ *
622
+ * @param query <string> query. e.g.: SELECT * FROM users;
623
+ * @param params <any[] | object> query arguments to be escaped. e.g.: { name: 'dwadaw' }
624
+ * @param options <object> { returnType: "statement" | "rows" | "noticeSubscription" }
625
+ */
626
+ <Opts extends SQLOptions>(query: string, args?: AnyObject | any[], options?: Opts, serverSideOptions?: {
341
627
  socket: any;
342
628
  } | {
343
629
  httpReq: any;
@@ -363,11 +649,32 @@ export type DBNotifConfig = DBNoticeConfig & {
363
649
  notifChannel: string;
364
650
  };
365
651
  export type SQLOptions = {
652
+ /**
653
+ * Return type of the query
654
+ */
366
655
  returnType?: Required<SelectParams>["returnType"] | "default-with-rollback" | "statement" | "rows" | "noticeSubscription" | "arrayMode" | "stream";
656
+ /**
657
+ * If allowListen not specified and a LISTEN query is issued then expect error
658
+ */
367
659
  allowListen?: boolean;
660
+ /**
661
+ * Positive integer that works only with returnType="stream".
662
+ * If provided then the query will be cancelled when the specified number of rows have been streamed
663
+ */
368
664
  streamLimit?: number;
665
+ /**
666
+ * If true then the connection will be persisted and used for subsequent queries
667
+ */
369
668
  persistStreamConnection?: boolean;
669
+ /**
670
+ * connectionId of the stream connection to use
671
+ * Acquired from the first query with persistStreamConnection=true
672
+ */
370
673
  streamConnectionId?: string;
674
+ /**
675
+ * If false then the query will not be checked for params. Used to ignore queries with param like text (e.g.: ${someText} )
676
+ * Defaults to true
677
+ */
371
678
  hasParams?: boolean;
372
679
  };
373
680
  export type SQLRequest = {
@@ -397,12 +704,18 @@ export declare const CHANNELS: {
397
704
  LOGIN: string;
398
705
  LOGOUT: string;
399
706
  AUTHGUARD: string;
707
+ /**
708
+ * Used for sending any connection errors from onSocketConnect
709
+ */
400
710
  CONNECTION: string;
401
711
  _preffix: string;
402
712
  };
403
713
  export type SubscriptionChannels = {
714
+ /** Used by server to emit data to client */
404
715
  channelName: string;
716
+ /** Used by client to confirm when ready */
405
717
  channelNameReady: string;
718
+ /** Used by client to stop subscription */
406
719
  channelNameUnsubscribe: string;
407
720
  };
408
721
  export type AuthGuardLocation = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}