@squiz/db-lib 1.71.1 → 1.71.3
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +14 -0
- package/lib/AbstractRepository.d.ts +57 -0
- package/lib/AbstractRepository.d.ts.map +1 -0
- package/lib/AbstractRepository.integration.spec.d.ts +2 -0
- package/lib/AbstractRepository.integration.spec.d.ts.map +1 -0
- package/lib/AbstractRepository.integration.spec.js +118 -0
- package/lib/AbstractRepository.integration.spec.js.map +1 -0
- package/lib/AbstractRepository.js +187 -0
- package/lib/AbstractRepository.js.map +1 -0
- package/lib/ConnectionManager.d.ts +26 -0
- package/lib/ConnectionManager.d.ts.map +1 -0
- package/lib/ConnectionManager.js +58 -0
- package/lib/ConnectionManager.js.map +1 -0
- package/lib/Migrator.d.ts +25 -0
- package/lib/Migrator.d.ts.map +1 -0
- package/lib/Migrator.js +160 -0
- package/lib/Migrator.js.map +1 -0
- package/lib/PostgresErrorCodes.d.ts +269 -0
- package/lib/PostgresErrorCodes.d.ts.map +1 -0
- package/lib/PostgresErrorCodes.js +274 -0
- package/lib/PostgresErrorCodes.js.map +1 -0
- package/lib/Repositories.d.ts +3 -0
- package/lib/Repositories.d.ts.map +1 -0
- package/lib/Repositories.js +3 -0
- package/lib/Repositories.js.map +1 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.d.ts +162 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.d.ts.map +1 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.js +367 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.js.map +1 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.d.ts +27 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.d.ts.map +1 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.js +698 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.js.map +1 -0
- package/lib/dynamodb/DynamoDbManager.d.ts +19 -0
- package/lib/dynamodb/DynamoDbManager.d.ts.map +1 -0
- package/lib/dynamodb/DynamoDbManager.js +66 -0
- package/lib/dynamodb/DynamoDbManager.js.map +1 -0
- package/lib/dynamodb/getDynamoDbOptions.d.ts +13 -0
- package/lib/dynamodb/getDynamoDbOptions.d.ts.map +1 -0
- package/lib/dynamodb/getDynamoDbOptions.js +15 -0
- package/lib/dynamodb/getDynamoDbOptions.js.map +1 -0
- package/lib/error/DuplicateItemError.d.ts +6 -0
- package/lib/error/DuplicateItemError.d.ts.map +1 -0
- package/lib/error/DuplicateItemError.js +12 -0
- package/lib/error/DuplicateItemError.js.map +1 -0
- package/lib/error/InvalidDataFormatError.d.ts +6 -0
- package/lib/error/InvalidDataFormatError.d.ts.map +1 -0
- package/lib/error/InvalidDataFormatError.js +12 -0
- package/lib/error/InvalidDataFormatError.js.map +1 -0
- package/lib/error/InvalidDbSchemaError.d.ts +6 -0
- package/lib/error/InvalidDbSchemaError.d.ts.map +1 -0
- package/lib/error/InvalidDbSchemaError.js +12 -0
- package/lib/error/InvalidDbSchemaError.js.map +1 -0
- package/lib/error/MissingKeyValuesError.d.ts +6 -0
- package/lib/error/MissingKeyValuesError.d.ts.map +1 -0
- package/lib/error/MissingKeyValuesError.js +12 -0
- package/lib/error/MissingKeyValuesError.js.map +1 -0
- package/lib/error/TransactionError.d.ts +6 -0
- package/lib/error/TransactionError.d.ts.map +1 -0
- package/lib/error/TransactionError.js +12 -0
- package/lib/error/TransactionError.js.map +1 -0
- package/lib/getConnectionInfo.d.ts +6 -0
- package/lib/getConnectionInfo.d.ts.map +1 -0
- package/lib/getConnectionInfo.js +30 -0
- package/lib/getConnectionInfo.js.map +1 -0
- package/lib/index.d.ts +15 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +34 -0
- package/lib/index.js.map +1 -0
- package/package.json +5 -5
- package/src/AbstractRepository.ts +26 -20
- package/src/dynamodb/AbstractDynamoDbRepository.ts +1 -1
- package/src/dynamodb/getDynamoDbOptions.ts +1 -1
- package/tsconfig.json +5 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build.js +0 -31
@@ -0,0 +1,274 @@
|
|
1
|
+
"use strict";
|
2
|
+
// See https://github.com/postgres/postgres/blob/master/src/backend/utils/errcodes.txt
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.PostgresErrorCode = void 0;
|
5
|
+
var PostgresErrorCode;
|
6
|
+
(function (PostgresErrorCode) {
|
7
|
+
PostgresErrorCode["SUCCESSFUL_COMPLETION"] = "00000";
|
8
|
+
PostgresErrorCode["WARNING"] = "01000";
|
9
|
+
PostgresErrorCode["WARNING_DYNAMIC_RESULT_SETS_RETURNED"] = "0100C";
|
10
|
+
PostgresErrorCode["WARNING_IMPLICIT_ZERO_BIT_PADDING"] = "01008";
|
11
|
+
PostgresErrorCode["WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION"] = "01003";
|
12
|
+
PostgresErrorCode["WARNING_PRIVILEGE_NOT_GRANTED"] = "01007";
|
13
|
+
PostgresErrorCode["WARNING_PRIVILEGE_NOT_REVOKED"] = "01006";
|
14
|
+
PostgresErrorCode["WARNING_STRING_DATA_RIGHT_TRUNCATION"] = "01004";
|
15
|
+
PostgresErrorCode["WARNING_DEPRECATED_FEATURE"] = "01P01";
|
16
|
+
PostgresErrorCode["NO_DATA"] = "02000";
|
17
|
+
PostgresErrorCode["NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED"] = "02001";
|
18
|
+
PostgresErrorCode["SQL_STATEMENT_NOT_YET_COMPLETE"] = "03000";
|
19
|
+
PostgresErrorCode["CONNECTION_EXCEPTION"] = "08000";
|
20
|
+
PostgresErrorCode["CONNECTION_DOES_NOT_EXIST"] = "08003";
|
21
|
+
PostgresErrorCode["CONNECTION_FAILURE"] = "08006";
|
22
|
+
PostgresErrorCode["SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION"] = "08001";
|
23
|
+
PostgresErrorCode["SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION"] = "08004";
|
24
|
+
PostgresErrorCode["TRANSACTION_RESOLUTION_UNKNOWN"] = "08007";
|
25
|
+
PostgresErrorCode["PROTOCOL_VIOLATION"] = "08P01";
|
26
|
+
PostgresErrorCode["TRIGGERED_ACTION_EXCEPTION"] = "09000";
|
27
|
+
PostgresErrorCode["FEATURE_NOT_SUPPORTED"] = "0A000";
|
28
|
+
PostgresErrorCode["INVALID_TRANSACTION_INITIATION"] = "0B000";
|
29
|
+
PostgresErrorCode["LOCATOR_EXCEPTION"] = "0F000";
|
30
|
+
PostgresErrorCode["L_E_INVALID_SPECIFICATION"] = "0F001";
|
31
|
+
PostgresErrorCode["INVALID_GRANTOR"] = "0L000";
|
32
|
+
PostgresErrorCode["INVALID_GRANT_OPERATION"] = "0LP01";
|
33
|
+
PostgresErrorCode["INVALID_ROLE_SPECIFICATION"] = "0P000";
|
34
|
+
PostgresErrorCode["DIAGNOSTICS_EXCEPTION"] = "0Z000";
|
35
|
+
PostgresErrorCode["STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER"] = "0Z002";
|
36
|
+
PostgresErrorCode["CASE_NOT_FOUND"] = "20000";
|
37
|
+
PostgresErrorCode["CARDINALITY_VIOLATION"] = "21000";
|
38
|
+
PostgresErrorCode["DATA_EXCEPTION"] = "22000";
|
39
|
+
PostgresErrorCode["ARRAY_ELEMENT_ERROR"] = "2202E";
|
40
|
+
PostgresErrorCode["ARRAY_SUBSCRIPT_ERROR"] = "2202E";
|
41
|
+
PostgresErrorCode["CHARACTER_NOT_IN_REPERTOIRE"] = "22021";
|
42
|
+
PostgresErrorCode["DATETIME_FIELD_OVERFLOW"] = "22008";
|
43
|
+
PostgresErrorCode["DATETIME_VALUE_OUT_OF_RANGE"] = "22008";
|
44
|
+
PostgresErrorCode["DIVISION_BY_ZERO"] = "22012";
|
45
|
+
PostgresErrorCode["ERROR_IN_ASSIGNMENT"] = "22005";
|
46
|
+
PostgresErrorCode["ESCAPE_CHARACTER_CONFLICT"] = "2200B";
|
47
|
+
PostgresErrorCode["INDICATOR_OVERFLOW"] = "22022";
|
48
|
+
PostgresErrorCode["INTERVAL_FIELD_OVERFLOW"] = "22015";
|
49
|
+
PostgresErrorCode["INVALID_ARGUMENT_FOR_LOG"] = "2201E";
|
50
|
+
PostgresErrorCode["INVALID_ARGUMENT_FOR_NTILE"] = "22014";
|
51
|
+
PostgresErrorCode["INVALID_ARGUMENT_FOR_NTH_VALUE"] = "22016";
|
52
|
+
PostgresErrorCode["INVALID_ARGUMENT_FOR_POWER_FUNCTION"] = "2201F";
|
53
|
+
PostgresErrorCode["INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION"] = "2201G";
|
54
|
+
PostgresErrorCode["INVALID_CHARACTER_VALUE_FOR_CAST"] = "22018";
|
55
|
+
PostgresErrorCode["INVALID_DATETIME_FORMAT"] = "22007";
|
56
|
+
PostgresErrorCode["INVALID_ESCAPE_CHARACTER"] = "22019";
|
57
|
+
PostgresErrorCode["INVALID_ESCAPE_OCTET"] = "2200D";
|
58
|
+
PostgresErrorCode["INVALID_ESCAPE_SEQUENCE"] = "22025";
|
59
|
+
PostgresErrorCode["NONSTANDARD_USE_OF_ESCAPE_CHARACTER"] = "22P06";
|
60
|
+
PostgresErrorCode["INVALID_INDICATOR_PARAMETER_VALUE"] = "22010";
|
61
|
+
PostgresErrorCode["INVALID_PARAMETER_VALUE"] = "22023";
|
62
|
+
PostgresErrorCode["INVALID_PRECEDING_OR_FOLLOWING_SIZE"] = "22013";
|
63
|
+
PostgresErrorCode["INVALID_REGULAR_EXPRESSION"] = "2201B";
|
64
|
+
PostgresErrorCode["INVALID_ROW_COUNT_IN_LIMIT_CLAUSE"] = "2201W";
|
65
|
+
PostgresErrorCode["INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE"] = "2201X";
|
66
|
+
PostgresErrorCode["INVALID_TABLESAMPLE_ARGUMENT"] = "2202H";
|
67
|
+
PostgresErrorCode["INVALID_TABLESAMPLE_REPEAT"] = "2202G";
|
68
|
+
PostgresErrorCode["INVALID_TIME_ZONE_DISPLACEMENT_VALUE"] = "22009";
|
69
|
+
PostgresErrorCode["INVALID_USE_OF_ESCAPE_CHARACTER"] = "2200C";
|
70
|
+
PostgresErrorCode["MOST_SPECIFIC_TYPE_MISMATCH"] = "2200G";
|
71
|
+
PostgresErrorCode["NULL_VALUE_NOT_ALLOWED"] = "22004";
|
72
|
+
PostgresErrorCode["NULL_VALUE_NO_INDICATOR_PARAMETER"] = "22002";
|
73
|
+
PostgresErrorCode["NUMERIC_VALUE_OUT_OF_RANGE"] = "22003";
|
74
|
+
PostgresErrorCode["SEQUENCE_GENERATOR_LIMIT_EXCEEDED"] = "2200H";
|
75
|
+
PostgresErrorCode["STRING_DATA_LENGTH_MISMATCH"] = "22026";
|
76
|
+
PostgresErrorCode["STRING_DATA_RIGHT_TRUNCATION"] = "22001";
|
77
|
+
PostgresErrorCode["SUBSTRING_ERROR"] = "22011";
|
78
|
+
PostgresErrorCode["TRIM_ERROR"] = "22027";
|
79
|
+
PostgresErrorCode["UNTERMINATED_C_STRING"] = "22024";
|
80
|
+
PostgresErrorCode["ZERO_LENGTH_CHARACTER_STRING"] = "2200F";
|
81
|
+
PostgresErrorCode["FLOATING_POINT_EXCEPTION"] = "22P01";
|
82
|
+
PostgresErrorCode["INVALID_TEXT_REPRESENTATION"] = "22P02";
|
83
|
+
PostgresErrorCode["INVALID_BINARY_REPRESENTATION"] = "22P03";
|
84
|
+
PostgresErrorCode["BAD_COPY_FILE_FORMAT"] = "22P04";
|
85
|
+
PostgresErrorCode["UNTRANSLATABLE_CHARACTER"] = "22P05";
|
86
|
+
PostgresErrorCode["NOT_AN_XML_DOCUMENT"] = "2200L";
|
87
|
+
PostgresErrorCode["INVALID_XML_DOCUMENT"] = "2200M";
|
88
|
+
PostgresErrorCode["INVALID_XML_CONTENT"] = "2200N";
|
89
|
+
PostgresErrorCode["INVALID_XML_COMMENT"] = "2200S";
|
90
|
+
PostgresErrorCode["INVALID_XML_PROCESSING_INSTRUCTION"] = "2200T";
|
91
|
+
PostgresErrorCode["DUPLICATE_JSON_OBJECT_KEY_VALUE"] = "22030";
|
92
|
+
PostgresErrorCode["INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION"] = "22031";
|
93
|
+
PostgresErrorCode["INVALID_JSON_TEXT"] = "22032";
|
94
|
+
PostgresErrorCode["INVALID_SQL_JSON_SUBSCRIPT"] = "22033";
|
95
|
+
PostgresErrorCode["MORE_THAN_ONE_SQL_JSON_ITEM"] = "22034";
|
96
|
+
PostgresErrorCode["NO_SQL_JSON_ITEM"] = "22035";
|
97
|
+
PostgresErrorCode["NON_NUMERIC_SQL_JSON_ITEM"] = "22036";
|
98
|
+
PostgresErrorCode["NON_UNIQUE_KEYS_IN_A_JSON_OBJECT"] = "22037";
|
99
|
+
PostgresErrorCode["SINGLETON_SQL_JSON_ITEM_REQUIRED"] = "22038";
|
100
|
+
PostgresErrorCode["SQL_JSON_ARRAY_NOT_FOUND"] = "22039";
|
101
|
+
PostgresErrorCode["SQL_JSON_MEMBER_NOT_FOUND"] = "2203A";
|
102
|
+
PostgresErrorCode["SQL_JSON_NUMBER_NOT_FOUND"] = "2203B";
|
103
|
+
PostgresErrorCode["SQL_JSON_OBJECT_NOT_FOUND"] = "2203C";
|
104
|
+
PostgresErrorCode["TOO_MANY_JSON_ARRAY_ELEMENTS"] = "2203D";
|
105
|
+
PostgresErrorCode["TOO_MANY_JSON_OBJECT_MEMBERS"] = "2203E";
|
106
|
+
PostgresErrorCode["SQL_JSON_SCALAR_REQUIRED"] = "2203F";
|
107
|
+
PostgresErrorCode["SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE"] = "2203G";
|
108
|
+
PostgresErrorCode["INTEGRITY_CONSTRAINT_VIOLATION"] = "23000";
|
109
|
+
PostgresErrorCode["RESTRICT_VIOLATION"] = "23001";
|
110
|
+
PostgresErrorCode["NOT_NULL_VIOLATION"] = "23502";
|
111
|
+
PostgresErrorCode["FOREIGN_KEY_VIOLATION"] = "23503";
|
112
|
+
PostgresErrorCode["UNIQUE_VIOLATION"] = "23505";
|
113
|
+
PostgresErrorCode["CHECK_VIOLATION"] = "23514";
|
114
|
+
PostgresErrorCode["EXCLUSION_VIOLATION"] = "23P01";
|
115
|
+
PostgresErrorCode["INVALID_CURSOR_STATE"] = "24000";
|
116
|
+
PostgresErrorCode["INVALID_TRANSACTION_STATE"] = "25000";
|
117
|
+
PostgresErrorCode["ACTIVE_SQL_TRANSACTION"] = "25001";
|
118
|
+
PostgresErrorCode["BRANCH_TRANSACTION_ALREADY_ACTIVE"] = "25002";
|
119
|
+
PostgresErrorCode["HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL"] = "25008";
|
120
|
+
PostgresErrorCode["INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION"] = "25003";
|
121
|
+
PostgresErrorCode["INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION"] = "25004";
|
122
|
+
PostgresErrorCode["NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION"] = "25005";
|
123
|
+
PostgresErrorCode["READ_ONLY_SQL_TRANSACTION"] = "25006";
|
124
|
+
PostgresErrorCode["SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED"] = "25007";
|
125
|
+
PostgresErrorCode["NO_ACTIVE_SQL_TRANSACTION"] = "25P01";
|
126
|
+
PostgresErrorCode["IN_FAILED_SQL_TRANSACTION"] = "25P02";
|
127
|
+
PostgresErrorCode["IDLE_IN_TRANSACTION_SESSION_TIMEOUT"] = "25P03";
|
128
|
+
PostgresErrorCode["INVALID_SQL_STATEMENT_NAME"] = "26000";
|
129
|
+
PostgresErrorCode["TRIGGERED_DATA_CHANGE_VIOLATION"] = "27000";
|
130
|
+
PostgresErrorCode["INVALID_AUTHORIZATION_SPECIFICATION"] = "28000";
|
131
|
+
PostgresErrorCode["INVALID_PASSWORD"] = "28P01";
|
132
|
+
PostgresErrorCode["DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST"] = "2B000";
|
133
|
+
PostgresErrorCode["DEPENDENT_OBJECTS_STILL_EXIST"] = "2BP01";
|
134
|
+
PostgresErrorCode["INVALID_TRANSACTION_TERMINATION"] = "2D000";
|
135
|
+
PostgresErrorCode["SQL_ROUTINE_EXCEPTION"] = "2F000";
|
136
|
+
PostgresErrorCode["S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT"] = "2F005";
|
137
|
+
PostgresErrorCode["S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED"] = "2F002";
|
138
|
+
PostgresErrorCode["S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED"] = "2F003";
|
139
|
+
PostgresErrorCode["S_R_E_READING_SQL_DATA_NOT_PERMITTED"] = "2F004";
|
140
|
+
PostgresErrorCode["INVALID_CURSOR_NAME"] = "34000";
|
141
|
+
PostgresErrorCode["EXTERNAL_ROUTINE_EXCEPTION"] = "38000";
|
142
|
+
PostgresErrorCode["E_R_E_CONTAINING_SQL_NOT_PERMITTED"] = "38001";
|
143
|
+
PostgresErrorCode["E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED"] = "38002";
|
144
|
+
PostgresErrorCode["E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED"] = "38003";
|
145
|
+
PostgresErrorCode["E_R_E_READING_SQL_DATA_NOT_PERMITTED"] = "38004";
|
146
|
+
PostgresErrorCode["EXTERNAL_ROUTINE_INVOCATION_EXCEPTION"] = "39000";
|
147
|
+
PostgresErrorCode["E_R_I_E_INVALID_SQLSTATE_RETURNED"] = "39001";
|
148
|
+
PostgresErrorCode["E_R_I_E_NULL_VALUE_NOT_ALLOWED"] = "39004";
|
149
|
+
PostgresErrorCode["E_R_I_E_TRIGGER_PROTOCOL_VIOLATED"] = "39P01";
|
150
|
+
PostgresErrorCode["E_R_I_E_SRF_PROTOCOL_VIOLATED"] = "39P02";
|
151
|
+
PostgresErrorCode["E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED"] = "39P03";
|
152
|
+
PostgresErrorCode["SAVEPOINT_EXCEPTION"] = "3B000";
|
153
|
+
PostgresErrorCode["S_E_INVALID_SPECIFICATION"] = "3B001";
|
154
|
+
PostgresErrorCode["INVALID_CATALOG_NAME"] = "3D000";
|
155
|
+
PostgresErrorCode["INVALID_SCHEMA_NAME"] = "3F000";
|
156
|
+
PostgresErrorCode["TRANSACTION_ROLLBACK"] = "40000";
|
157
|
+
PostgresErrorCode["T_R_INTEGRITY_CONSTRAINT_VIOLATION"] = "40002";
|
158
|
+
PostgresErrorCode["T_R_SERIALIZATION_FAILURE"] = "40001";
|
159
|
+
PostgresErrorCode["T_R_STATEMENT_COMPLETION_UNKNOWN"] = "40003";
|
160
|
+
PostgresErrorCode["T_R_DEADLOCK_DETECTED"] = "40P01";
|
161
|
+
PostgresErrorCode["SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION"] = "42000";
|
162
|
+
PostgresErrorCode["SYNTAX_ERROR"] = "42601";
|
163
|
+
PostgresErrorCode["INSUFFICIENT_PRIVILEGE"] = "42501";
|
164
|
+
PostgresErrorCode["CANNOT_COERCE"] = "42846";
|
165
|
+
PostgresErrorCode["GROUPING_ERROR"] = "42803";
|
166
|
+
PostgresErrorCode["WINDOWING_ERROR"] = "42P20";
|
167
|
+
PostgresErrorCode["INVALID_RECURSION"] = "42P19";
|
168
|
+
PostgresErrorCode["INVALID_FOREIGN_KEY"] = "42830";
|
169
|
+
PostgresErrorCode["INVALID_NAME"] = "42602";
|
170
|
+
PostgresErrorCode["NAME_TOO_LONG"] = "42622";
|
171
|
+
PostgresErrorCode["RESERVED_NAME"] = "42939";
|
172
|
+
PostgresErrorCode["DATATYPE_MISMATCH"] = "42804";
|
173
|
+
PostgresErrorCode["INDETERMINATE_DATATYPE"] = "42P18";
|
174
|
+
PostgresErrorCode["COLLATION_MISMATCH"] = "42P21";
|
175
|
+
PostgresErrorCode["INDETERMINATE_COLLATION"] = "42P22";
|
176
|
+
PostgresErrorCode["WRONG_OBJECT_TYPE"] = "42809";
|
177
|
+
PostgresErrorCode["GENERATED_ALWAYS"] = "428C9";
|
178
|
+
PostgresErrorCode["UNDEFINED_COLUMN"] = "42703";
|
179
|
+
PostgresErrorCode["UNDEFINED_CURSOR"] = "34000";
|
180
|
+
PostgresErrorCode["UNDEFINED_DATABASE"] = "3D000";
|
181
|
+
PostgresErrorCode["UNDEFINED_FUNCTION"] = "42883";
|
182
|
+
PostgresErrorCode["UNDEFINED_PSTATEMENT"] = "26000";
|
183
|
+
PostgresErrorCode["UNDEFINED_SCHEMA"] = "3F000";
|
184
|
+
PostgresErrorCode["UNDEFINED_TABLE"] = "42P01";
|
185
|
+
PostgresErrorCode["UNDEFINED_PARAMETER"] = "42P02";
|
186
|
+
PostgresErrorCode["UNDEFINED_OBJECT"] = "42704";
|
187
|
+
PostgresErrorCode["DUPLICATE_COLUMN"] = "42701";
|
188
|
+
PostgresErrorCode["DUPLICATE_CURSOR"] = "42P03";
|
189
|
+
PostgresErrorCode["DUPLICATE_DATABASE"] = "42P04";
|
190
|
+
PostgresErrorCode["DUPLICATE_FUNCTION"] = "42723";
|
191
|
+
PostgresErrorCode["DUPLICATE_PSTATEMENT"] = "42P05";
|
192
|
+
PostgresErrorCode["DUPLICATE_SCHEMA"] = "42P06";
|
193
|
+
PostgresErrorCode["DUPLICATE_TABLE"] = "42P07";
|
194
|
+
PostgresErrorCode["DUPLICATE_ALIAS"] = "42712";
|
195
|
+
PostgresErrorCode["DUPLICATE_OBJECT"] = "42710";
|
196
|
+
PostgresErrorCode["AMBIGUOUS_COLUMN"] = "42702";
|
197
|
+
PostgresErrorCode["AMBIGUOUS_FUNCTION"] = "42725";
|
198
|
+
PostgresErrorCode["AMBIGUOUS_PARAMETER"] = "42P08";
|
199
|
+
PostgresErrorCode["AMBIGUOUS_ALIAS"] = "42P09";
|
200
|
+
PostgresErrorCode["INVALID_COLUMN_REFERENCE"] = "42P10";
|
201
|
+
PostgresErrorCode["INVALID_COLUMN_DEFINITION"] = "42611";
|
202
|
+
PostgresErrorCode["INVALID_CURSOR_DEFINITION"] = "42P11";
|
203
|
+
PostgresErrorCode["INVALID_DATABASE_DEFINITION"] = "42P12";
|
204
|
+
PostgresErrorCode["INVALID_FUNCTION_DEFINITION"] = "42P13";
|
205
|
+
PostgresErrorCode["INVALID_PSTATEMENT_DEFINITION"] = "42P14";
|
206
|
+
PostgresErrorCode["INVALID_SCHEMA_DEFINITION"] = "42P15";
|
207
|
+
PostgresErrorCode["INVALID_TABLE_DEFINITION"] = "42P16";
|
208
|
+
PostgresErrorCode["INVALID_OBJECT_DEFINITION"] = "42P17";
|
209
|
+
PostgresErrorCode["WITH_CHECK_OPTION_VIOLATION"] = "44000";
|
210
|
+
PostgresErrorCode["INSUFFICIENT_RESOURCES"] = "53000";
|
211
|
+
PostgresErrorCode["DISK_FULL"] = "53100";
|
212
|
+
PostgresErrorCode["OUT_OF_MEMORY"] = "53200";
|
213
|
+
PostgresErrorCode["TOO_MANY_CONNECTIONS"] = "53300";
|
214
|
+
PostgresErrorCode["CONFIGURATION_LIMIT_EXCEEDED"] = "53400";
|
215
|
+
PostgresErrorCode["PROGRAM_LIMIT_EXCEEDED"] = "54000";
|
216
|
+
PostgresErrorCode["STATEMENT_TOO_COMPLEX"] = "54001";
|
217
|
+
PostgresErrorCode["TOO_MANY_COLUMNS"] = "54011";
|
218
|
+
PostgresErrorCode["TOO_MANY_ARGUMENTS"] = "54023";
|
219
|
+
PostgresErrorCode["OBJECT_NOT_IN_PREREQUISITE_STATE"] = "55000";
|
220
|
+
PostgresErrorCode["OBJECT_IN_USE"] = "55006";
|
221
|
+
PostgresErrorCode["CANT_CHANGE_RUNTIME_PARAM"] = "55P02";
|
222
|
+
PostgresErrorCode["LOCK_NOT_AVAILABLE"] = "55P03";
|
223
|
+
PostgresErrorCode["UNSAFE_NEW_ENUM_VALUE_USAGE"] = "55P04";
|
224
|
+
PostgresErrorCode["OPERATOR_INTERVENTION"] = "57000";
|
225
|
+
PostgresErrorCode["QUERY_CANCELED"] = "57014";
|
226
|
+
PostgresErrorCode["ADMIN_SHUTDOWN"] = "57P01";
|
227
|
+
PostgresErrorCode["CRASH_SHUTDOWN"] = "57P02";
|
228
|
+
PostgresErrorCode["CANNOT_CONNECT_NOW"] = "57P03";
|
229
|
+
PostgresErrorCode["DATABASE_DROPPED"] = "57P04";
|
230
|
+
PostgresErrorCode["IDLE_SESSION_TIMEOUT"] = "57P05";
|
231
|
+
PostgresErrorCode["SYSTEM_ERROR"] = "58000";
|
232
|
+
PostgresErrorCode["IO_ERROR"] = "58030";
|
233
|
+
PostgresErrorCode["UNDEFINED_FILE"] = "58P01";
|
234
|
+
PostgresErrorCode["DUPLICATE_FILE"] = "58P02";
|
235
|
+
PostgresErrorCode["SNAPSHOT_TOO_OLD"] = "72000";
|
236
|
+
PostgresErrorCode["CONFIG_FILE_ERROR"] = "F0000";
|
237
|
+
PostgresErrorCode["LOCK_FILE_EXISTS"] = "F0001";
|
238
|
+
PostgresErrorCode["FDW_ERROR"] = "HV000";
|
239
|
+
PostgresErrorCode["FDW_COLUMN_NAME_NOT_FOUND"] = "HV005";
|
240
|
+
PostgresErrorCode["FDW_DYNAMIC_PARAMETER_VALUE_NEEDED"] = "HV002";
|
241
|
+
PostgresErrorCode["FDW_FUNCTION_SEQUENCE_ERROR"] = "HV010";
|
242
|
+
PostgresErrorCode["FDW_INCONSISTENT_DESCRIPTOR_INFORMATION"] = "HV021";
|
243
|
+
PostgresErrorCode["FDW_INVALID_ATTRIBUTE_VALUE"] = "HV024";
|
244
|
+
PostgresErrorCode["FDW_INVALID_COLUMN_NAME"] = "HV007";
|
245
|
+
PostgresErrorCode["FDW_INVALID_COLUMN_NUMBER"] = "HV008";
|
246
|
+
PostgresErrorCode["FDW_INVALID_DATA_TYPE"] = "HV004";
|
247
|
+
PostgresErrorCode["FDW_INVALID_DATA_TYPE_DESCRIPTORS"] = "HV006";
|
248
|
+
PostgresErrorCode["FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER"] = "HV091";
|
249
|
+
PostgresErrorCode["FDW_INVALID_HANDLE"] = "HV00B";
|
250
|
+
PostgresErrorCode["FDW_INVALID_OPTION_INDEX"] = "HV00C";
|
251
|
+
PostgresErrorCode["FDW_INVALID_OPTION_NAME"] = "HV00D";
|
252
|
+
PostgresErrorCode["FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH"] = "HV090";
|
253
|
+
PostgresErrorCode["FDW_INVALID_STRING_FORMAT"] = "HV00A";
|
254
|
+
PostgresErrorCode["FDW_INVALID_USE_OF_NULL_POINTER"] = "HV009";
|
255
|
+
PostgresErrorCode["FDW_TOO_MANY_HANDLES"] = "HV014";
|
256
|
+
PostgresErrorCode["FDW_OUT_OF_MEMORY"] = "HV001";
|
257
|
+
PostgresErrorCode["FDW_NO_SCHEMAS"] = "HV00P";
|
258
|
+
PostgresErrorCode["FDW_OPTION_NAME_NOT_FOUND"] = "HV00J";
|
259
|
+
PostgresErrorCode["FDW_REPLY_HANDLE"] = "HV00K";
|
260
|
+
PostgresErrorCode["FDW_SCHEMA_NOT_FOUND"] = "HV00Q";
|
261
|
+
PostgresErrorCode["FDW_TABLE_NOT_FOUND"] = "HV00R";
|
262
|
+
PostgresErrorCode["FDW_UNABLE_TO_CREATE_EXECUTION"] = "HV00L";
|
263
|
+
PostgresErrorCode["FDW_UNABLE_TO_CREATE_REPLY"] = "HV00M";
|
264
|
+
PostgresErrorCode["FDW_UNABLE_TO_ESTABLISH_CONNECTION"] = "HV00N";
|
265
|
+
PostgresErrorCode["PLPGSQL_ERROR"] = "P0000";
|
266
|
+
PostgresErrorCode["RAISE_EXCEPTION"] = "P0001";
|
267
|
+
PostgresErrorCode["NO_DATA_FOUND"] = "P0002";
|
268
|
+
PostgresErrorCode["TOO_MANY_ROWS"] = "P0003";
|
269
|
+
PostgresErrorCode["ASSERT_FAILURE"] = "P0004";
|
270
|
+
PostgresErrorCode["INTERNAL_ERROR"] = "XX000";
|
271
|
+
PostgresErrorCode["DATA_CORRUPTED"] = "XX001";
|
272
|
+
PostgresErrorCode["INDEX_CORRUPTED"] = "XX002";
|
273
|
+
})(PostgresErrorCode = exports.PostgresErrorCode || (exports.PostgresErrorCode = {}));
|
274
|
+
//# sourceMappingURL=PostgresErrorCodes.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PostgresErrorCodes.js","sourceRoot":"","sources":["../src/PostgresErrorCodes.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,IAAY,iBA2QX;AA3QD,WAAY,iBAAiB;IAC3B,oDAA+B,CAAA;IAC/B,sCAAiB,CAAA;IACjB,mEAA8C,CAAA;IAC9C,gEAA2C,CAAA;IAC3C,4EAAuD,CAAA;IACvD,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IACvC,mEAA8C,CAAA;IAC9C,yDAAoC,CAAA;IACpC,sCAAiB,CAAA;IACjB,yEAAoD,CAAA;IACpD,6DAAwC,CAAA;IACxC,mDAA8B,CAAA;IAC9B,wDAAmC,CAAA;IACnC,iDAA4B,CAAA;IAC5B,0EAAqD,CAAA;IACrD,gFAA2D,CAAA;IAC3D,6DAAwC,CAAA;IACxC,iDAA4B,CAAA;IAC5B,yDAAoC,CAAA;IACpC,oDAA+B,CAAA;IAC/B,6DAAwC,CAAA;IACxC,gDAA2B,CAAA;IAC3B,wDAAmC,CAAA;IACnC,8CAAyB,CAAA;IACzB,sDAAiC,CAAA;IACjC,yDAAoC,CAAA;IACpC,oDAA+B,CAAA;IAC/B,kFAA6D,CAAA;IAC7D,6CAAwB,CAAA;IACxB,oDAA+B,CAAA;IAC/B,6CAAwB,CAAA;IACxB,kDAA6B,CAAA;IAC7B,oDAA+B,CAAA;IAC/B,0DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,+CAA0B,CAAA;IAC1B,kDAA6B,CAAA;IAC7B,wDAAmC,CAAA;IACnC,iDAA4B,CAAA;IAC5B,sDAAiC,CAAA;IACjC,uDAAkC,CAAA;IAClC,yDAAoC,CAAA;IACpC,6DAAwC,CAAA;IACxC,kEAA6C,CAAA;IAC7C,yEAAoD,CAAA;IACpD,+DAA0C,CAAA;IAC1C,sDAAiC,CAAA;IACjC,uDAAkC,CAAA;IAClC,mDAA8B,CAAA;IAC9B,sDAAiC,CAAA;IACjC,kEAA6C,CAAA;IAC7C,gEAA2C,CAAA;IAC3C,sDAAiC,CAAA;IACjC,kEAA6C,CAAA;IAC7C,yDAAoC,CAAA;IACpC,gEAA2C,CAAA;IAC3C,wEAAmD,CAAA;IACnD,2DAAsC,CAAA;IACtC,yDAAoC,CAAA;IACpC,mEAA8C,CAAA;IAC9C,8DAAyC,CAAA;IACzC,0DAAqC,CAAA;IACrC,qDAAgC,CAAA;IAChC,gEAA2C,CAAA;IAC3C,yDAAoC,CAAA;IACpC,gEAA2C,CAAA;IAC3C,0DAAqC,CAAA;IACrC,2DAAsC,CAAA;IACtC,8CAAyB,CAAA;IACzB,yCAAoB,CAAA;IACpB,oDAA+B,CAAA;IAC/B,2DAAsC,CAAA;IACtC,uDAAkC,CAAA;IAClC,0DAAqC,CAAA;IACrC,4DAAuC,CAAA;IACvC,mDAA8B,CAAA;IAC9B,uDAAkC,CAAA;IAClC,kDAA6B,CAAA;IAC7B,mDAA8B,CAAA;IAC9B,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,iEAA4C,CAAA;IAC5C,8DAAyC,CAAA;IACzC,8EAAyD,CAAA;IACzD,gDAA2B,CAAA;IAC3B,yDAAoC,CAAA;IACpC,0DAAqC,CAAA;IACrC,+CAA0B,CAAA;IAC1B,wDAAmC,CAAA;IACnC,+DAA0C,CAAA;IAC1C,+DAA0C,CAAA;IAC1C,uDAAkC,CAAA;IAClC,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,2DAAsC,CAAA;IACtC,2DAAsC,CAAA;IACtC,uDAAkC,CAAA;IAClC,0EAAqD,CAAA;IACrD,6DAAwC,CAAA;IACxC,iDAA4B,CAAA;IAC5B,iDAA4B,CAAA;IAC5B,oDAA+B,CAAA;IAC/B,+CAA0B,CAAA;IAC1B,8CAAyB,CAAA;IACzB,kDAA6B,CAAA;IAC7B,mDAA8B,CAAA;IAC9B,wDAAmC,CAAA;IACnC,qDAAgC,CAAA;IAChC,gEAA2C,CAAA;IAC3C,wEAAmD,CAAA;IACnD,+EAA0D,CAAA;IAC1D,mFAA8D,CAAA;IAC9D,+EAA0D,CAAA;IAC1D,wDAAmC,CAAA;IACnC,6EAAwD,CAAA;IACxD,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,kEAA6C,CAAA;IAC7C,yDAAoC,CAAA;IACpC,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,+CAA0B,CAAA;IAC1B,0EAAqD,CAAA;IACrD,4DAAuC,CAAA;IACvC,8DAAyC,CAAA;IACzC,oDAA+B,CAAA;IAC/B,0EAAqD,CAAA;IACrD,qEAAgD,CAAA;IAChD,uEAAkD,CAAA;IAClD,mEAA8C,CAAA;IAC9C,kDAA6B,CAAA;IAC7B,yDAAoC,CAAA;IACpC,iEAA4C,CAAA;IAC5C,qEAAgD,CAAA;IAChD,uEAAkD,CAAA;IAClD,mEAA8C,CAAA;IAC9C,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,6DAAwC,CAAA;IACxC,gEAA2C,CAAA;IAC3C,4DAAuC,CAAA;IACvC,sEAAiD,CAAA;IACjD,kDAA6B,CAAA;IAC7B,wDAAmC,CAAA;IACnC,mDAA8B,CAAA;IAC9B,kDAA6B,CAAA;IAC7B,mDAA8B,CAAA;IAC9B,iEAA4C,CAAA;IAC5C,wDAAmC,CAAA;IACnC,+DAA0C,CAAA;IAC1C,oDAA+B,CAAA;IAC/B,oEAA+C,CAAA;IAC/C,2CAAsB,CAAA;IACtB,qDAAgC,CAAA;IAChC,4CAAuB,CAAA;IACvB,6CAAwB,CAAA;IACxB,8CAAyB,CAAA;IACzB,gDAA2B,CAAA;IAC3B,kDAA6B,CAAA;IAC7B,2CAAsB,CAAA;IACtB,4CAAuB,CAAA;IACvB,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,qDAAgC,CAAA;IAChC,iDAA4B,CAAA;IAC5B,sDAAiC,CAAA;IACjC,gDAA2B,CAAA;IAC3B,+CAA0B,CAAA;IAC1B,+CAA0B,CAAA;IAC1B,+CAA0B,CAAA;IAC1B,iDAA4B,CAAA;IAC5B,iDAA4B,CAAA;IAC5B,mDAA8B,CAAA;IAC9B,+CAA0B,CAAA;IAC1B,8CAAyB,CAAA;IACzB,kDAA6B,CAAA;IAC7B,+CAA0B,CAAA;IAC1B,+CAA0B,CAAA;IAC1B,+CAA0B,CAAA;IAC1B,iDAA4B,CAAA;IAC5B,iDAA4B,CAAA;IAC5B,mDAA8B,CAAA;IAC9B,+CAA0B,CAAA;IAC1B,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,+CAA0B,CAAA;IAC1B,+CAA0B,CAAA;IAC1B,iDAA4B,CAAA;IAC5B,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,uDAAkC,CAAA;IAClC,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,0DAAqC,CAAA;IACrC,0DAAqC,CAAA;IACrC,4DAAuC,CAAA;IACvC,wDAAmC,CAAA;IACnC,uDAAkC,CAAA;IAClC,wDAAmC,CAAA;IACnC,0DAAqC,CAAA;IACrC,qDAAgC,CAAA;IAChC,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,mDAA8B,CAAA;IAC9B,2DAAsC,CAAA;IACtC,qDAAgC,CAAA;IAChC,oDAA+B,CAAA;IAC/B,+CAA0B,CAAA;IAC1B,iDAA4B,CAAA;IAC5B,+DAA0C,CAAA;IAC1C,4CAAuB,CAAA;IACvB,wDAAmC,CAAA;IACnC,iDAA4B,CAAA;IAC5B,0DAAqC,CAAA;IACrC,oDAA+B,CAAA;IAC/B,6CAAwB,CAAA;IACxB,6CAAwB,CAAA;IACxB,6CAAwB,CAAA;IACxB,iDAA4B,CAAA;IAC5B,+CAA0B,CAAA;IAC1B,mDAA8B,CAAA;IAC9B,2CAAsB,CAAA;IACtB,uCAAkB,CAAA;IAClB,6CAAwB,CAAA;IACxB,6CAAwB,CAAA;IACxB,+CAA0B,CAAA;IAC1B,gDAA2B,CAAA;IAC3B,+CAA0B,CAAA;IAC1B,wCAAmB,CAAA;IACnB,wDAAmC,CAAA;IACnC,iEAA4C,CAAA;IAC5C,0DAAqC,CAAA;IACrC,sEAAiD,CAAA;IACjD,0DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,gEAA2C,CAAA;IAC3C,sEAAiD,CAAA;IACjD,iDAA4B,CAAA;IAC5B,uDAAkC,CAAA;IAClC,sDAAiC,CAAA;IACjC,yEAAoD,CAAA;IACpD,wDAAmC,CAAA;IACnC,8DAAyC,CAAA;IACzC,mDAA8B,CAAA;IAC9B,gDAA2B,CAAA;IAC3B,6CAAwB,CAAA;IACxB,wDAAmC,CAAA;IACnC,+CAA0B,CAAA;IAC1B,mDAA8B,CAAA;IAC9B,kDAA6B,CAAA;IAC7B,6DAAwC,CAAA;IACxC,yDAAoC,CAAA;IACpC,iEAA4C,CAAA;IAC5C,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;IACzB,4CAAuB,CAAA;IACvB,4CAAuB,CAAA;IACvB,6CAAwB,CAAA;IACxB,6CAAwB,CAAA;IACxB,6CAAwB,CAAA;IACxB,8CAAyB,CAAA;AAC3B,CAAC,EA3QW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA2Q5B"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Repositories.d.ts","sourceRoot":"","sources":["../src/Repositories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Repositories.js","sourceRoot":"","sources":["../src/Repositories.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,162 @@
|
|
1
|
+
import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
|
2
|
+
import { Transaction, DynamoDbManager } from '..';
|
3
|
+
interface Reader<T> {
|
4
|
+
queryItems(partialItem: Partial<T>, useSortKey?: boolean, index?: keyof TableIndexes): Promise<T[]>;
|
5
|
+
getItem(id: string | Partial<T>): Promise<T | undefined>;
|
6
|
+
}
|
7
|
+
interface Writer<T> {
|
8
|
+
createItem(item: Partial<T>): Promise<T>;
|
9
|
+
updateItem(partialItem: Partial<T>, newValue: Partial<T>): Promise<T | undefined>;
|
10
|
+
deleteItem(partialItem: Partial<T>): Promise<number>;
|
11
|
+
}
|
12
|
+
type Repository<T> = Reader<T> & Writer<T>;
|
13
|
+
type Repositories = Record<string, Repository<any>>;
|
14
|
+
export type TableKeys = {
|
15
|
+
pk: {
|
16
|
+
attributeName: string;
|
17
|
+
format: string;
|
18
|
+
};
|
19
|
+
sk: {
|
20
|
+
attributeName: string;
|
21
|
+
format: string;
|
22
|
+
};
|
23
|
+
};
|
24
|
+
export type TableIndexes = Record<string, TableKeys>;
|
25
|
+
export type KeysFormat = Record<keyof TableKeys | keyof TableIndexes, string>;
|
26
|
+
export type EntityDefinition = {
|
27
|
+
keys: TableKeys;
|
28
|
+
indexes: TableIndexes;
|
29
|
+
fieldsAsJsonString: string[];
|
30
|
+
};
|
31
|
+
export declare abstract class AbstractDynamoDbRepository<SHAPE extends object, DATA_CLASS extends SHAPE> implements Reader<SHAPE>, Writer<SHAPE> {
|
32
|
+
protected tableName: string;
|
33
|
+
protected dbManager: DynamoDbManager<Repositories>;
|
34
|
+
protected entityName: string;
|
35
|
+
protected entityDefinition: EntityDefinition;
|
36
|
+
protected classRef: {
|
37
|
+
new (data?: Record<string, unknown>): DATA_CLASS;
|
38
|
+
};
|
39
|
+
protected client: DynamoDBDocument;
|
40
|
+
protected keys: TableKeys;
|
41
|
+
protected indexes: TableIndexes;
|
42
|
+
protected keysFormat: KeysFormat;
|
43
|
+
protected fieldsAsJsonString: string[];
|
44
|
+
constructor(tableName: string, dbManager: DynamoDbManager<Repositories>, entityName: string, entityDefinition: EntityDefinition, classRef: {
|
45
|
+
new (data?: Record<string, unknown>): DATA_CLASS;
|
46
|
+
});
|
47
|
+
/**
|
48
|
+
* Get the single item matching the key fields value in the given
|
49
|
+
* partial item. Will throw MissingKeyValuesError if key field values
|
50
|
+
* are missing
|
51
|
+
*
|
52
|
+
* @param item
|
53
|
+
*
|
54
|
+
* @throws MissingKeyValuesError
|
55
|
+
*/
|
56
|
+
getItem(item: Partial<SHAPE>): Promise<DATA_CLASS | undefined>;
|
57
|
+
/**
|
58
|
+
* Finds all the items matching the partition key or
|
59
|
+
* the gsi key (when gsi index name is specified)
|
60
|
+
*
|
61
|
+
* @param item
|
62
|
+
* @param useSortKey
|
63
|
+
* @param index
|
64
|
+
* @throws MissingKeyValuesError
|
65
|
+
*/
|
66
|
+
queryItems(item: Partial<SHAPE>, useSortKey?: boolean, index?: keyof TableIndexes): Promise<DATA_CLASS[]>;
|
67
|
+
/**
|
68
|
+
* Update the existing item matching the key fields value
|
69
|
+
* in the passed in partialItem
|
70
|
+
* @param partialItem
|
71
|
+
* @param newValue
|
72
|
+
* @param transaction
|
73
|
+
*
|
74
|
+
* @returns Promise<SHAPE | undefined>
|
75
|
+
* @throws MissingKeyValuesError
|
76
|
+
*/
|
77
|
+
updateItem(partialItem: Partial<SHAPE>, newValue: Exclude<Partial<SHAPE>, Record<string, never>>, transaction?: Transaction): Promise<DATA_CLASS | undefined>;
|
78
|
+
/**
|
79
|
+
* Adds new item to the table
|
80
|
+
*
|
81
|
+
* @param value
|
82
|
+
* @param transaction
|
83
|
+
*
|
84
|
+
* @returns Promise<SHAPE>
|
85
|
+
* @throws DuplicateItemError
|
86
|
+
* @throws MissingKeyValuesError
|
87
|
+
*/
|
88
|
+
createItem(value: DATA_CLASS, transaction?: Transaction): Promise<DATA_CLASS>;
|
89
|
+
/**
|
90
|
+
* Deletes an item from the table
|
91
|
+
*
|
92
|
+
* @param partialItem
|
93
|
+
* @param transaction
|
94
|
+
* @returns number
|
95
|
+
* @throw MissingKeyValuesError
|
96
|
+
*/
|
97
|
+
deleteItem(partialItem: Partial<SHAPE>, transaction?: Transaction): Promise<number>;
|
98
|
+
/**
|
99
|
+
* Return repo model object from the db value
|
100
|
+
* @param item
|
101
|
+
* @returns
|
102
|
+
*/
|
103
|
+
protected hydrateItem(item: Record<string, unknown>): DATA_CLASS;
|
104
|
+
protected convertSelectedValuesToJsonString(item: Record<string, unknown>): void;
|
105
|
+
/**
|
106
|
+
* Evaluate the partition key value from the partial item
|
107
|
+
* @param item
|
108
|
+
* @returns string
|
109
|
+
* @throw MissingKeyValuesError
|
110
|
+
*/
|
111
|
+
protected getPk(item: Partial<SHAPE>): string;
|
112
|
+
/**
|
113
|
+
* Evaluate the sort key value from the partial item
|
114
|
+
* @param item
|
115
|
+
* @returns string
|
116
|
+
*
|
117
|
+
* @throw MissingKeyValuesError
|
118
|
+
*/
|
119
|
+
protected getSk(item: Partial<SHAPE>): string;
|
120
|
+
/**
|
121
|
+
* Evaluate the key value from the
|
122
|
+
*
|
123
|
+
* Example 1:
|
124
|
+
* Input:
|
125
|
+
* - item: {id: foo, name: 'some-name' }
|
126
|
+
* - attributeName: pk
|
127
|
+
* - this.keysFormat = { pk: 'item#{id}', 'sk': '#meta', ... }
|
128
|
+
* Output:
|
129
|
+
* - 'item#foo'
|
130
|
+
*
|
131
|
+
* Example 2:
|
132
|
+
* Input:
|
133
|
+
* - item: {id: foo, name: 'some-name', itemType: 'A' }
|
134
|
+
* - attributeName: sk
|
135
|
+
* - this.keysFormat = { pk: 'item#{id}', 'sk': 'type#{itemType}', ... }
|
136
|
+
* Output:
|
137
|
+
* - 'type#A'
|
138
|
+
*
|
139
|
+
* Example 3:
|
140
|
+
* Input:
|
141
|
+
* - item: {id: foo, name: 'some-name' }
|
142
|
+
* - attributeName: sk
|
143
|
+
* - this.keysFormat = { pk: 'item#{id}', 'sk': 'name-type#{itemType}{name}', ... }
|
144
|
+
* Output:
|
145
|
+
* - Error: "Key field "itemType" must be specified in the input item"
|
146
|
+
*
|
147
|
+
* @param item
|
148
|
+
* @param attributeName
|
149
|
+
*
|
150
|
+
* @returns string
|
151
|
+
* @throw MissingKeyValuesError
|
152
|
+
*/
|
153
|
+
protected getKey(item: Partial<SHAPE>, attributeName: keyof KeysFormat): string;
|
154
|
+
/**
|
155
|
+
* Validate the data matches with "DATA_MODEL"
|
156
|
+
* @param value
|
157
|
+
* @return void
|
158
|
+
*/
|
159
|
+
private assertValueMatchesModel;
|
160
|
+
}
|
161
|
+
export {};
|
162
|
+
//# sourceMappingURL=AbstractDynamoDbRepository.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AbstractDynamoDbRepository.d.ts","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.ts"],"names":[],"mappings":"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"}
|