@ecologi-action-ltd/certificates-queue 1.0.5

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/lib/index.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { SQS } from "aws-sdk";
2
+ export interface CertificateData {
3
+ userId: string;
4
+ name: string;
5
+ totalTons: number;
6
+ projects: {
7
+ name: string;
8
+ tons: number;
9
+ }[];
10
+ startDate: Date;
11
+ endDate?: Date;
12
+ issuedAt: Date;
13
+ id: string;
14
+ invoiceId?: string;
15
+ certificateKey?: string;
16
+ }
17
+ export declare function generateCertificate(certificate: CertificateData): Promise<import("aws-sdk/lib/request").PromiseResult<SQS.SendMessageResult, import("aws-sdk").AWSError>>;
package/lib/index.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateCertificate = void 0;
4
+ const aws_sdk_1 = require("aws-sdk");
5
+ // cache the queue URL to avoid querying the env every time
6
+ let QueueUrl;
7
+ let accessKeyId;
8
+ let secretAccessKey;
9
+ function generateCertificate(certificate) {
10
+ if (!accessKeyId) {
11
+ if (!process.env.SQS_AWS_ACCESS_KEY_ID) {
12
+ throw new Error("process.env.SQS_AWS_ACCESS_KEY_ID is missing");
13
+ }
14
+ else {
15
+ accessKeyId = process.env.SQS_AWS_ACCESS_KEY_ID;
16
+ }
17
+ }
18
+ if (!secretAccessKey) {
19
+ if (!process.env.SQS_AWS_SECRET_ACCESS_KEY) {
20
+ throw new Error("process.env.SQS_AWS_SECRET_ACCESS_KEY is missing");
21
+ }
22
+ else {
23
+ secretAccessKey = process.env.SQS_AWS_SECRET_ACCESS_KEY;
24
+ }
25
+ }
26
+ const sqs = new aws_sdk_1.SQS({
27
+ credentials: {
28
+ accessKeyId,
29
+ secretAccessKey,
30
+ },
31
+ });
32
+ if (!QueueUrl) {
33
+ if (!process.env.CERTIFICATES_QUEUE) {
34
+ throw new Error("process.env.CERTIFICATES_QUEUE is missing");
35
+ }
36
+ else {
37
+ QueueUrl = process.env.CERTIFICATES_QUEUE;
38
+ }
39
+ }
40
+ return sqs
41
+ .sendMessage({
42
+ MessageBody: JSON.stringify(certificate),
43
+ QueueUrl,
44
+ })
45
+ .promise();
46
+ }
47
+ exports.generateCertificate = generateCertificate;
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAA8B;AAe9B,2DAA2D;AAC3D,IAAI,QAA4B,CAAC;AACjC,IAAI,WAA+B,CAAC;AACpC,IAAI,eAAmC,CAAC;AAExC,SAAgB,mBAAmB,CAAC,WAA4B;IAC9D,IAAI,CAAC,WAAW,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;aAAM;YACL,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;SACjD;KACF;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;aAAM;YACL,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;SACzD;KACF;IAED,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC;QAClB,WAAW,EAAE;YACX,WAAW;YACX,eAAe;SAChB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;aAAM;YACL,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;SAC3C;KACF;IAED,OAAO,GAAG;SACP,WAAW,CAAC;QACX,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACxC,QAAQ;KACT,CAAC;SACD,OAAO,EAAE,CAAC;AACf,CAAC;AAtCD,kDAsCC"}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@ecologi-action-ltd/certificates-queue",
3
+ "version": "1.0.5",
4
+ "license": "UNLICENSED",
5
+ "description": "Certificates queue service for Ecologi",
6
+ "main": "lib/index.js",
7
+ "scripts": {
8
+ "build": "rm -rf lib && tsc",
9
+ "prepublishOnly": "yarn build",
10
+ "test": "echo \"No test specified\""
11
+ },
12
+ "files": [
13
+ "lib/index.js",
14
+ "lib/index.d.ts",
15
+ "lib/index.js.map"
16
+ ],
17
+ "dependencies": {
18
+ "@offset-earth/certificates": "0.4.5",
19
+ "aws-sdk": "^2.684.0",
20
+ "bson": "^4.6.1",
21
+ "mongodb": "3.5.9",
22
+ "pdfkit": "0.11.0"
23
+ },
24
+ "devDependencies": {
25
+ "@types/aws-lambda": "^8.10.51",
26
+ "@types/bson": "^4.2.0",
27
+ "@types/mongodb": "3.5.22",
28
+ "@types/node": "^12.0.0",
29
+ "@types/source-map-support": "^0.5.1",
30
+ "aws-lambda": "^1.0.6",
31
+ "ts-loader": "^5.3.3",
32
+ "typescript": "^3.2.4"
33
+ }
34
+ }