@punks/backend-entity-manager 0.0.203 → 0.0.205
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/cjs/index.js +19 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/secrets.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/plugins/secrets/aws-secrets-manager/provider/secrets.d.ts +2 -0
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/secrets.d.ts +2 -0
- package/dist/esm/types/platforms/nest/plugins/secrets/aws-secrets-manager/provider/secrets.d.ts +2 -0
- package/dist/index.d.ts +4 -0
- package/package.json +1 -1
|
@@ -27,4 +27,6 @@ export interface ISecretsProvider {
|
|
|
27
27
|
setSecret<TValue>(pageName: string, secret: AppSecret<TValue>): Promise<void>;
|
|
28
28
|
defineSecret(pageName: string, definition: AppSecretDefinition): Promise<void>;
|
|
29
29
|
pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
|
|
30
|
+
pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
|
|
31
|
+
pageExists(pageName: string): Promise<boolean>;
|
|
30
32
|
}
|
package/dist/cjs/types/platforms/nest/plugins/secrets/aws-secrets-manager/provider/secrets.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export declare class AwsSecretsProvider implements ISecretsProvider {
|
|
|
6
6
|
getSecrets(pageName: string): Promise<AppSecret<any>[]>;
|
|
7
7
|
setSecret<TValue>(pageName: string, secret: AppSecretInput<TValue>): Promise<void>;
|
|
8
8
|
defineSecret(pageName: string, definition: AppSecretDefinition): Promise<void>;
|
|
9
|
+
pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
|
|
10
|
+
pageExists(pageName: string): Promise<boolean>;
|
|
9
11
|
pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
|
|
10
12
|
private saveSecretsPage;
|
|
11
13
|
private getSecretsPage;
|
package/dist/esm/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
|
|
|
14
14
|
import { SendEmailCommand, SESClient } from '@aws-sdk/client-ses';
|
|
15
15
|
import require$$2 from 'fs';
|
|
16
16
|
import { MailService } from '@sendgrid/mail';
|
|
17
|
-
import {
|
|
17
|
+
import { GetSecretValueCommand, CreateSecretCommand, SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
|
|
18
18
|
|
|
19
19
|
var BucketItemType;
|
|
20
20
|
(function (BucketItemType) {
|
|
@@ -28779,16 +28779,34 @@ let AwsSecretsProvider = class AwsSecretsProvider {
|
|
|
28779
28779
|
}
|
|
28780
28780
|
async defineSecret(pageName, definition) {
|
|
28781
28781
|
const secretsPage = await this.getSecretsPage(pageName);
|
|
28782
|
+
const currentSecret = secretsPage[definition.key];
|
|
28782
28783
|
await this.saveSecretsPage(pageName, {
|
|
28783
28784
|
...secretsPage,
|
|
28784
28785
|
[definition.key]: {
|
|
28785
28786
|
type: definition.type,
|
|
28786
28787
|
hidden: definition.hidden,
|
|
28787
|
-
value: definition.defaultValue ?? null,
|
|
28788
|
+
value: currentSecret?.value ?? definition.defaultValue ?? null,
|
|
28788
28789
|
timestamp: Date.now(),
|
|
28789
28790
|
},
|
|
28790
28791
|
});
|
|
28791
28792
|
}
|
|
28793
|
+
async pageEnsure(pageName, metadata) {
|
|
28794
|
+
if (!(await this.pageExists(pageName))) {
|
|
28795
|
+
await this.pageInitialize(pageName, metadata);
|
|
28796
|
+
}
|
|
28797
|
+
}
|
|
28798
|
+
async pageExists(pageName) {
|
|
28799
|
+
try {
|
|
28800
|
+
const secrets = await this.client.send(new GetSecretValueCommand({
|
|
28801
|
+
SecretId: this.buildPagePath(pageName),
|
|
28802
|
+
}));
|
|
28803
|
+
return !!secrets?.ARN;
|
|
28804
|
+
}
|
|
28805
|
+
catch (e) {
|
|
28806
|
+
console.error("secrets manager", e);
|
|
28807
|
+
return false;
|
|
28808
|
+
}
|
|
28809
|
+
}
|
|
28792
28810
|
async pageInitialize(pageName, metadata) {
|
|
28793
28811
|
await this.client.send(new CreateSecretCommand({
|
|
28794
28812
|
Name: this.buildPagePath(pageName),
|