@vritti/api-sdk 0.3.3 → 0.3.6

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 (133) hide show
  1. package/dist/auth.cjs +942 -0
  2. package/dist/auth.cjs.map +1 -0
  3. package/dist/auth.d.cts +95 -0
  4. package/dist/auth.d.ts +95 -0
  5. package/dist/auth.js +884 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/cache.cjs +182 -14
  8. package/dist/cache.cjs.map +1 -1
  9. package/dist/cache.d.cts +48 -4
  10. package/dist/cache.d.ts +48 -4
  11. package/dist/cache.js +177 -12
  12. package/dist/cache.js.map +1 -1
  13. package/dist/catalog-resolver.cjs +337 -140
  14. package/dist/catalog-resolver.cjs.map +1 -1
  15. package/dist/catalog-resolver.d.cts +70 -45
  16. package/dist/catalog-resolver.d.ts +70 -45
  17. package/dist/catalog-resolver.js +322 -135
  18. package/dist/catalog-resolver.js.map +1 -1
  19. package/dist/code-pattern-BP4zkNtT.d.cts +12 -0
  20. package/dist/code-pattern-BP4zkNtT.d.ts +12 -0
  21. package/dist/context.cjs +93 -0
  22. package/dist/context.cjs.map +1 -0
  23. package/dist/context.d.cts +19 -0
  24. package/dist/context.d.ts +19 -0
  25. package/dist/context.js +64 -0
  26. package/dist/context.js.map +1 -0
  27. package/dist/countries.cjs +1559 -0
  28. package/dist/countries.cjs.map +1 -0
  29. package/dist/countries.d.cts +13 -0
  30. package/dist/countries.d.ts +13 -0
  31. package/dist/countries.js +1532 -0
  32. package/dist/countries.js.map +1 -0
  33. package/dist/data-table.cjs +1280 -0
  34. package/dist/data-table.cjs.map +1 -0
  35. package/dist/data-table.d.cts +123 -0
  36. package/dist/data-table.d.ts +123 -0
  37. package/dist/data-table.js +1260 -0
  38. package/dist/data-table.js.map +1 -0
  39. package/dist/database.cjs +1510 -0
  40. package/dist/database.cjs.map +1 -0
  41. package/dist/database.d.cts +287 -0
  42. package/dist/database.d.ts +287 -0
  43. package/dist/database.js +1469 -0
  44. package/dist/database.js.map +1 -0
  45. package/dist/decimal.d.cts +0 -1
  46. package/dist/decimal.d.ts +0 -1
  47. package/dist/decorators.cjs +1817 -0
  48. package/dist/decorators.cjs.map +1 -0
  49. package/dist/decorators.d.cts +24 -0
  50. package/dist/decorators.d.ts +24 -0
  51. package/dist/decorators.js +1780 -0
  52. package/dist/decorators.js.map +1 -0
  53. package/dist/drizzle-pg-core.cjs +25 -0
  54. package/dist/drizzle-pg-core.cjs.map +1 -1
  55. package/dist/drizzle-pg-core.d.cts +7 -0
  56. package/dist/drizzle-pg-core.d.ts +7 -0
  57. package/dist/drizzle-pg-core.js +22 -0
  58. package/dist/drizzle-pg-core.js.map +1 -1
  59. package/dist/exceptions.cjs +301 -0
  60. package/dist/exceptions.cjs.map +1 -0
  61. package/dist/exceptions.d.cts +90 -0
  62. package/dist/exceptions.d.ts +90 -0
  63. package/dist/exceptions.js +257 -0
  64. package/dist/exceptions.js.map +1 -0
  65. package/dist/filter.types-PuARU9XD.d.cts +50 -0
  66. package/dist/filter.types-PuARU9XD.d.ts +50 -0
  67. package/dist/filters.cjs +407 -0
  68. package/dist/filters.cjs.map +1 -0
  69. package/dist/filters.d.cts +55 -0
  70. package/dist/filters.d.ts +55 -0
  71. package/dist/filters.js +377 -0
  72. package/dist/filters.js.map +1 -0
  73. package/dist/index.cjs +0 -5423
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.d.cts +93 -854
  76. package/dist/index.d.ts +93 -854
  77. package/dist/index.js +0 -5301
  78. package/dist/index.js.map +1 -1
  79. package/dist/is-country.decorator-CcNwSSr5.d.cts +5 -0
  80. package/dist/is-country.decorator-CcNwSSr5.d.ts +5 -0
  81. package/dist/license.d.cts +1 -1
  82. package/dist/license.d.ts +1 -1
  83. package/dist/lodash.cjs.map +1 -1
  84. package/dist/lodash.js.map +1 -1
  85. package/dist/logger.cjs +862 -0
  86. package/dist/logger.cjs.map +1 -0
  87. package/dist/logger.d.cts +118 -0
  88. package/dist/logger.d.ts +118 -0
  89. package/dist/logger.js +816 -0
  90. package/dist/logger.js.map +1 -0
  91. package/dist/migrate.cjs +2 -2
  92. package/dist/migrate.cjs.map +1 -1
  93. package/dist/migrate.d.cts +2 -0
  94. package/dist/migrate.d.ts +2 -0
  95. package/dist/migrate.js +2 -2
  96. package/dist/migrate.js.map +1 -1
  97. package/dist/money.cjs +18 -3
  98. package/dist/money.cjs.map +1 -1
  99. package/dist/money.d.cts +13 -13
  100. package/dist/money.d.ts +13 -13
  101. package/dist/money.js +18 -3
  102. package/dist/money.js.map +1 -1
  103. package/dist/nats.cjs +34 -35
  104. package/dist/nats.cjs.map +1 -1
  105. package/dist/nats.d.cts +14 -14
  106. package/dist/nats.d.ts +14 -14
  107. package/dist/nats.js +32 -33
  108. package/dist/nats.js.map +1 -1
  109. package/dist/root.cjs +225 -0
  110. package/dist/root.cjs.map +1 -0
  111. package/dist/root.d.cts +4 -0
  112. package/dist/root.d.ts +4 -0
  113. package/dist/root.js +200 -0
  114. package/dist/root.js.map +1 -0
  115. package/dist/{types-DQRwj5rr.d.cts → types-BBK6MG-U.d.cts} +37 -6
  116. package/dist/{types-DQRwj5rr.d.ts → types-BBK6MG-U.d.ts} +37 -6
  117. package/dist/types.cjs +19 -0
  118. package/dist/types.cjs.map +1 -0
  119. package/dist/types.d.cts +17 -0
  120. package/dist/types.d.ts +17 -0
  121. package/dist/types.js +1 -0
  122. package/dist/types.js.map +1 -0
  123. package/dist/utils.cjs +273 -0
  124. package/dist/utils.cjs.map +1 -0
  125. package/dist/utils.d.cts +8 -0
  126. package/dist/utils.d.ts +8 -0
  127. package/dist/utils.js +245 -0
  128. package/dist/utils.js.map +1 -0
  129. package/package.json +122 -1
  130. package/dist/cache.service-_SuJIcNA.d.cts +0 -20
  131. package/dist/cache.service-_SuJIcNA.d.ts +0 -20
  132. package/dist/fastify-augmentation-CQPBNS5a.d.cts +0 -105
  133. package/dist/fastify-augmentation-CQPBNS5a.d.ts +0 -105
