@l-v-yonsama/multi-platform-database-drivers 0.14.4 → 1.1.0

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 (114) hide show
  1. package/README.md +13 -3
  2. package/built/src/drivers/Auth0Driver.d.ts +3 -3
  3. package/built/src/drivers/Auth0Driver.js +10 -10
  4. package/built/src/drivers/Auth0Driver.js.map +1 -1
  5. package/built/src/drivers/AwsDriver.d.ts +2 -2
  6. package/built/src/drivers/AwsDriver.js +2 -2
  7. package/built/src/drivers/AwsDriver.js.map +1 -1
  8. package/built/src/drivers/BaseDriver.d.ts +2 -2
  9. package/built/src/drivers/BaseSQLSupportDriver.d.ts +2 -2
  10. package/built/src/drivers/DBDriverResolver.js +4 -0
  11. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  12. package/built/src/drivers/KeycloakDriver.d.ts +3 -3
  13. package/built/src/drivers/KeycloakDriver.js +8 -8
  14. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  15. package/built/src/drivers/MemcacheDriver.d.ts +3 -3
  16. package/built/src/drivers/MemcacheDriver.js +10 -9
  17. package/built/src/drivers/MemcacheDriver.js.map +1 -1
  18. package/built/src/drivers/MqttDriver.d.ts +5 -3
  19. package/built/src/drivers/MqttDriver.js +56 -5
  20. package/built/src/drivers/MqttDriver.js.map +1 -1
  21. package/built/src/drivers/MySQLDriver.d.ts +2 -2
  22. package/built/src/drivers/MySQLDriver.js +7 -3
  23. package/built/src/drivers/MySQLDriver.js.map +1 -1
  24. package/built/src/drivers/OracleDriver.d.ts +54 -0
  25. package/built/src/drivers/OracleDriver.js +566 -0
  26. package/built/src/drivers/OracleDriver.js.map +1 -0
  27. package/built/src/drivers/PostgresDriver.d.ts +2 -2
  28. package/built/src/drivers/PostgresDriver.js +5 -2
  29. package/built/src/drivers/PostgresDriver.js.map +1 -1
  30. package/built/src/drivers/RDSBaseDriver.js +1 -1
  31. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  32. package/built/src/drivers/RedisDriver.d.ts +4 -4
  33. package/built/src/drivers/RedisDriver.js +4 -4
  34. package/built/src/drivers/RedisDriver.js.map +1 -1
  35. package/built/src/drivers/SQLServerDriver.d.ts +2 -2
  36. package/built/src/drivers/SQLServerDriver.js +5 -4
  37. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  38. package/built/src/drivers/SQLiteDriver.d.ts +2 -2
  39. package/built/src/drivers/SQLiteDriver.js +9 -2
  40. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  41. package/built/src/drivers/aws/AwsCloudwatchServiceClient.d.ts +7 -5
  42. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +14 -15
  43. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
  44. package/built/src/drivers/aws/AwsDynamoServiceClient.d.ts +2 -4
  45. package/built/src/drivers/aws/AwsDynamoServiceClient.js +0 -5
  46. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  47. package/built/src/drivers/aws/AwsS3ServiceClient.d.ts +3 -3
  48. package/built/src/drivers/aws/AwsS3ServiceClient.js +6 -6
  49. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  50. package/built/src/drivers/aws/AwsSQSServiceClient.d.ts +3 -3
  51. package/built/src/drivers/aws/AwsSQSServiceClient.js +5 -4
  52. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  53. package/built/src/drivers/index.d.ts +1 -0
  54. package/built/src/drivers/index.js +1 -0
  55. package/built/src/drivers/index.js.map +1 -1
  56. package/built/src/helpers/ProposalHelper.d.ts +5 -0
  57. package/built/src/helpers/ProposalHelper.js +275 -0
  58. package/built/src/helpers/ProposalHelper.js.map +1 -0
  59. package/built/src/helpers/SQLHelper.d.ts +5 -10
  60. package/built/src/helpers/SQLHelper.js +37 -397
  61. package/built/src/helpers/SQLHelper.js.map +1 -1
  62. package/built/src/helpers/index.d.ts +2 -0
  63. package/built/src/helpers/index.js +2 -0
  64. package/built/src/helpers/index.js.map +1 -1
  65. package/built/src/helpers/prompts/Auth0PromptHelper.d.ts +2 -0
  66. package/built/src/helpers/prompts/Auth0PromptHelper.js +45 -0
  67. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -0
  68. package/built/src/helpers/prompts/AwsPromptHelper.d.ts +6 -0
  69. package/built/src/helpers/prompts/AwsPromptHelper.js +200 -0
  70. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -0
  71. package/built/src/helpers/prompts/KeycloakPromptHelper.d.ts +2 -0
  72. package/built/src/helpers/prompts/KeycloakPromptHelper.js +38 -0
  73. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -0
  74. package/built/src/helpers/prompts/MemcachePromptHelper.d.ts +2 -0
  75. package/built/src/helpers/prompts/MemcachePromptHelper.js +31 -0
  76. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -0
  77. package/built/src/helpers/prompts/MqttPromptHelper.d.ts +2 -0
  78. package/built/src/helpers/prompts/MqttPromptHelper.js +31 -0
  79. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -0
  80. package/built/src/helpers/prompts/RdsPromptHelper.d.ts +7 -0
  81. package/built/src/helpers/prompts/RdsPromptHelper.js +164 -0
  82. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -0
  83. package/built/src/helpers/prompts/RedisPromptHelper.d.ts +2 -0
  84. package/built/src/helpers/prompts/RedisPromptHelper.js +22 -0
  85. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -0
  86. package/built/src/helpers/prompts/SchemaPromptHelper.d.ts +2 -0
  87. package/built/src/helpers/prompts/SchemaPromptHelper.js +82 -0
  88. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -0
  89. package/built/src/helpers/prompts/index.d.ts +8 -0
  90. package/built/src/helpers/prompts/index.js +12 -0
  91. package/built/src/helpers/prompts/index.js.map +1 -0
  92. package/built/src/helpers/prompts/promptFormatUtils.d.ts +1 -0
  93. package/built/src/helpers/prompts/promptFormatUtils.js +8 -0
  94. package/built/src/helpers/prompts/promptFormatUtils.js.map +1 -0
  95. package/built/src/resource/DbResource.d.ts +3 -1
  96. package/built/src/resource/DbResource.js +3 -0
  97. package/built/src/resource/DbResource.js.map +1 -1
  98. package/built/src/types/drivers/ScanParams.d.ts +66 -8
  99. package/built/src/types/helpers/index.d.ts +40 -2
  100. package/built/src/types/helpers/index.js.map +1 -1
  101. package/built/src/types/resource/AwsDynamoTableAttributes.d.ts +1 -0
  102. package/built/src/types/resource/ConnectionSetting.d.ts +22 -0
  103. package/built/src/types/resource/ConnectionSetting.js +13 -0
  104. package/built/src/types/resource/ConnectionSetting.js.map +1 -1
  105. package/built/src/types/resource/DBType.d.ts +2 -1
  106. package/built/src/types/resource/DBType.js +1 -0
  107. package/built/src/types/resource/DBType.js.map +1 -1
  108. package/built/src/types/resource/OracleColumnType.d.ts +30 -0
  109. package/built/src/types/resource/OracleColumnType.js +74 -0
  110. package/built/src/types/resource/OracleColumnType.js.map +1 -0
  111. package/built/src/utils/dbType.d.ts +1 -0
  112. package/built/src/utils/dbType.js +12 -1
  113. package/built/src/utils/dbType.js.map +1 -1
  114. package/package.json +8 -7
