@boxyhq/saml-jackson 1.32.0 → 1.33.1-beta.1
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/controller/api.js +17 -7
- package/dist/controller/api.js.map +1 -1
- package/dist/controller/connection/oidc.js +17 -7
- package/dist/controller/connection/oidc.js.map +1 -1
- package/dist/controller/connection/saml.js +17 -7
- package/dist/controller/connection/saml.js.map +1 -1
- package/dist/controller/logout.js +17 -7
- package/dist/controller/logout.js.map +1 -1
- package/dist/controller/oauth/oidc-client.d.ts +9 -4
- package/dist/controller/oauth/oidc-client.js +80 -11
- package/dist/controller/oauth/oidc-client.js.map +1 -1
- package/dist/controller/oauth/oidc-issuer.d.ts +2 -0
- package/dist/controller/oauth/oidc-issuer.js +25 -0
- package/dist/controller/oauth/oidc-issuer.js.map +1 -0
- package/dist/controller/oauth.js +97 -46
- package/dist/controller/oauth.js.map +1 -1
- package/dist/controller/setup-link.js +17 -7
- package/dist/controller/setup-link.js.map +1 -1
- package/dist/controller/sso-handler.d.ts +10 -2
- package/dist/controller/sso-handler.js +34 -12
- package/dist/controller/sso-handler.js.map +1 -1
- package/dist/controller/utils.d.ts +5 -3
- package/dist/controller/utils.js +27 -9
- package/dist/controller/utils.js.map +1 -1
- package/dist/db/db.js +17 -7
- package/dist/db/db.js.map +1 -1
- package/dist/db/dynamoDb.js +17 -7
- package/dist/db/dynamoDb.js.map +1 -1
- package/dist/db/mem.js +17 -7
- package/dist/db/mem.js.map +1 -1
- package/dist/db/mongo.js +17 -7
- package/dist/db/mongo.js.map +1 -1
- package/dist/db/redis.js +17 -7
- package/dist/db/redis.js.map +1 -1
- package/dist/db/sql/sql.js +17 -7
- package/dist/db/sql/sql.js.map +1 -1
- package/dist/db/store.js +17 -7
- package/dist/db/store.js.map +1 -1
- package/dist/directory-sync/batch-events/queue.js +17 -7
- package/dist/directory-sync/batch-events/queue.js.map +1 -1
- package/dist/directory-sync/scim/DirectoryConfig.js +17 -7
- package/dist/directory-sync/scim/DirectoryConfig.js.map +1 -1
- package/dist/directory-sync/scim/Groups.js +17 -7
- package/dist/directory-sync/scim/Groups.js.map +1 -1
- package/dist/ee/identity-federation/idp-login.js +20 -14
- package/dist/ee/identity-federation/idp-login.js.map +1 -1
- package/dist/ee/identity-federation/sso.js +16 -11
- package/dist/ee/identity-federation/sso.js.map +1 -1
- package/dist/event/axios.d.ts +2 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/loadConnection.js +17 -7
- package/dist/loadConnection.js.map +1 -1
- package/dist/saml/lib.js +17 -7
- package/dist/saml/lib.js.map +1 -1
- package/dist/saml/x509.js +17 -7
- package/dist/saml/x509.js.map +1 -1
- package/dist/src/controller/admin.d.ts +27 -0
- package/dist/src/controller/admin.js +60 -0
- package/dist/src/controller/admin.js.map +1 -0
- package/dist/src/controller/analytics.d.ts +16 -0
- package/dist/src/controller/analytics.js +79 -0
- package/dist/src/controller/analytics.js.map +1 -0
- package/dist/src/controller/api.d.ts +557 -0
- package/dist/src/controller/api.js +806 -0
- package/dist/src/controller/api.js.map +1 -0
- package/dist/src/controller/connection/oidc.d.ts +7 -0
- package/dist/src/controller/connection/oidc.js +181 -0
- package/dist/src/controller/connection/oidc.js.map +1 -0
- package/dist/src/controller/connection/saml.d.ts +7 -0
- package/dist/src/controller/connection/saml.js +250 -0
- package/dist/src/controller/connection/saml.js.map +1 -0
- package/dist/src/controller/error.d.ts +10 -0
- package/dist/src/controller/error.js +13 -0
- package/dist/src/controller/error.js.map +1 -0
- package/dist/src/controller/health-check.d.ts +11 -0
- package/dist/src/controller/health-check.js +51 -0
- package/dist/src/controller/health-check.js.map +1 -0
- package/dist/src/controller/logout.d.ts +18 -0
- package/dist/src/controller/logout.js +132 -0
- package/dist/src/controller/logout.js.map +1 -0
- package/dist/src/controller/oauth/allowed.d.ts +1 -0
- package/dist/src/controller/oauth/allowed.js +30 -0
- package/dist/src/controller/oauth/allowed.js.map +1 -0
- package/dist/src/controller/oauth/code-verifier.d.ts +1 -0
- package/dist/src/controller/oauth/code-verifier.js +8 -0
- package/dist/src/controller/oauth/code-verifier.js.map +1 -0
- package/dist/src/controller/oauth/oidc-client.d.ts +12 -0
- package/dist/src/controller/oauth/oidc-client.js +89 -0
- package/dist/src/controller/oauth/oidc-client.js.map +1 -0
- package/dist/src/controller/oauth/redirect.d.ts +1 -0
- package/dist/src/controller/oauth/redirect.js +13 -0
- package/dist/src/controller/oauth/redirect.js.map +1 -0
- package/dist/src/controller/oauth.d.ts +142 -0
- package/dist/src/controller/oauth.js +1112 -0
- package/dist/src/controller/oauth.js.map +1 -0
- package/dist/src/controller/oidc-discovery.d.ts +22 -0
- package/dist/src/controller/oidc-discovery.js +47 -0
- package/dist/src/controller/oidc-discovery.js.map +1 -0
- package/dist/src/controller/setup-link.d.ts +307 -0
- package/dist/src/controller/setup-link.js +462 -0
- package/dist/src/controller/setup-link.js.map +1 -0
- package/dist/src/controller/sp-config.d.ts +22 -0
- package/dist/src/controller/sp-config.js +89 -0
- package/dist/src/controller/sp-config.js.map +1 -0
- package/dist/src/controller/sso-handler.d.ts +66 -0
- package/dist/src/controller/sso-handler.js +306 -0
- package/dist/src/controller/sso-handler.js.map +1 -0
- package/dist/src/controller/utils.d.ts +84 -0
- package/dist/src/controller/utils.js +328 -0
- package/dist/src/controller/utils.js.map +1 -0
- package/dist/src/cron/lock.d.ts +18 -0
- package/dist/src/cron/lock.js +98 -0
- package/dist/src/cron/lock.js.map +1 -0
- package/dist/src/db/db.d.ts +5 -0
- package/dist/src/db/db.js +178 -0
- package/dist/src/db/db.js.map +1 -0
- package/dist/src/db/defaultDb.d.ts +2 -0
- package/dist/src/db/defaultDb.js +18 -0
- package/dist/src/db/defaultDb.js.map +1 -0
- package/dist/src/db/dynamoDb.d.ts +19 -0
- package/dist/src/db/dynamoDb.js +320 -0
- package/dist/src/db/dynamoDb.js.map +1 -0
- package/dist/src/db/encrypter.d.ts +3 -0
- package/dist/src/db/encrypter.js +22 -0
- package/dist/src/db/encrypter.js.map +1 -0
- package/dist/src/db/mem.d.ts +23 -0
- package/dist/src/db/mem.js +186 -0
- package/dist/src/db/mem.js.map +1 -0
- package/dist/src/db/mongo.d.ts +22 -0
- package/dist/src/db/mongo.js +177 -0
- package/dist/src/db/mongo.js.map +1 -0
- package/dist/src/db/planetscale/entity/JacksonIndex.d.ts +5 -0
- package/dist/src/db/planetscale/entity/JacksonIndex.js +32 -0
- package/dist/src/db/planetscale/entity/JacksonIndex.js.map +1 -0
- package/dist/src/db/planetscale/entity/JacksonStore.d.ts +9 -0
- package/dist/src/db/planetscale/entity/JacksonStore.js +63 -0
- package/dist/src/db/planetscale/entity/JacksonStore.js.map +1 -0
- package/dist/src/db/planetscale/entity/JacksonTTL.d.ts +4 -0
- package/dist/src/db/planetscale/entity/JacksonTTL.js +27 -0
- package/dist/src/db/planetscale/entity/JacksonTTL.js.map +1 -0
- package/dist/src/db/redis.d.ts +18 -0
- package/dist/src/db/redis.js +214 -0
- package/dist/src/db/redis.js.map +1 -0
- package/dist/src/db/sql/entity/JacksonIndex.d.ts +7 -0
- package/dist/src/db/sql/entity/JacksonIndex.js +39 -0
- package/dist/src/db/sql/entity/JacksonIndex.js.map +1 -0
- package/dist/src/db/sql/entity/JacksonStore.d.ts +9 -0
- package/dist/src/db/sql/entity/JacksonStore.js +61 -0
- package/dist/src/db/sql/entity/JacksonStore.js.map +1 -0
- package/dist/src/db/sql/entity/JacksonTTL.d.ts +4 -0
- package/dist/src/db/sql/entity/JacksonTTL.js +27 -0
- package/dist/src/db/sql/entity/JacksonTTL.js.map +1 -0
- package/dist/src/db/sql/mariadb/entity/JacksonIndex.d.ts +7 -0
- package/dist/src/db/sql/mariadb/entity/JacksonIndex.js +39 -0
- package/dist/src/db/sql/mariadb/entity/JacksonIndex.js.map +1 -0
- package/dist/src/db/sql/mariadb/entity/JacksonStore.d.ts +9 -0
- package/dist/src/db/sql/mariadb/entity/JacksonStore.js +63 -0
- package/dist/src/db/sql/mariadb/entity/JacksonStore.js.map +1 -0
- package/dist/src/db/sql/mariadb/entity/JacksonTTL.d.ts +4 -0
- package/dist/src/db/sql/mariadb/entity/JacksonTTL.js +27 -0
- package/dist/src/db/sql/mariadb/entity/JacksonTTL.js.map +1 -0
- package/dist/src/db/sql/mssql/entity/JacksonIndex.d.ts +7 -0
- package/dist/src/db/sql/mssql/entity/JacksonIndex.js +39 -0
- package/dist/src/db/sql/mssql/entity/JacksonIndex.js.map +1 -0
- package/dist/src/db/sql/mssql/entity/JacksonStore.d.ts +9 -0
- package/dist/src/db/sql/mssql/entity/JacksonStore.js +61 -0
- package/dist/src/db/sql/mssql/entity/JacksonStore.js.map +1 -0
- package/dist/src/db/sql/mssql/entity/JacksonTTL.d.ts +4 -0
- package/dist/src/db/sql/mssql/entity/JacksonTTL.js +27 -0
- package/dist/src/db/sql/mssql/entity/JacksonTTL.js.map +1 -0
- package/dist/src/db/sql/mssql.d.ts +1 -0
- package/dist/src/db/sql/mssql.js +44 -0
- package/dist/src/db/sql/mssql.js.map +1 -0
- package/dist/src/db/sql/sql.d.ts +32 -0
- package/dist/src/db/sql/sql.js +318 -0
- package/dist/src/db/sql/sql.js.map +1 -0
- package/dist/src/db/sql/sqlite/entity/JacksonIndex.d.ts +7 -0
- package/dist/src/db/sql/sqlite/entity/JacksonIndex.js +39 -0
- package/dist/src/db/sql/sqlite/entity/JacksonIndex.js.map +1 -0
- package/dist/src/db/sql/sqlite/entity/JacksonStore.d.ts +9 -0
- package/dist/src/db/sql/sqlite/entity/JacksonStore.js +61 -0
- package/dist/src/db/sql/sqlite/entity/JacksonStore.js.map +1 -0
- package/dist/src/db/sql/sqlite/entity/JacksonTTL.d.ts +4 -0
- package/dist/src/db/sql/sqlite/entity/JacksonTTL.js +27 -0
- package/dist/src/db/sql/sqlite/entity/JacksonTTL.js.map +1 -0
- package/dist/src/db/store.d.ts +5 -0
- package/dist/src/db/store.js +65 -0
- package/dist/src/db/store.js.map +1 -0
- package/dist/src/db/utils.d.ts +16 -0
- package/dist/src/db/utils.js +28 -0
- package/dist/src/db/utils.js.map +1 -0
- package/dist/src/directory-sync/batch-events/queue.d.ts +40 -0
- package/dist/src/directory-sync/batch-events/queue.js +225 -0
- package/dist/src/directory-sync/batch-events/queue.js.map +1 -0
- package/dist/src/directory-sync/index.d.ts +27 -0
- package/dist/src/directory-sync/index.js +97 -0
- package/dist/src/directory-sync/index.js.map +1 -0
- package/dist/src/directory-sync/non-scim/google/api.d.ts +36 -0
- package/dist/src/directory-sync/non-scim/google/api.js +143 -0
- package/dist/src/directory-sync/non-scim/google/api.js.map +1 -0
- package/dist/src/directory-sync/non-scim/google/index.d.ts +12 -0
- package/dist/src/directory-sync/non-scim/google/index.js +10 -0
- package/dist/src/directory-sync/non-scim/google/index.js.map +1 -0
- package/dist/src/directory-sync/non-scim/google/oauth.d.ts +27 -0
- package/dist/src/directory-sync/non-scim/google/oauth.js +105 -0
- package/dist/src/directory-sync/non-scim/google/oauth.js.map +1 -0
- package/dist/src/directory-sync/non-scim/index.d.ts +24 -0
- package/dist/src/directory-sync/non-scim/index.js +85 -0
- package/dist/src/directory-sync/non-scim/index.js.map +1 -0
- package/dist/src/directory-sync/non-scim/syncGroupMembers.d.ts +23 -0
- package/dist/src/directory-sync/non-scim/syncGroupMembers.js +105 -0
- package/dist/src/directory-sync/non-scim/syncGroupMembers.js.map +1 -0
- package/dist/src/directory-sync/non-scim/syncGroups.d.ts +24 -0
- package/dist/src/directory-sync/non-scim/syncGroups.js +120 -0
- package/dist/src/directory-sync/non-scim/syncGroups.js.map +1 -0
- package/dist/src/directory-sync/non-scim/syncUsers.d.ts +24 -0
- package/dist/src/directory-sync/non-scim/syncUsers.js +120 -0
- package/dist/src/directory-sync/non-scim/syncUsers.js.map +1 -0
- package/dist/src/directory-sync/non-scim/utils.d.ts +36 -0
- package/dist/src/directory-sync/non-scim/utils.js +109 -0
- package/dist/src/directory-sync/non-scim/utils.js.map +1 -0
- package/dist/src/directory-sync/request.d.ts +14 -0
- package/dist/src/directory-sync/request.js +29 -0
- package/dist/src/directory-sync/request.js.map +1 -0
- package/dist/src/directory-sync/scim/Base.d.ts +12 -0
- package/dist/src/directory-sync/scim/Base.js +23 -0
- package/dist/src/directory-sync/scim/Base.js.map +1 -0
- package/dist/src/directory-sync/scim/DirectoryConfig.d.ts +343 -0
- package/dist/src/directory-sync/scim/DirectoryConfig.js +580 -0
- package/dist/src/directory-sync/scim/DirectoryConfig.js.map +1 -0
- package/dist/src/directory-sync/scim/DirectoryGroups.d.ts +28 -0
- package/dist/src/directory-sync/scim/DirectoryGroups.js +252 -0
- package/dist/src/directory-sync/scim/DirectoryGroups.js.map +1 -0
- package/dist/src/directory-sync/scim/DirectoryUsers.d.ts +25 -0
- package/dist/src/directory-sync/scim/DirectoryUsers.js +193 -0
- package/dist/src/directory-sync/scim/DirectoryUsers.js.map +1 -0
- package/dist/src/directory-sync/scim/Groups.d.ts +166 -0
- package/dist/src/directory-sync/scim/Groups.js +348 -0
- package/dist/src/directory-sync/scim/Groups.js.map +1 -0
- package/dist/src/directory-sync/scim/Users.d.ts +99 -0
- package/dist/src/directory-sync/scim/Users.js +215 -0
- package/dist/src/directory-sync/scim/Users.js.map +1 -0
- package/dist/src/directory-sync/scim/WebhookEventsLogger.d.ts +101 -0
- package/dist/src/directory-sync/scim/WebhookEventsLogger.js +165 -0
- package/dist/src/directory-sync/scim/WebhookEventsLogger.js.map +1 -0
- package/dist/src/directory-sync/scim/transform.d.ts +6 -0
- package/dist/src/directory-sync/scim/transform.js +37 -0
- package/dist/src/directory-sync/scim/transform.js.map +1 -0
- package/dist/src/directory-sync/scim/utils.d.ts +33 -0
- package/dist/src/directory-sync/scim/utils.js +129 -0
- package/dist/src/directory-sync/scim/utils.js.map +1 -0
- package/dist/src/directory-sync/types.d.ts +195 -0
- package/dist/src/directory-sync/types.js +10 -0
- package/dist/src/directory-sync/types.js.map +1 -0
- package/dist/src/directory-sync/utils.d.ts +19 -0
- package/dist/src/directory-sync/utils.js +56 -0
- package/dist/src/directory-sync/utils.js.map +1 -0
- package/dist/src/ee/branding/index.d.ts +17 -0
- package/dist/src/ee/branding/index.js +49 -0
- package/dist/src/ee/branding/index.js.map +1 -0
- package/dist/src/ee/common/checkLicense.d.ts +3 -0
- package/dist/src/ee/common/checkLicense.js +23 -0
- package/dist/src/ee/common/checkLicense.js.map +1 -0
- package/dist/src/ee/identity-federation/app.d.ts +328 -0
- package/dist/src/ee/identity-federation/app.js +532 -0
- package/dist/src/ee/identity-federation/app.js.map +1 -0
- package/dist/src/ee/identity-federation/idp-login.d.ts +18 -0
- package/dist/src/ee/identity-federation/idp-login.js +98 -0
- package/dist/src/ee/identity-federation/idp-login.js.map +1 -0
- package/dist/src/ee/identity-federation/index.d.ts +15 -0
- package/dist/src/ee/identity-federation/index.js +43 -0
- package/dist/src/ee/identity-federation/index.js.map +1 -0
- package/dist/src/ee/identity-federation/sso.d.ts +24 -0
- package/dist/src/ee/identity-federation/sso.js +124 -0
- package/dist/src/ee/identity-federation/sso.js.map +1 -0
- package/dist/src/ee/identity-federation/types.d.ts +38 -0
- package/dist/src/ee/identity-federation/types.js +2 -0
- package/dist/src/ee/identity-federation/types.js.map +1 -0
- package/dist/src/ee/ory/ory.d.ts +18 -0
- package/dist/src/ee/ory/ory.js +195 -0
- package/dist/src/ee/ory/ory.js.map +1 -0
- package/dist/src/ee/product/index.d.ts +14 -0
- package/dist/src/ee/product/index.js +45 -0
- package/dist/src/ee/product/index.js.map +1 -0
- package/dist/src/event/axios.d.ts +2 -0
- package/dist/src/event/axios.js +27 -0
- package/dist/src/event/axios.js.map +1 -0
- package/dist/src/event/index.d.ts +11 -0
- package/dist/src/event/index.js +53 -0
- package/dist/src/event/index.js.map +1 -0
- package/dist/src/event/types.d.ts +21 -0
- package/dist/src/event/types.js +2 -0
- package/dist/src/event/types.js.map +1 -0
- package/dist/src/event/utils.d.ts +4 -0
- package/dist/src/event/utils.js +33 -0
- package/dist/src/event/utils.js.map +1 -0
- package/dist/src/event/webhook.d.ts +3 -0
- package/dist/src/event/webhook.js +34 -0
- package/dist/src/event/webhook.js.map +1 -0
- package/dist/src/index.d.ts +35 -0
- package/dist/src/index.js +161 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/loadConnection.d.ts +4 -0
- package/dist/src/loadConnection.js +38 -0
- package/dist/src/loadConnection.js.map +1 -0
- package/dist/src/opentelemetry/metrics.d.ts +14 -0
- package/dist/src/opentelemetry/metrics.js +64 -0
- package/dist/src/opentelemetry/metrics.js.map +1 -0
- package/dist/src/saml/claims.d.ts +12 -0
- package/dist/src/saml/claims.js +57 -0
- package/dist/src/saml/claims.js.map +1 -0
- package/dist/src/saml/lib.d.ts +8 -0
- package/dist/src/saml/lib.js +29 -0
- package/dist/src/saml/lib.js.map +1 -0
- package/dist/src/saml/x509.d.ts +9 -0
- package/dist/src/saml/x509.js +93 -0
- package/dist/src/saml/x509.js.map +1 -0
- package/dist/src/sso-traces/index.d.ts +114 -0
- package/dist/src/sso-traces/index.js +229 -0
- package/dist/src/sso-traces/index.js.map +1 -0
- package/dist/src/sso-traces/types.d.ts +44 -0
- package/dist/src/sso-traces/types.js +2 -0
- package/dist/src/sso-traces/types.js.map +1 -0
- package/dist/src/typings.d.ts +540 -0
- package/dist/src/typings.js +5 -0
- package/dist/src/typings.js.map +1 -0
- package/dist/typeorm.d.ts +3 -0
- package/dist/typeorm.js +58 -0
- package/dist/typeorm.js.map +1 -0
- package/dist/typings.d.ts +1 -1
- package/package.json +13 -13
@@ -0,0 +1,22 @@
|
|
1
|
+
import { DatabaseDriver, DatabaseOption, Encrypted, Index, Records, SortOrder } from '../typings';
|
2
|
+
declare class Mongo implements DatabaseDriver {
|
3
|
+
private options;
|
4
|
+
private client;
|
5
|
+
private collection;
|
6
|
+
private db;
|
7
|
+
constructor(options: DatabaseOption);
|
8
|
+
init(): Promise<Mongo>;
|
9
|
+
indexNamespace(): Promise<void>;
|
10
|
+
get(namespace: string, key: string): Promise<any>;
|
11
|
+
getAll(namespace: string, pageOffset?: number, pageLimit?: number, _?: string, sortOrder?: SortOrder): Promise<Records>;
|
12
|
+
getByIndex(namespace: string, idx: Index, pageOffset?: number, pageLimit?: number, _?: string, sortOrder?: SortOrder): Promise<Records>;
|
13
|
+
getCount(namespace: string, idx?: Index): Promise<number>;
|
14
|
+
put(namespace: string, key: string, val: Encrypted, ttl?: number, ...indexes: any[]): Promise<void>;
|
15
|
+
delete(namespace: string, key: string): Promise<any>;
|
16
|
+
deleteMany(namespace: string, keys: string[]): Promise<void>;
|
17
|
+
close(): Promise<void>;
|
18
|
+
}
|
19
|
+
declare const _default: {
|
20
|
+
new: (options: DatabaseOption) => Promise<Mongo>;
|
21
|
+
};
|
22
|
+
export default _default;
|
@@ -0,0 +1,177 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { MongoClient } from 'mongodb';
|
11
|
+
import * as dbutils from './utils';
|
12
|
+
class Mongo {
|
13
|
+
constructor(options) {
|
14
|
+
this.options = options;
|
15
|
+
}
|
16
|
+
init() {
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
18
|
+
const dbUrl = this.options.url;
|
19
|
+
try {
|
20
|
+
this.client = new MongoClient(dbUrl);
|
21
|
+
yield this.client.connect();
|
22
|
+
}
|
23
|
+
catch (err) {
|
24
|
+
console.error(`error connecting to engine: ${this.options.engine}, db: ${err}`);
|
25
|
+
throw err;
|
26
|
+
}
|
27
|
+
this.db = this.client.db();
|
28
|
+
this.collection = this.db.collection('jacksonStore');
|
29
|
+
yield this.collection.createIndex({ indexes: 1 });
|
30
|
+
yield this.collection.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 1 });
|
31
|
+
yield this.collection.createIndex({ namespace: 1 });
|
32
|
+
while (true) {
|
33
|
+
try {
|
34
|
+
if (!this.options.manualMigration) {
|
35
|
+
yield this.indexNamespace();
|
36
|
+
}
|
37
|
+
break;
|
38
|
+
}
|
39
|
+
catch (err) {
|
40
|
+
console.error(`error in index namespace execution for db engine: ${this.options.engine}, err: ${err}`);
|
41
|
+
yield dbutils.sleep(1000);
|
42
|
+
continue;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
return this;
|
46
|
+
});
|
47
|
+
}
|
48
|
+
indexNamespace() {
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
50
|
+
const docs = yield this.collection.find({ namespace: { $exists: false } }).toArray();
|
51
|
+
const searchTerm = ':';
|
52
|
+
for (const doc of docs || []) {
|
53
|
+
const tokens2 = doc._id.toString().split(searchTerm).slice(0, 2);
|
54
|
+
const namespace = tokens2.join(searchTerm);
|
55
|
+
yield this.collection.updateOne({ _id: doc._id }, { $set: { namespace } });
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
get(namespace, key) {
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
61
|
+
const res = yield this.collection.findOne({
|
62
|
+
_id: dbutils.key(namespace, key),
|
63
|
+
});
|
64
|
+
if (res && res.value) {
|
65
|
+
return res.value;
|
66
|
+
}
|
67
|
+
return null;
|
68
|
+
});
|
69
|
+
}
|
70
|
+
getAll(namespace, pageOffset, pageLimit, _, sortOrder) {
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
72
|
+
const { offset: skip, limit } = dbutils.normalizeOffsetAndLimit({
|
73
|
+
pageOffset,
|
74
|
+
pageLimit,
|
75
|
+
maxLimit: this.options.pageLimit,
|
76
|
+
});
|
77
|
+
const docs = yield this.collection
|
78
|
+
.find({ namespace: namespace }, {
|
79
|
+
sort: { createdAt: sortOrder === 'ASC' ? 1 : -1 },
|
80
|
+
skip,
|
81
|
+
limit,
|
82
|
+
})
|
83
|
+
.toArray();
|
84
|
+
if (docs) {
|
85
|
+
return { data: docs.map(({ value }) => value) };
|
86
|
+
}
|
87
|
+
return { data: [] };
|
88
|
+
});
|
89
|
+
}
|
90
|
+
getByIndex(namespace, idx, pageOffset, pageLimit, _, sortOrder) {
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
92
|
+
const sort = { createdAt: sortOrder === 'ASC' ? 'asc' : 'desc' };
|
93
|
+
const { offset: skip, limit } = dbutils.normalizeOffsetAndLimit({
|
94
|
+
pageOffset,
|
95
|
+
pageLimit,
|
96
|
+
maxLimit: this.options.pageLimit,
|
97
|
+
});
|
98
|
+
const docs = yield this.collection
|
99
|
+
.find({
|
100
|
+
indexes: dbutils.keyForIndex(namespace, idx),
|
101
|
+
}, {
|
102
|
+
sort,
|
103
|
+
skip,
|
104
|
+
limit,
|
105
|
+
})
|
106
|
+
.toArray();
|
107
|
+
const ret = [];
|
108
|
+
for (const doc of docs || []) {
|
109
|
+
ret.push(doc.value);
|
110
|
+
}
|
111
|
+
return { data: ret };
|
112
|
+
});
|
113
|
+
}
|
114
|
+
getCount(namespace, idx) {
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
116
|
+
const count = idx !== undefined
|
117
|
+
? yield this.collection.countDocuments({ indexes: dbutils.keyForIndex(namespace, idx) }, { hint: 'indexes_1' })
|
118
|
+
: yield this.collection.countDocuments({ namespace }, { hint: 'namespace_1' });
|
119
|
+
return count;
|
120
|
+
});
|
121
|
+
}
|
122
|
+
put(namespace_1, key_1, val_1) {
|
123
|
+
return __awaiter(this, arguments, void 0, function* (namespace, key, val, ttl = 0, ...indexes) {
|
124
|
+
const doc = {
|
125
|
+
value: val,
|
126
|
+
};
|
127
|
+
if (ttl) {
|
128
|
+
doc.expiresAt = new Date(Date.now() + ttl * 1000);
|
129
|
+
}
|
130
|
+
doc.namespace = namespace;
|
131
|
+
// no ttl support for secondary indexes
|
132
|
+
for (const idx of indexes || []) {
|
133
|
+
const idxKey = dbutils.keyForIndex(namespace, idx);
|
134
|
+
if (!doc.indexes) {
|
135
|
+
doc.indexes = [];
|
136
|
+
}
|
137
|
+
doc.indexes.push(idxKey);
|
138
|
+
}
|
139
|
+
doc.modifiedAt = new Date().toISOString();
|
140
|
+
yield this.collection.updateOne({ _id: dbutils.key(namespace, key) }, {
|
141
|
+
$set: doc,
|
142
|
+
$setOnInsert: {
|
143
|
+
createdAt: new Date().toISOString(),
|
144
|
+
},
|
145
|
+
}, { upsert: true });
|
146
|
+
});
|
147
|
+
}
|
148
|
+
delete(namespace, key) {
|
149
|
+
return __awaiter(this, void 0, void 0, function* () {
|
150
|
+
return yield this.collection.deleteOne({
|
151
|
+
_id: dbutils.key(namespace, key),
|
152
|
+
});
|
153
|
+
});
|
154
|
+
}
|
155
|
+
deleteMany(namespace, keys) {
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
157
|
+
if (keys.length === 0) {
|
158
|
+
return;
|
159
|
+
}
|
160
|
+
const dbKeys = keys.map((key) => dbutils.key(namespace, key));
|
161
|
+
yield this.collection.deleteMany({
|
162
|
+
_id: { $in: dbKeys },
|
163
|
+
});
|
164
|
+
});
|
165
|
+
}
|
166
|
+
close() {
|
167
|
+
return __awaiter(this, void 0, void 0, function* () {
|
168
|
+
yield this.client.close();
|
169
|
+
});
|
170
|
+
}
|
171
|
+
}
|
172
|
+
export default {
|
173
|
+
new: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
174
|
+
return yield new Mongo(options).init();
|
175
|
+
}),
|
176
|
+
};
|
177
|
+
//# sourceMappingURL=mongo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../../src/db/mongo.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAkB,WAAW,EAAuB,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAUnC,MAAM,KAAK;IAMT,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,IAAI;;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAa,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;gBAChF,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAErD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAEpD,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;wBAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC9B,CAAC;oBACD,MAAM;gBACR,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CACX,qDAAqD,IAAI,CAAC,OAAO,CAAC,MAAM,WAAW,GAAG,EAAE,CACzF,CAAC;oBACF,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,cAAc;;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACrF,MAAM,UAAU,GAAG,GAAG,CAAC;YAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;KAAA;IAEK,GAAG,CAAC,SAAiB,EAAE,GAAW;;YACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACxC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAQ;aACxC,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAC,KAAK,CAAC;YACnB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM,CACV,SAAiB,EACjB,UAAmB,EACnB,SAAkB,EAClB,CAAU,EACV,SAAqB;;YAErB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;gBAC9D,UAAU;gBACV,SAAS;gBACT,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAU;aAClC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC/B,IAAI,CACH,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB;gBACE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACjD,IAAI;gBACJ,KAAK;aACN,CACF;iBACA,OAAO,EAAE,CAAC;YAEb,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACtB,CAAC;KAAA;IAEK,UAAU,CACd,SAAiB,EACjB,GAAU,EACV,UAAmB,EACnB,SAAkB,EAClB,CAAU,EACV,SAAqB;;YAErB,MAAM,IAAI,GAAS,EAAE,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACvE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;gBAC9D,UAAU;gBACV,SAAS;gBACT,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAU;aAClC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC/B,IAAI,CACH;gBACE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC;aAC7C,EACD;gBACE,IAAI;gBACJ,IAAI;gBACJ,KAAK;aACN,CACF;iBACA,OAAO,EAAE,CAAC;YAEb,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvB,CAAC;KAAA;IAEK,QAAQ,CAAC,SAAiB,EAAE,GAAW;;YAC3C,MAAM,KAAK,GACT,GAAG,KAAK,SAAS;gBACf,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAClC,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAChD,EAAE,IAAI,EAAE,WAAW,EAAE,CACtB;gBACH,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEK,GAAG;6DAAC,SAAiB,EAAE,GAAW,EAAE,GAAc,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,OAAc;YAClF,MAAM,GAAG,GAAc;gBACrB,KAAK,EAAE,GAAG;aACX,CAAC;YAEF,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,uCAAuC;YACvC,KAAK,MAAM,GAAG,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAEnD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;gBACnB,CAAC;gBACD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAED,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAC7B,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAQ,EAAE,EAC3C;gBACE,IAAI,EAAE,GAAG;gBACT,YAAY,EAAE;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF,EACD,EAAE,MAAM,EAAE,IAAI,EAAmB,CAClC,CAAC;QACJ,CAAC;KAAA;IAEK,MAAM,CAAC,SAAiB,EAAE,GAAW;;YACzC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAQ;aACxC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,SAAiB,EAAE,IAAc;;YAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAU,CAAC;YAEvE,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC/B,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,KAAK;;YACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;KAAA;CACF;AAED,eAAe;IACb,GAAG,EAAE,CAAO,OAAuB,EAAkB,EAAE;QACrD,OAAO,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC,CAAA;CACF,CAAC"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
+
};
|
7
|
+
import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm';
|
8
|
+
let JacksonIndex = class JacksonIndex {
|
9
|
+
};
|
10
|
+
__decorate([
|
11
|
+
PrimaryGeneratedColumn()
|
12
|
+
], JacksonIndex.prototype, "id", void 0);
|
13
|
+
__decorate([
|
14
|
+
Index('_jackson_index_key'),
|
15
|
+
Column({
|
16
|
+
type: 'varchar',
|
17
|
+
length: 250,
|
18
|
+
})
|
19
|
+
], JacksonIndex.prototype, "key", void 0);
|
20
|
+
__decorate([
|
21
|
+
Index('_jackson_index_store'),
|
22
|
+
Column({
|
23
|
+
type: 'varchar',
|
24
|
+
length: 250,
|
25
|
+
})
|
26
|
+
], JacksonIndex.prototype, "storeKey", void 0);
|
27
|
+
JacksonIndex = __decorate([
|
28
|
+
Index('_jackson_index_key_store', ['key', 'storeKey']),
|
29
|
+
Entity({ name: 'jackson_index' })
|
30
|
+
], JacksonIndex);
|
31
|
+
export { JacksonIndex };
|
32
|
+
//# sourceMappingURL=JacksonIndex.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"JacksonIndex.js","sourceRoot":"","sources":["../../../../../src/db/planetscale/entity/JacksonIndex.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIjE,IAAM,YAAY,GAAlB,MAAM,YAAY;CAiBxB,CAAA;AAfC;IADC,sBAAsB,EAAE;wCACb;AAOZ;IALC,KAAK,CAAC,oBAAoB,CAAC;IAC3B,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;yCACW;AAOb;IALC,KAAK,CAAC,sBAAsB,CAAC;IAC7B,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;8CACgB;AAhBP,YAAY;IAFxB,KAAK,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;GACrB,YAAY,CAiBxB"}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
+
};
|
7
|
+
import { Entity, Column, Index } from 'typeorm';
|
8
|
+
let JacksonStore = class JacksonStore {
|
9
|
+
};
|
10
|
+
__decorate([
|
11
|
+
Column({
|
12
|
+
primary: true,
|
13
|
+
type: 'varchar',
|
14
|
+
length: 250,
|
15
|
+
})
|
16
|
+
], JacksonStore.prototype, "key", void 0);
|
17
|
+
__decorate([
|
18
|
+
Column({
|
19
|
+
type: 'text',
|
20
|
+
})
|
21
|
+
], JacksonStore.prototype, "value", void 0);
|
22
|
+
__decorate([
|
23
|
+
Column({
|
24
|
+
type: 'varchar',
|
25
|
+
length: 64,
|
26
|
+
nullable: true,
|
27
|
+
})
|
28
|
+
], JacksonStore.prototype, "iv", void 0);
|
29
|
+
__decorate([
|
30
|
+
Column({
|
31
|
+
type: 'varchar',
|
32
|
+
length: 64,
|
33
|
+
nullable: true,
|
34
|
+
})
|
35
|
+
], JacksonStore.prototype, "tag", void 0);
|
36
|
+
__decorate([
|
37
|
+
Column({
|
38
|
+
type: 'timestamp',
|
39
|
+
precision: 6,
|
40
|
+
default: () => 'CURRENT_TIMESTAMP(6)',
|
41
|
+
nullable: false,
|
42
|
+
})
|
43
|
+
], JacksonStore.prototype, "createdAt", void 0);
|
44
|
+
__decorate([
|
45
|
+
Column({
|
46
|
+
type: 'timestamp',
|
47
|
+
precision: 6,
|
48
|
+
nullable: true,
|
49
|
+
})
|
50
|
+
], JacksonStore.prototype, "modifiedAt", void 0);
|
51
|
+
__decorate([
|
52
|
+
Index('_jackson_store_namespace'),
|
53
|
+
Column({
|
54
|
+
type: 'varchar',
|
55
|
+
length: 256,
|
56
|
+
nullable: true,
|
57
|
+
})
|
58
|
+
], JacksonStore.prototype, "namespace", void 0);
|
59
|
+
JacksonStore = __decorate([
|
60
|
+
Entity({ name: 'jackson_store' })
|
61
|
+
], JacksonStore);
|
62
|
+
export { JacksonStore };
|
63
|
+
//# sourceMappingURL=JacksonStore.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"JacksonStore.js","sourceRoot":"","sources":["../../../../../src/db/planetscale/entity/JacksonStore.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGzC,IAAM,YAAY,GAAlB,MAAM,YAAY;CAiDxB,CAAA;AA3CC;IALC,MAAM,CAAC;QACN,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;yCACW;AAKb;IAHC,MAAM,CAAC;QACN,IAAI,EAAE,MAAM;KACb,CAAC;2CACa;AAOf;IALC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;wCACU;AAOZ;IALC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;yCACW;AAQb;IANC,MAAM,CAAC;QACN,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB;QACrC,QAAQ,EAAE,KAAK;KAChB,CAAC;+CACe;AAOjB;IALC,MAAM,CAAC;QACN,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;gDACkB;AAQpB;IANC,KAAK,CAAC,0BAA0B,CAAC;IACjC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,IAAI;KACf,CAAC;+CACiB;AAhDR,YAAY;IADxB,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;GACrB,YAAY,CAiDxB"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
+
};
|
7
|
+
import { Entity, Column, Index } from 'typeorm';
|
8
|
+
let JacksonTTL = class JacksonTTL {
|
9
|
+
};
|
10
|
+
__decorate([
|
11
|
+
Column({
|
12
|
+
primary: true,
|
13
|
+
type: 'varchar',
|
14
|
+
length: 250,
|
15
|
+
})
|
16
|
+
], JacksonTTL.prototype, "key", void 0);
|
17
|
+
__decorate([
|
18
|
+
Index('_jackson_ttl_expires_at'),
|
19
|
+
Column({
|
20
|
+
type: 'bigint',
|
21
|
+
})
|
22
|
+
], JacksonTTL.prototype, "expiresAt", void 0);
|
23
|
+
JacksonTTL = __decorate([
|
24
|
+
Entity({ name: 'jackson_ttl' })
|
25
|
+
], JacksonTTL);
|
26
|
+
export { JacksonTTL };
|
27
|
+
//# sourceMappingURL=JacksonTTL.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"JacksonTTL.js","sourceRoot":"","sources":["../../../../../src/db/planetscale/entity/JacksonTTL.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGzC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAatB,CAAA;AAPC;IALC,MAAM,CAAC;QACN,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;uCACW;AAMb;IAJC,KAAK,CAAC,yBAAyB,CAAC;IAChC,MAAM,CAAC;QACN,IAAI,EAAE,QAAQ;KACf,CAAC;6CACiB;AAZR,UAAU;IADtB,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;GACnB,UAAU,CAatB"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { DatabaseDriver, DatabaseOption, Encrypted, Index, Records, SortOrder } from '../typings';
|
2
|
+
declare class Redis implements DatabaseDriver {
|
3
|
+
private options;
|
4
|
+
private client;
|
5
|
+
constructor(options: DatabaseOption);
|
6
|
+
init(): Promise<Redis>;
|
7
|
+
get(namespace: string, key: string): Promise<any>;
|
8
|
+
getAll(namespace: string, pageOffset?: number, pageLimit?: number, _?: string, sortOrder?: SortOrder): Promise<Records>;
|
9
|
+
getByIndex(namespace: string, idx: Index, pageOffset?: number, pageLimit?: number, _?: string): Promise<Records>;
|
10
|
+
put(namespace: string, key: string, val: Encrypted, ttl?: number, ...indexes: any[]): Promise<void>;
|
11
|
+
delete(namespace: string, key: string): Promise<any>;
|
12
|
+
deleteMany(namespace: string, keys: string[]): Promise<void>;
|
13
|
+
close(): Promise<void>;
|
14
|
+
}
|
15
|
+
declare const _default: {
|
16
|
+
new: (options: DatabaseOption) => Promise<Redis>;
|
17
|
+
};
|
18
|
+
export default _default;
|
@@ -0,0 +1,214 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
11
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
12
|
+
var m = o[Symbol.asyncIterator], i;
|
13
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
14
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
15
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
16
|
+
};
|
17
|
+
import * as redis from 'redis';
|
18
|
+
import * as dbutils from './utils';
|
19
|
+
class Redis {
|
20
|
+
constructor(options) {
|
21
|
+
this.options = options;
|
22
|
+
}
|
23
|
+
init() {
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
25
|
+
const opts = {};
|
26
|
+
if (this.options && this.options.url) {
|
27
|
+
opts['url'] = this.options.url;
|
28
|
+
}
|
29
|
+
this.client = redis.createClient(opts);
|
30
|
+
this.client.on('error', (err) => console.info('Redis Client Error', err));
|
31
|
+
yield this.client.connect();
|
32
|
+
return this;
|
33
|
+
});
|
34
|
+
}
|
35
|
+
get(namespace, key) {
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
37
|
+
const res = yield this.client.get(dbutils.key(namespace, key));
|
38
|
+
if (res) {
|
39
|
+
return JSON.parse(res);
|
40
|
+
}
|
41
|
+
return null;
|
42
|
+
});
|
43
|
+
}
|
44
|
+
getAll(namespace, pageOffset, pageLimit, _, sortOrder) {
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
46
|
+
const sortedSetKey = dbutils.keyFromParts(dbutils.createdAtPrefix, namespace);
|
47
|
+
const { offset, limit: count } = dbutils.normalizeOffsetAndLimit({
|
48
|
+
pageOffset,
|
49
|
+
pageLimit,
|
50
|
+
maxLimit: this.options.pageLimit,
|
51
|
+
});
|
52
|
+
const zRangeOptions = {
|
53
|
+
BY: 'SCORE',
|
54
|
+
REV: sortOrder === 'ASC',
|
55
|
+
LIMIT: {
|
56
|
+
offset,
|
57
|
+
count,
|
58
|
+
},
|
59
|
+
};
|
60
|
+
const elements = sortOrder === 'ASC'
|
61
|
+
? yield this.client.zRange(sortedSetKey, +Infinity, -Infinity, zRangeOptions)
|
62
|
+
: yield this.client.zRange(sortedSetKey, -Infinity, +Infinity, zRangeOptions);
|
63
|
+
if (elements.length === 0) {
|
64
|
+
return { data: [] };
|
65
|
+
}
|
66
|
+
const keyArray = elements.map((element) => {
|
67
|
+
return dbutils.keyFromParts(namespace, element);
|
68
|
+
});
|
69
|
+
const records = [];
|
70
|
+
const values = yield this.client.MGET(keyArray);
|
71
|
+
for (let i = 0; i < values.length; i++) {
|
72
|
+
if (!values[i]) {
|
73
|
+
// delete zadd
|
74
|
+
this.client.ZREM(dbutils.keyFromParts(dbutils.createdAtPrefix, namespace), elements[i]);
|
75
|
+
continue;
|
76
|
+
}
|
77
|
+
const valueObject = JSON.parse(values[i].toString());
|
78
|
+
if (valueObject !== null && valueObject !== '') {
|
79
|
+
records.push(valueObject);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
return { data: records };
|
83
|
+
});
|
84
|
+
}
|
85
|
+
getByIndex(namespace, idx, pageOffset, pageLimit,
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
87
|
+
_) {
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
89
|
+
var _a, e_1, _b, _c;
|
90
|
+
const { offset: skip, limit } = dbutils.normalizeOffsetAndLimit({
|
91
|
+
pageOffset,
|
92
|
+
pageLimit,
|
93
|
+
maxLimit: this.options.pageLimit,
|
94
|
+
});
|
95
|
+
let take = limit;
|
96
|
+
let count = 0;
|
97
|
+
take += skip;
|
98
|
+
const returnValue = [];
|
99
|
+
const keyArray = [];
|
100
|
+
const idxKey = dbutils.keyForIndex(namespace, idx);
|
101
|
+
const dbKeys = yield this.client.sMembers(dbutils.keyFromParts(dbutils.indexPrefix, idxKey));
|
102
|
+
try {
|
103
|
+
for (var _d = true, _e = __asyncValues(this.client.zScanIterator(dbutils.keyFromParts(dbutils.createdAtPrefix, namespace), count + 1)), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
|
104
|
+
_c = _f.value;
|
105
|
+
_d = false;
|
106
|
+
const { value } = _c;
|
107
|
+
if (dbKeys.indexOf(value) !== -1) {
|
108
|
+
if (count >= take) {
|
109
|
+
break;
|
110
|
+
}
|
111
|
+
if (count >= skip) {
|
112
|
+
keyArray.push(dbutils.keyFromParts(namespace, value));
|
113
|
+
}
|
114
|
+
count++;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
119
|
+
finally {
|
120
|
+
try {
|
121
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
122
|
+
}
|
123
|
+
finally { if (e_1) throw e_1.error; }
|
124
|
+
}
|
125
|
+
if (keyArray.length > 0) {
|
126
|
+
const values = yield this.client.MGET(keyArray);
|
127
|
+
for (let i = 0; i < values.length; i++) {
|
128
|
+
if (!values[i]) {
|
129
|
+
continue;
|
130
|
+
}
|
131
|
+
const valueObject = JSON.parse(values[i].toString());
|
132
|
+
if (valueObject !== null && valueObject !== '') {
|
133
|
+
returnValue.push(valueObject);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
return { data: returnValue || [] };
|
138
|
+
});
|
139
|
+
}
|
140
|
+
put(namespace_1, key_1, val_1) {
|
141
|
+
return __awaiter(this, arguments, void 0, function* (namespace, key, val, ttl = 0, ...indexes) {
|
142
|
+
let tx = this.client.multi();
|
143
|
+
const k = dbutils.key(namespace, key);
|
144
|
+
tx = tx.set(k, JSON.stringify(val));
|
145
|
+
if (ttl) {
|
146
|
+
tx = tx.expire(k, ttl);
|
147
|
+
}
|
148
|
+
// no ttl support for secondary indexes
|
149
|
+
for (const idx of indexes || []) {
|
150
|
+
const idxKey = dbutils.keyForIndex(namespace, idx);
|
151
|
+
tx = tx.sAdd(dbutils.keyFromParts(dbutils.indexPrefix, idxKey), key);
|
152
|
+
tx = tx.sAdd(dbutils.keyFromParts(dbutils.indexPrefix, k), idxKey);
|
153
|
+
}
|
154
|
+
const timestamp = Number(Date.now());
|
155
|
+
// Converting Timestamp in negative so that when we get the value,
|
156
|
+
// it will be found in reverse order (descending order).
|
157
|
+
const negativeTimestamp = -Math.abs(timestamp);
|
158
|
+
const value = yield this.client.get(k);
|
159
|
+
if (!value) {
|
160
|
+
tx = tx.zAdd(dbutils.keyFromParts(dbutils.createdAtPrefix, namespace), [
|
161
|
+
{ score: negativeTimestamp, value: key },
|
162
|
+
]);
|
163
|
+
}
|
164
|
+
yield tx.exec();
|
165
|
+
});
|
166
|
+
}
|
167
|
+
delete(namespace, key) {
|
168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
169
|
+
let tx = this.client.multi();
|
170
|
+
const k = dbutils.key(namespace, key);
|
171
|
+
tx = tx.del(k);
|
172
|
+
const idxKey = dbutils.keyFromParts(dbutils.indexPrefix, k);
|
173
|
+
// delete secondary indexes and then the mapping of the seconary indexes
|
174
|
+
const dbKeys = yield this.client.sMembers(idxKey);
|
175
|
+
for (const dbKey of dbKeys || []) {
|
176
|
+
tx.sRem(dbutils.keyFromParts(dbutils.indexPrefix, dbKey), key);
|
177
|
+
}
|
178
|
+
tx.ZREM(dbutils.keyFromParts(dbutils.createdAtPrefix, namespace), key);
|
179
|
+
tx.del(idxKey);
|
180
|
+
return yield tx.exec();
|
181
|
+
});
|
182
|
+
}
|
183
|
+
deleteMany(namespace, keys) {
|
184
|
+
return __awaiter(this, void 0, void 0, function* () {
|
185
|
+
if (keys.length === 0) {
|
186
|
+
return;
|
187
|
+
}
|
188
|
+
let tx = this.client.multi();
|
189
|
+
for (const key of keys) {
|
190
|
+
const k = dbutils.key(namespace, key);
|
191
|
+
tx = tx.del(k);
|
192
|
+
const idxKey = dbutils.keyFromParts(dbutils.indexPrefix, k);
|
193
|
+
const dbKeys = yield this.client.sMembers(idxKey);
|
194
|
+
for (const dbKey of dbKeys || []) {
|
195
|
+
tx.sRem(dbutils.keyFromParts(dbutils.indexPrefix, dbKey), key);
|
196
|
+
}
|
197
|
+
tx.ZREM(dbutils.keyFromParts(dbutils.createdAtPrefix, namespace), key);
|
198
|
+
tx.del(idxKey);
|
199
|
+
}
|
200
|
+
yield tx.exec();
|
201
|
+
});
|
202
|
+
}
|
203
|
+
close() {
|
204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
205
|
+
yield this.client.quit();
|
206
|
+
});
|
207
|
+
}
|
208
|
+
}
|
209
|
+
export default {
|
210
|
+
new: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
211
|
+
return yield new Redis(options).init();
|
212
|
+
}),
|
213
|
+
};
|
214
|
+
//# sourceMappingURL=redis.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/db/redis.ts"],"names":[],"mappings":"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"}
|