@@ -0,0 +1,287 @@
1
+ import { InjectionToken, DynamicModule, OnModuleInit, OnModuleDestroy, Logger } from '@nestjs/common';
2
+ import { PoolClient } from 'pg';
3
+ import { T as TableViewState, F as FilterOperator, a as FilterCondition, S as SearchState, b as SortCondition } from './filter.types-PuARU9XD.js';
4
+ export { C as ColumnPinning, D as DensityType, c as FilterOperators } from './filter.types-PuARU9XD.js';
5
+ import { Column, SQL, InferInsertModel, InferSelectModel, InferSelectViewModel } from 'drizzle-orm';
6
+ import { PgTable, PgSequence, PgColumn } from 'drizzle-orm/pg-core';
7
+ import { PgViewBase } from 'drizzle-orm/pg-core/view-base';
8
+ import { NodePgDatabase } from 'drizzle-orm/node-postgres';
9
+
10
+ interface PrimaryDbConfig {
11
+ host: string;
12
+ port?: number;
13
+ username: string;
14
+ password: string;
15
+ database: string;
16
+ schema?: string;
17
+ sslMode?: 'require' | 'prefer' | 'disable' | 'no-verify';
18
+ }
19
+ interface DatabaseModuleOptions {
20
+ primaryDb: PrimaryDbConfig;
21
+ drizzleRelations?: Record<string, any>;
22
+ maxConnections?: number;
23
+ applyRlsContext?: (client: PoolClient, ctx: unknown) => Promise<void>;
24
+ }
25
+
26
+ declare class DatabaseModule {
27
+ static forServer<T extends unknown[] = unknown[]>(options: {
28
+ useFactory: (...args: [...T]) => Promise<DatabaseModuleOptions> | DatabaseModuleOptions;
29
+ inject?: InjectionToken[];
30
+ }): DynamicModule;
31
+ }
32
+
33
+ declare class CreateResponseDto<T> {
34
+ success: boolean;
35
+ message: string;
36
+ data: T;
37
+ }
38
+
39
+ declare class CursorListResponseDto<T> {
40
+ items: T[];
41
+ nextCursor: string | null;
42
+ hasMore: boolean;
43
+ }
44
+
45
+ declare class ValidatedRowDto {
46
+ index: number;
47
+ data: Record<string, string>;
48
+ valid: boolean;
49
+ errors: string[];
50
+ }
51
+ declare class ImportSummaryDto {
52
+ total: number;
53
+ valid: number;
54
+ invalid: number;
55
+ }
56
+ declare class ImportResponseDto {
57
+ success: boolean;
58
+ message: string;
59
+ created?: number;
60
+ updated?: number;
61
+ skipped?: number;
62
+ rows?: ValidatedRowDto[];
63
+ summary?: ImportSummaryDto;
64
+ }
65
+
66
+ declare class SelectOptionsQueryDto {
67
+ search?: string;
68
+ limit?: number;
69
+ offset?: number;
70
+ values?: string;
71
+ excludeIds?: string;
72
+ valueKey?: string;
73
+ labelKey?: string;
74
+ descriptionKey?: string;
75
+ additionalKeys?: string;
76
+ groupIdKey?: string;
77
+ orderByKey?: string;
78
+ orderDirection?: 'asc' | 'desc';
79
+ }
80
+
81
+ declare class SuccessResponseDto {
82
+ success: boolean;
83
+ message: string;
84
+ }
85
+
86
+ declare class TableResponseDto<T> {
87
+ result: T[];
88
+ count: number;
89
+ state: TableViewState;
90
+ activeViewId: string | null;
91
+ }
92
+
93
+ declare class CursorCodec {
94
+ static encode(values: unknown[], signature?: string): string;
95
+ static decode(cursor: string, expectedSignature?: string): unknown[];
96
+ }
97
+
98
+ type FieldDefinition = {
99
+ column: Column;
100
+ type: 'string' | 'number' | 'boolean';
101
+ nulls?: 'first' | 'last';
102
+ } | {
103
+ expression: (value: string | number, operator: FilterOperator) => SQL;
104
+ type: 'string' | 'number' | 'boolean';
105
+ };
106
+ type FieldMap = Record<string, FieldDefinition>;
107
+ declare class FilterProcessor {
108
+ static buildWhere(filters: FilterCondition[] | undefined, fieldMap: FieldMap): SQL | undefined;
109
+ static buildSearch(search: SearchState | null | undefined, fieldMap: FieldMap): SQL | undefined;
110
+ static buildOrderBy(sort: SortCondition[] | undefined, fieldMap: FieldMap): SQL[];
111
+ }
112
+
113
+ declare const MAX_PAGE_SIZE = 100;
114
+ interface KeysetOrderBy {
115
+ column: Column;
116
+ direction: 'asc' | 'desc';
117
+ nulls?: 'first' | 'last';
118
+ }
119
+ declare function keysetSignature(entries: {
120
+ key: string;
121
+ direction: 'asc' | 'desc';
122
+ }[]): string;
123
+ declare class KeysetProcessor {
124
+ static buildAfter(orderBy: KeysetOrderBy[], values: unknown[]): SQL;
125
+ private static buildRowValue;
126
+ private static buildOrExpansion;
127
+ private static tie;
128
+ private static strictlyAfter;
129
+ }
130
+
131
+ type TypedDrizzleClient = NodePgDatabase;
132
+
133
+ declare class PrimaryDatabaseService implements OnModuleInit, OnModuleDestroy {
134
+ private readonly options;
135
+ private readonly logger;
136
+ private pool;
137
+ private db;
138
+ private readonly rlsAls;
139
+ private readonly txAls;
140
+ constructor(options: DatabaseModuleOptions);
141
+ onModuleInit(): Promise<void>;
142
+ private initializeDrizzleClient;
143
+ get drizzleClient(): TypedDrizzleClient;
144
+ runWithRlsContext<T>(rls: unknown, fn: () => Promise<T>): Promise<T>;
145
+ runInTransaction<T>(fn: () => Promise<T>): Promise<T>;
146
+ runWithPinnedConnection<T>(fn: () => Promise<T>): Promise<T>;
147
+ onModuleDestroy(): Promise<void>;
148
+ }
149
+
150
+ interface SelectQueryOption {
151
+ value: string | number | boolean;
152
+ label: string;
153
+ description?: string;
154
+ additionals?: Record<string, string | number | boolean | null>;
155
+ groupId?: string | number;
156
+ }
157
+ interface SelectQueryGroup {
158
+ id: string | number;
159
+ name: string;
160
+ }
161
+ interface SelectQueryResult {
162
+ options: SelectQueryOption[];
163
+ groups?: SelectQueryGroup[];
164
+ hasMore: boolean;
165
+ totalCount?: number;
166
+ }
167
+ interface FindForSelectJoin {
168
+ table: PgTable;
169
+ on: SQL;
170
+ type?: 'left' | 'inner';
171
+ }
172
+ interface FindForSelectConfig {
173
+ value: string;
174
+ label: string;
175
+ description?: string;
176
+ additionalKeys?: string | string[];
177
+ additionalExpressions?: Record<string, SQL>;
178
+ groupIdKey?: string;
179
+ search?: string;
180
+ limit?: number;
181
+ offset?: number;
182
+ where?: Record<string, unknown>;
183
+ orderByKey?: string;
184
+ orderDirection?: 'asc' | 'desc';
185
+ orderBy?: Record<string, 'asc' | 'desc'>;
186
+ groups?: SelectQueryGroup[];
187
+ values?: string | (string | number | boolean)[];
188
+ excludeIds?: string | (string | number | boolean)[];
189
+ groupTable?: PgTable;
190
+ groupLabelKey?: string;
191
+ groupTableIdKey?: string;
192
+ joins?: FindForSelectJoin[];
193
+ conditions?: SQL[];
194
+ distinct?: boolean;
195
+ }
196
+
197
+ type RelationsWhereFilter = Record<string, unknown>;
198
+ interface TypedRelationalQueryBuilder<TSelect> {
199
+ findFirst(config?: {
200
+ where?: RelationsWhereFilter;
201
+ with?: Record<string, unknown>;
202
+ columns?: Record<string, boolean>;
203
+ }): Promise<TSelect | undefined>;
204
+ findMany(config?: {
205
+ where?: RelationsWhereFilter;
206
+ orderBy?: Record<string, 'asc' | 'desc'>;
207
+ limit?: number;
208
+ offset?: number;
209
+ with?: Record<string, unknown>;
210
+ columns?: Record<string, boolean>;
211
+ }): Promise<TSelect[]>;
212
+ }
213
+ declare abstract class PrimaryBaseRepository<TTable extends PgTable | PgViewBase, TInsert = TTable extends PgTable ? InferInsertModel<TTable> : never, TSelect = TTable extends PgTable ? InferSelectModel<TTable> : TTable extends PgViewBase ? InferSelectViewModel<TTable> : never> {
214
+ protected readonly database: PrimaryDatabaseService;
215
+ protected readonly table: TTable;
216
+ protected readonly logger: Logger;
217
+ protected readonly sequence?: PgSequence;
218
+ private readonly tableName;
219
+ private readonly isView;
220
+ protected get db(): TypedDrizzleClient;
221
+ protected get model(): TypedRelationalQueryBuilder<TSelect>;
222
+ constructor(database: PrimaryDatabaseService, table: TTable, options?: {
223
+ sequence?: PgSequence;
224
+ });
225
+ protected nextSequenceValue(sequence?: PgSequence): Promise<number>;
226
+ create(data: TInsert, tx?: TypedDrizzleClient): Promise<TSelect>;
227
+ findById(id: string): Promise<TSelect | undefined>;
228
+ findOne(where: RelationsWhereFilter): Promise<TSelect | undefined>;
229
+ findMany(options?: {
230
+ where?: RelationsWhereFilter;
231
+ orderBy?: Record<string, 'asc' | 'desc'>;
232
+ limit?: number;
233
+ offset?: number;
234
+ }): Promise<TSelect[]>;
235
+ private buildSelectQuery;
236
+ findAllAndCount<TResult = TSelect>(options?: {
237
+ select?: Record<string, unknown>;
238
+ where?: SQL;
239
+ orderBy?: SQL[];
240
+ limit?: number;
241
+ offset?: number;
242
+ leftJoin?: {
243
+ table: PgTable;
244
+ on: SQL | undefined;
245
+ };
246
+ leftJoins?: {
247
+ table: PgTable;
248
+ on: SQL | undefined;
249
+ }[];
250
+ groupBy?: (PgColumn | SQL)[];
251
+ }): Promise<{
252
+ result: TResult[];
253
+ count: number;
254
+ }>;
255
+ findKeyset<TResult = TSelect>(options: {
256
+ select?: Record<string, unknown>;
257
+ where?: SQL;
258
+ orderBy: SQL[];
259
+ limit: number;
260
+ leftJoin?: {
261
+ table: PgTable;
262
+ on: SQL | undefined;
263
+ };
264
+ leftJoins?: {
265
+ table: PgTable;
266
+ on: SQL | undefined;
267
+ }[];
268
+ groupBy?: (PgColumn | SQL)[];
269
+ }): Promise<{
270
+ rows: TResult[];
271
+ hasMore: boolean;
272
+ }>;
273
+ update(id: string, data: Partial<TInsert>, tx?: TypedDrizzleClient): Promise<TSelect>;
274
+ updateMany(where: SQL, data: Partial<TInsert>, tx?: TypedDrizzleClient): Promise<{
275
+ count: number;
276
+ }>;
277
+ delete(id: string, tx?: TypedDrizzleClient): Promise<TSelect>;
278
+ deleteMany(where: SQL, tx?: TypedDrizzleClient): Promise<{
279
+ count: number;
280
+ }>;
281
+ count(where?: SQL): Promise<number>;
282
+ exists(where: SQL): Promise<boolean>;
283
+ transaction<T>(callback: (tx: TypedDrizzleClient) => Promise<T>): Promise<T>;
284
+ findForSelect(config: FindForSelectConfig): Promise<SelectQueryResult>;
285
+ }
286
+
287
+ export { CreateResponseDto, CursorCodec, CursorListResponseDto, DatabaseModule, type DatabaseModuleOptions, type FieldDefinition, type FieldMap, FilterCondition, FilterOperator, FilterProcessor, type FindForSelectConfig, type FindForSelectJoin, ImportResponseDto, ImportSummaryDto, type KeysetOrderBy, KeysetProcessor, MAX_PAGE_SIZE, PrimaryBaseRepository, PrimaryDatabaseService, type PrimaryDbConfig, SearchState, SelectOptionsQueryDto, type SelectQueryGroup, type SelectQueryOption, type SelectQueryResult, SortCondition, SuccessResponseDto, TableResponseDto, TableViewState, type TypedDrizzleClient, ValidatedRowDto, keysetSignature };