@@ -1,7 +1,8 @@
1
1
  import { TopLevelCondition } from 'json-rules-engine';
2
2
  import { Statement } from 'pgsql-ast-parser';
3
- import { AwsDatabase, DbDynamoTable, DbTable, RdsDatabase, SchemaAndTableName } from '../../resource';
3
+ import { Auth0Database, AwsDatabase, DbDatabase, DbDynamoTable, DbTable, KeycloakDatabase, MemcacheDatabase, MqttDatabase, RdsDatabase, RedisDatabase, SchemaAndTableName } from '../../resource';
4
4
  import { RDSBaseDriver } from '../../drivers';
5
+ import { AwsServiceType } from '../resource';
5
6
  import { SqlLanguage } from 'sql-formatter';
6
7
  export type QNames = {
7
8
  tableName: string;
@@ -23,6 +24,7 @@ export type BindOptions = {
23
24
  toPositionalCharacter?: string;
24
25
  };
25
26
  export type SQLLang = 'sql' | 'partiql';
27
+ export type LimitClauseStyle = 'top' | 'trailing' | 'fetchFirst';
26
28
  export type ViewRecordsParams = {
27
29
  schemaAndName: SchemaAndTableName;
28
30
  limitMode: 'top' | 'last';
@@ -37,7 +39,7 @@ export type ToViewDataQueryParams = {
37
39
  idQuoteCharacter?: string;
38
40
  sqlLang?: SQLLang;
39
41
  limit?: number;
40
- limitAsTop?: boolean;
42
+ limitClauseStyle?: LimitClauseStyle;
41
43
  };
42
44
  export declare enum ProposalKind {
43
45
  Schema = 0,
@@ -63,6 +65,42 @@ export type CreateTableDefinitionsForPromptParams = {
63
65
  db?: RdsDatabase | AwsDatabase;
64
66
  rdsDriver?: RDSBaseDriver;
65
67
  };
68
+ export type CreateRdsSchemaDefinitionsForPromptParams = {
69
+ db: RdsDatabase | RdsDatabase[];
70
+ rdsDriver?: RDSBaseDriver;
71
+ schemaName?: string;
72
+ tableName?: string;
73
+ };
74
+ export type CreateAwsSchemaDefinitionsForPromptParams = {
75
+ db: AwsDatabase | AwsDatabase[];
76
+ resourceName?: string;
77
+ serviceType?: AwsServiceType;
78
+ };
79
+ export type CreateAuth0SchemaDefinitionsForPromptParams = {
80
+ db: Auth0Database | Auth0Database[];
81
+ };
82
+ export type CreateKeycloakSchemaDefinitionsForPromptParams = {
83
+ db: KeycloakDatabase | KeycloakDatabase[];
84
+ realmName?: string;
85
+ };
86
+ export type CreateMemcacheSchemaDefinitionsForPromptParams = {
87
+ db: MemcacheDatabase | MemcacheDatabase[];
88
+ };
89
+ export type CreateMqttSchemaDefinitionsForPromptParams = {
90
+ db: MqttDatabase | MqttDatabase[];
91
+ };
92
+ export type CreateRedisSchemaDefinitionsForPromptParams = {
93
+ db: RedisDatabase | RedisDatabase[];
94
+ };
95
+ export type CreateSchemaDefinitionsForPromptParams = {
96
+ db: DbDatabase | DbDatabase[];
97
+ rdsDriver?: RDSBaseDriver;
98
+ schemaName?: string;
99
+ tableName?: string;
100
+ resourceName?: string;
101
+ serviceType?: AwsServiceType;
102
+ realmName?: string;
103
+ };
66
104
  export type ResourcePosition = {
67
105
  name: string;
68
106
  kind: ProposalKind;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/helpers/index.ts"],"names":[],"mappings":";;;AAUA,iDAA+D;AA+C/D,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mDAAU,CAAA;IACV,iDAAS,CAAA;IACT,mDAAU,CAAA;IACV,+DAAgB,CAAA;AAClB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AA+CY,QAAA,uBAAuB,GAClC,iCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/helpers/index.ts"],"names":[],"mappings":";;;AAiBA,iDAA+D;AAuD/D,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mDAAU,CAAA;IACV,iDAAS,CAAA;IACT,mDAAU,CAAA;IACV,+DAAgB,CAAA;AAClB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AA8FY,QAAA,uBAAuB,GAClC,iCAAkC,CAAC"}
@@ -5,6 +5,7 @@ export declare const TableStatusType: {
5
5
  readonly CREATING: 'CREATING';
6
6
  readonly DELETING: 'DELETING';
7
7
  readonly INACCESSIBLE_ENCRYPTION_CREDENTIALS: 'INACCESSIBLE_ENCRYPTION_CREDENTIALS';
8
+ readonly REPLICATION_NOT_AUTHORIZED: 'REPLICATION_NOT_AUTHORIZED';
8
9
  readonly UPDATING: 'UPDATING';
9
10
  };
10
11
  export type TimeToLiveStatusTypes = 'ENABLING' | 'DISABLING' | 'ENABLED' | 'DISABLED';
@@ -2,6 +2,15 @@ import { AwsServiceType } from './AwsServiceType';
2
2
  import { SupplyCredentialType } from './AwsSupplyCredentialType';
3
3
  import { DBType } from './DBType';
4
4
  import { SQLServerAuthenticationType } from './SQLServerAuthenticationType';
5
+ export declare const ConnectionEnvironment: {
6
+ readonly Local: "local";
7
+ readonly Development: "development";
8
+ readonly Test: "test";
9
+ readonly Staging: "staging";
10
+ readonly Production: "production";
11
+ };
12
+ export type ConnectionEnvironment = (typeof ConnectionEnvironment)[keyof typeof ConnectionEnvironment];
13
+ export declare const ConnectionEnvironmentValues: ("local" | "development" | "test" | "staging" | "production")[];
5
14
  export type ResourceFilterDetail = {
6
15
  type: 'prefix' | 'suffix' | 'include' | 'regex';
7
16
  value: string;
@@ -80,11 +89,22 @@ export type SQLServerSetting = {
80
89
  connectString?: string;
81
90
  domain?: string;
82
91
  };
92
+ export declare const OracleConnectionType: {
93
+ readonly structured: "structured";
94
+ readonly useConnectString: "Use Connect String";
95
+ };
96
+ export type OracleConnectionType = (typeof OracleConnectionType)[keyof typeof OracleConnectionType];
97
+ export type OracleSetting = {
98
+ connectionType?: OracleConnectionType;
99
+ connectString?: string;
100
+ };
83
101
  export type TransactionIsolationLevel = 'READ UNCOMMITTED' | 'READ COMMITTED' | 'REPEATABLE READ' | 'SERIALIZABLE' | 'UNSPECIFIED' | 'SNAPSHOT';
84
102
  export type ConnectionSetting = {
85
103
  id?: string;
86
104
  dbType: DBType;
87
105
  name: string;
106
+ comment?: string;
107
+ environment?: ConnectionEnvironment;
88
108
  url?: string;
89
109
  host?: string;
90
110
  port?: number;
@@ -99,9 +119,11 @@ export type ConnectionSetting = {
99
119
  awsSetting?: AwsSetting;
100
120
  firebase?: FirebaseSetting;
101
121
  sqlServer?: SQLServerSetting;
122
+ oracle?: OracleSetting;
102
123
  iamSolution?: IamSolutionSetting;
103
124
  mqttSetting?: MqttSetting;
104
125
  timezone?: string;
126
+ readOnly?: boolean;
105
127
  transactionIsolationLevel?: TransactionIsolationLevel;
106
128
  connectTimeoutMs?: number;
107
129
  queryTimeoutMs?: number;
@@ -1,3 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OracleConnectionType = exports.ConnectionEnvironmentValues = exports.ConnectionEnvironment = void 0;
4
+ exports.ConnectionEnvironment = {
5
+ Local: 'local',
6
+ Development: 'development',
7
+ Test: 'test',
8
+ Staging: 'staging',
9
+ Production: 'production',
10
+ };
11
+ exports.ConnectionEnvironmentValues = Object.values(exports.ConnectionEnvironment);
12
+ exports.OracleConnectionType = {
13
+ structured: 'structured',
14
+ useConnectString: 'Use Connect String',
15
+ };
3
16
  //# sourceMappingURL=ConnectionSetting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionSetting.js","sourceRoot":"","sources":["../../../../src/types/resource/ConnectionSetting.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ConnectionSetting.js","sourceRoot":"","sources":["../../../../src/types/resource/ConnectionSetting.ts"],"names":[],"mappings":";;;AAKa,QAAA,qBAAqB,GAAG;IACnC,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;CAChB,CAAC;AAKE,QAAA,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,6BAAqB,CAAC,CAAC;AAiInE,QAAA,oBAAoB,GAAG;IAClC,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,oBAAoB;CAC9B,CAAC"}
@@ -3,6 +3,7 @@ export declare const DBType: {
3
3
  readonly Postgres: "Postgres";
4
4
  readonly SQLServer: "SQLServer";
5
5
  readonly SQLite: "SQLite";
6
+ readonly Oracle: "Oracle";
6
7
  readonly Redis: "Redis";
7
8
  readonly Memcache: "Memcache";
8
9
  readonly Keycloak: "Keycloak";
@@ -11,4 +12,4 @@ export declare const DBType: {
11
12
  readonly Mqtt: "Mqtt";
12
13
  };
13
14
  export type DBType = (typeof DBType)[keyof typeof DBType];
14
- export declare const DBTypeValues: ("MySQL" | "Postgres" | "SQLServer" | "SQLite" | "Redis" | "Memcache" | "Keycloak" | "Auth0" | "Aws" | "Mqtt")[];
15
+ export declare const DBTypeValues: ("MySQL" | "Postgres" | "SQLServer" | "SQLite" | "Oracle" | "Redis" | "Memcache" | "Keycloak" | "Auth0" | "Aws" | "Mqtt")[];
@@ -6,6 +6,7 @@ exports.DBType = {
6
6
  Postgres: 'Postgres',
7
7
  SQLServer: 'SQLServer',
8
8
  SQLite: 'SQLite',
9
+ Oracle: 'Oracle',
9
10
  Redis: 'Redis',
10
11
  Memcache: 'Memcache',
11
12
  Keycloak: 'Keycloak',
@@ -1 +1 @@
1
- {"version":3,"file":"DBType.js","sourceRoot":"","sources":["../../../../src/types/resource/DBType.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAIE,QAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"DBType.js","sourceRoot":"","sources":["../../../../src/types/resource/DBType.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAIE,QAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare enum OracleColumnType {
2
+ VARCHAR2 = 0,
3
+ NVARCHAR2 = 1,
4
+ CHAR = 2,
5
+ NCHAR = 3,
6
+ NUMBER = 4,
7
+ FLOAT = 5,
8
+ REAL = 6,
9
+ DOUBLE_PRECISION = 7,
10
+ LONG = 8,
11
+ RAW = 9,
12
+ LONG_RAW = 10,
13
+ DATE = 11,
14
+ TIMESTAMP = 12,
15
+ TIMESTAMP_WITH_TIME_ZONE = 13,
16
+ INTERVAL = 14,
17
+ CLOB = 15,
18
+ NCLOB = 16,
19
+ BLOB = 17,
20
+ BFILE = 18,
21
+ ROWID = 19,
22
+ UROWID = 20,
23
+ XML = 21,
24
+ JSON = 22,
25
+ BOOLEAN = 23,
26
+ UNKNOWN = -1
27
+ }
28
+ export declare namespace OracleColumnType {
29
+ function parse(s: string | undefined): OracleColumnType;
30
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OracleColumnType = void 0;
4
+ const enum_values_1 = require("enum-values");
5
+ var OracleColumnType;
6
+ (function (OracleColumnType) {
7
+ OracleColumnType[OracleColumnType["VARCHAR2"] = 0] = "VARCHAR2";
8
+ OracleColumnType[OracleColumnType["NVARCHAR2"] = 1] = "NVARCHAR2";
9
+ OracleColumnType[OracleColumnType["CHAR"] = 2] = "CHAR";
10
+ OracleColumnType[OracleColumnType["NCHAR"] = 3] = "NCHAR";
11
+ OracleColumnType[OracleColumnType["NUMBER"] = 4] = "NUMBER";
12
+ OracleColumnType[OracleColumnType["FLOAT"] = 5] = "FLOAT";
13
+ OracleColumnType[OracleColumnType["REAL"] = 6] = "REAL";
14
+ OracleColumnType[OracleColumnType["DOUBLE_PRECISION"] = 7] = "DOUBLE_PRECISION";
15
+ OracleColumnType[OracleColumnType["LONG"] = 8] = "LONG";
16
+ OracleColumnType[OracleColumnType["RAW"] = 9] = "RAW";
17
+ OracleColumnType[OracleColumnType["LONG_RAW"] = 10] = "LONG_RAW";
18
+ OracleColumnType[OracleColumnType["DATE"] = 11] = "DATE";
19
+ OracleColumnType[OracleColumnType["TIMESTAMP"] = 12] = "TIMESTAMP";
20
+ OracleColumnType[OracleColumnType["TIMESTAMP_WITH_TIME_ZONE"] = 13] = "TIMESTAMP_WITH_TIME_ZONE";
21
+ OracleColumnType[OracleColumnType["INTERVAL"] = 14] = "INTERVAL";
22
+ OracleColumnType[OracleColumnType["CLOB"] = 15] = "CLOB";
23
+ OracleColumnType[OracleColumnType["NCLOB"] = 16] = "NCLOB";
24
+ OracleColumnType[OracleColumnType["BLOB"] = 17] = "BLOB";
25
+ OracleColumnType[OracleColumnType["BFILE"] = 18] = "BFILE";
26
+ OracleColumnType[OracleColumnType["ROWID"] = 19] = "ROWID";
27
+ OracleColumnType[OracleColumnType["UROWID"] = 20] = "UROWID";
28
+ OracleColumnType[OracleColumnType["XML"] = 21] = "XML";
29
+ OracleColumnType[OracleColumnType["JSON"] = 22] = "JSON";
30
+ OracleColumnType[OracleColumnType["BOOLEAN"] = 23] = "BOOLEAN";
31
+ OracleColumnType[OracleColumnType["UNKNOWN"] = -1] = "UNKNOWN";
32
+ })(OracleColumnType = exports.OracleColumnType || (exports.OracleColumnType = {}));
33
+ (function (OracleColumnType) {
34
+ function parse(s) {
35
+ if (s === undefined || s === null) {
36
+ return OracleColumnType.UNKNOWN;
37
+ }
38
+ s = s.toUpperCase();
39
+ if ('BINARY_FLOAT' === s) {
40
+ return OracleColumnType.REAL;
41
+ }
42
+ else if ('BINARY_DOUBLE' === s) {
43
+ return OracleColumnType.DOUBLE_PRECISION;
44
+ }
45
+ else if ('RAW' === s) {
46
+ return OracleColumnType.RAW;
47
+ }
48
+ else if ('LONG RAW' === s) {
49
+ return OracleColumnType.LONG_RAW;
50
+ }
51
+ else if (s.startsWith('TIMESTAMP') && s.includes('TIME ZONE')) {
52
+ return OracleColumnType.TIMESTAMP_WITH_TIME_ZONE;
53
+ }
54
+ else if (s.startsWith('TIMESTAMP')) {
55
+ return OracleColumnType.TIMESTAMP;
56
+ }
57
+ else if (s.startsWith('INTERVAL')) {
58
+ return OracleColumnType.INTERVAL;
59
+ }
60
+ else if ('NCLOB' === s) {
61
+ return OracleColumnType.NCLOB;
62
+ }
63
+ else if ('XMLTYPE' === s) {
64
+ return OracleColumnType.XML;
65
+ }
66
+ const e = enum_values_1.EnumValues.getNamesAndValues(OracleColumnType).find((a) => a.name === s);
67
+ if (e) {
68
+ return e.value;
69
+ }
70
+ return OracleColumnType.UNKNOWN;
71
+ }
72
+ OracleColumnType.parse = parse;
73
+ })(OracleColumnType = exports.OracleColumnType || (exports.OracleColumnType = {}));
74
+ //# sourceMappingURL=OracleColumnType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OracleColumnType.js","sourceRoot":"","sources":["../../../../src/types/resource/OracleColumnType.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAWzC,IAAY,gBA0BX;AA1BD,WAAY,gBAAgB;IAC1B,+DAAQ,CAAA;IACR,iEAAS,CAAA;IACT,uDAAI,CAAA;IACJ,yDAAK,CAAA;IACL,2DAAM,CAAA;IACN,yDAAK,CAAA;IACL,uDAAI,CAAA;IACJ,+EAAgB,CAAA;IAChB,uDAAI,CAAA;IACJ,qDAAG,CAAA;IACH,gEAAQ,CAAA;IACR,wDAAI,CAAA;IACJ,kEAAS,CAAA;IACT,gGAAwB,CAAA;IACxB,gEAAQ,CAAA;IACR,wDAAI,CAAA;IACJ,0DAAK,CAAA;IACL,wDAAI,CAAA;IACJ,0DAAK,CAAA;IACL,0DAAK,CAAA;IACL,4DAAM,CAAA;IACN,sDAAG,CAAA;IACH,wDAAI,CAAA;IACJ,8DAAO,CAAA;IACP,8DAAY,CAAA;AACd,CAAC,EA1BW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA0B3B;AAED,WAAiB,gBAAgB;IAC/B,SAAgB,KAAK,CAAC,CAAqB;QACzC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;YACjC,OAAO,gBAAgB,CAAC,OAAO,CAAC;SACjC;QACD,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAEpB,IAAI,cAAc,KAAK,CAAC,EAAE;YACxB,OAAO,gBAAgB,CAAC,IAAI,CAAC;SAC9B;aAAM,IAAI,eAAe,KAAK,CAAC,EAAE;YAChC,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;SAC1C;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE;YACtB,OAAO,gBAAgB,CAAC,GAAG,CAAC;SAC7B;aAAM,IAAI,UAAU,KAAK,CAAC,EAAE;YAC3B,OAAO,gBAAgB,CAAC,QAAQ,CAAC;SAClC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAG/D,OAAO,gBAAgB,CAAC,wBAAwB,CAAC;SAClD;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YACpC,OAAO,gBAAgB,CAAC,SAAS,CAAC;SACnC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAEnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC;SAClC;aAAM,IAAI,OAAO,KAAK,CAAC,EAAE;YACxB,OAAO,gBAAgB,CAAC,KAAK,CAAC;SAC/B;aAAM,IAAI,SAAS,KAAK,CAAC,EAAE;YAC1B,OAAO,gBAAgB,CAAC,GAAG,CAAC;SAC7B;QAED,MAAM,CAAC,GAAG,wBAAU,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CACpB,CAAC;QACF,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,CAAC,KAAyB,CAAC;SACpC;QACD,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAClC,CAAC;IApCe,sBAAK,QAoCpB,CAAA;AACH,CAAC,EAtCgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAsChC"}
@@ -1,4 +1,5 @@
1
1
  import { AwsSetting, DBType } from '../types';
2
2
  export declare const isAws: (dbType: DBType) => boolean;
3
3
  export declare const isRDSType: (dbType: DBType) => boolean;
4
+ export declare const isReadOnlyEnforcementReliable: (dbType: DBType) => boolean;
4
5
  export declare const isPartiQLType: (dbType: DBType, awsSetting?: AwsSetting) => boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPartiQLType = exports.isRDSType = exports.isAws = void 0;
3
+ exports.isPartiQLType = exports.isReadOnlyEnforcementReliable = exports.isRDSType = exports.isAws = void 0;
4
4
  const types_1 = require("../types");
5
5
  const isAws = (dbType) => types_1.DBType.Aws === dbType;
6
6
  exports.isAws = isAws;
@@ -10,11 +10,22 @@ const isRDSType = (dbType) => {
10
10
  case types_1.DBType.Postgres:
11
11
  case types_1.DBType.SQLServer:
12
12
  case types_1.DBType.SQLite:
13
+ case types_1.DBType.Oracle:
13
14
  return true;
14
15
  }
15
16
  return false;
16
17
  };
17
18
  exports.isRDSType = isRDSType;
19
+ const isReadOnlyEnforcementReliable = (dbType) => {
20
+ switch (dbType) {
21
+ case types_1.DBType.MySQL:
22
+ case types_1.DBType.Postgres:
23
+ case types_1.DBType.SQLite:
24
+ return true;
25
+ }
26
+ return false;
27
+ };
28
+ exports.isReadOnlyEnforcementReliable = isReadOnlyEnforcementReliable;
18
29
  const isPartiQLType = (dbType, awsSetting) => {
19
30
  if (dbType !== types_1.DBType.Aws || awsSetting === undefined) {
20
31
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"dbType.js","sourceRoot":"","sources":["../../../src/utils/dbType.ts"],"names":[],"mappings":";;;AAAA,oCAA8D;AAEvD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,cAAM,CAAC,GAAG,KAAK,MAAM,CAAC;AAA3D,QAAA,KAAK,SAAsD;AAEjE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,QAAQ,MAAM,EAAE;QACd,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,SAAS,CAAC;QACtB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEK,MAAM,aAAa,GAAG,CAC3B,MAAc,EACd,UAAuB,EACd,EAAE;IACX,IAAI,MAAM,KAAK,cAAM,CAAC,GAAG,IAAI,UAAU,KAAK,SAAS,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAc,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
1
+ {"version":3,"file":"dbType.js","sourceRoot":"","sources":["../../../src/utils/dbType.ts"],"names":[],"mappings":";;;AAAA,oCAA8D;AAEvD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,cAAM,CAAC,GAAG,KAAK,MAAM,CAAC;AAA3D,QAAA,KAAK,SAAsD;AAEjE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,QAAQ,MAAM,EAAE;QACd,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,SAAS,CAAC;QACtB,KAAK,cAAM,CAAC,MAAM,CAAC;QACnB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAkBK,MAAM,6BAA6B,GAAG,CAAC,MAAc,EAAW,EAAE;IACvE,QAAQ,MAAM,EAAE;QACd,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC;AAEK,MAAM,aAAa,GAAG,CAC3B,MAAc,EACd,UAAuB,EACd,EAAE;IACX,IAAI,MAAM,KAAK,cAAM,CAAC,GAAG,IAAI,UAAU,KAAK,SAAS,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAc,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@l-v-yonsama/multi-platform-database-drivers",
3
- "version": "0.14.4",
3
+ "version": "1.1.0",
4
4
  "description": "multi-platform database drivers in TypeScript.",
5
5
  "engines": {
6
6
  "node": ">= 18"
@@ -11,12 +11,12 @@
11
11
  "@types/bytes": "^3.1.1",
12
12
  "@types/humanize-duration": "^3.27.2",
13
13
  "@types/jest": "~29.2",
14
- "@types/json-rules-engine": "^4.1.0",
15
14
  "@types/lodash.chunk": "^4.2.9",
16
15
  "@types/lodash.isequal": "^4.5.6",
17
16
  "@types/memcached": "^2.2.10",
18
17
  "@types/mssql": "^9.1.5",
19
18
  "@types/node": "~18",
19
+ "@types/oracledb": "^7.0.1",
20
20
  "@types/pg": "^8.6.6",
21
21
  "@types/pluralize": "^0.0.29",
22
22
  "@types/sql.js": "^1.4.9",
@@ -41,7 +41,7 @@
41
41
  "clean": "rimraf coverage built tmp *.tgz __tests__/data/logs/parse/*.json",
42
42
  "clean:examples": "rimraf built/src/examples",
43
43
  "prebuild": "npm run lint",
44
- "doc": "typedoc --cleanOutputDir --excludePrivate --plugin typedoc-plugin-markdown --out doc src",
44
+ "doc": "typedoc",
45
45
  "build": "npm run clean && tsc -p tsconfig.json",
46
46
  "build:watch": "npm run clean && tsc -w -p tsconfig.json",
47
47
  "build:schema": "typescript-json-schema tsconfig.json LogParseConfig --required --noExtraProps --out schema/log-parse-config.schema.json",
@@ -65,13 +65,14 @@
65
65
  "examples:auth0": "npm run build && node built/src/examples/auth0.js",
66
66
  "examples:keycloak": "npm run build && node built/src/examples/keycloak.js",
67
67
  "test0": "jest --coverage",
68
- "test": "npm run clean && jest --runInBand",
68
+ "test": "npm run clean && AWS_SDK_JS_NODE_VERSION_SUPPORT_WARNING_DISABLED=true jest --runInBand",
69
69
  "test:util": "npm run clean && jest __tests__/util/util.test.ts",
70
70
  "test:logParserUtil": "npm run clean && jest __tests__/util/logParseUtil.test.ts",
71
71
  "test:driver:mysql": "npm run clean && jest __tests__/db/drivers/MySQLDriver.test.ts",
72
72
  "test:driver:mssql": "npm run clean && jest __tests__/db/drivers/SQLServerDriver.test.ts",
73
73
  "test:driver:postgres": "npm run clean && jest __tests__/db/drivers/PostgresDriver.test.ts",
74
74
  "test:driver:sqlite": "npm run clean && jest __tests__/db/drivers/SQLiteDriver.test.ts",
75
+ "test:driver:oracle": "npm run clean && jest __tests__/db/drivers/OracleDriver.test.ts",
75
76
  "test:driver:redis": "npm run clean && jest __tests__/db/drivers/RedisDriver.test.ts",
76
77
  "test:driver:auth0": "npm run clean && jest __tests__/db/drivers/Auth0Driver.test.ts",
77
78
  "test:driver:keycloak": "npm run clean && jest __tests__/db/drivers/KeycloakDriver.test.ts",
@@ -98,7 +99,7 @@
98
99
  "@aws-sdk/credential-providers": "^3.279.0",
99
100
  "@aws-sdk/lib-dynamodb": "^3.656.0",
100
101
  "@aws-sdk/s3-request-presigner": "^3.427.0",
101
- "@l-v-yonsama/rdh": "^0.2.17",
102
+ "@l-v-yonsama/rdh": "^0.3.0",
102
103
  "auth0": "^3.7.1",
103
104
  "axios": "^1.6.0",
104
105
  "bytes": "^3.1.2",
@@ -108,8 +109,7 @@
108
109
  "enum-values": "^1.2.1",
109
110
  "humanize-duration": "^3.30.0",
110
111
  "ioredis": "^5.3.1",
111
- "js-yaml": "^4.1.0",
112
- "json-rules-engine": "^6.5.0",
112
+ "json-rules-engine": "^7.3.1",
113
113
  "jwt-decode": "^4.0.0",
114
114
  "lodash.chunk": "^4.2.0",
115
115
  "memcached": "^2.2.2",
@@ -118,6 +118,7 @@
118
118
  "mssql": "^11.0.1",
119
119
  "mysql2": "^3.1.2",
120
120
  "openid-client": "^5.6.1",
121
+ "oracledb": "^7.0.1",
121
122
  "pg": "^8.9.0",
122
123
  "pgsql-ast-parser": "^11.0.1",
123
124
  "pluralize": "^8.0.0",