@activepieces/piece-cryptolens 0.0.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/README.md +7 -0
- package/package.json +26 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +38 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/add-customer.d.ts +9 -0
- package/src/lib/actions/add-customer.js +75 -0
- package/src/lib/actions/add-customer.js.map +1 -0
- package/src/lib/actions/block-key.d.ts +4 -0
- package/src/lib/actions/block-key.js +37 -0
- package/src/lib/actions/block-key.js.map +1 -0
- package/src/lib/actions/create-key.d.ts +20 -0
- package/src/lib/actions/create-key.js +164 -0
- package/src/lib/actions/create-key.js.map +1 -0
- package/src/lib/actions/extend-license.d.ts +5 -0
- package/src/lib/actions/extend-license.js +45 -0
- package/src/lib/actions/extend-license.js.map +1 -0
- package/src/lib/common/auth.d.ts +1 -0
- package/src/lib/common/auth.js +37 -0
- package/src/lib/common/auth.js.map +1 -0
- package/src/lib/common/client.d.ts +3 -0
- package/src/lib/common/client.js +27 -0
- package/src/lib/common/client.js.map +1 -0
- package/src/lib/triggers/new-api-event.d.ts +17 -0
- package/src/lib/triggers/new-api-event.js +111 -0
- package/src/lib/triggers/new-api-event.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@activepieces/piece-cryptolens",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "commonjs",
|
|
5
|
+
"main": "./src/index.js",
|
|
6
|
+
"types": "./src/index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@sinclair/typebox": "0.34.11",
|
|
9
|
+
"axios": "1.13.1",
|
|
10
|
+
"axios-retry": "4.4.1",
|
|
11
|
+
"deepmerge-ts": "7.1.0",
|
|
12
|
+
"form-data": "4.0.4",
|
|
13
|
+
"mime-types": "2.1.35",
|
|
14
|
+
"nanoid": "3.3.8",
|
|
15
|
+
"semver": "7.6.0",
|
|
16
|
+
"socket.io-client": "4.8.1",
|
|
17
|
+
"tslib": "^2.3.0",
|
|
18
|
+
"zod": "4.1.13",
|
|
19
|
+
"@activepieces/pieces-common": "0.11.1",
|
|
20
|
+
"@activepieces/pieces-framework": "0.23.0",
|
|
21
|
+
"@activepieces/shared": "0.30.4"
|
|
22
|
+
},
|
|
23
|
+
"resolutions": {
|
|
24
|
+
"rollup": "npm:@rollup/wasm-node"
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cryptolens: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
package/src/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cryptolens = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const auth_1 = require("./lib/common/auth");
|
|
7
|
+
const add_customer_1 = require("./lib/actions/add-customer");
|
|
8
|
+
const block_key_1 = require("./lib/actions/block-key");
|
|
9
|
+
const create_key_1 = require("./lib/actions/create-key");
|
|
10
|
+
const new_api_event_1 = require("./lib/triggers/new-api-event");
|
|
11
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
12
|
+
const shared_1 = require("@activepieces/shared");
|
|
13
|
+
exports.cryptolens = (0, pieces_framework_1.createPiece)({
|
|
14
|
+
displayName: 'Cryptolens',
|
|
15
|
+
auth: auth_1.cryptolensAuth,
|
|
16
|
+
minimumSupportedRelease: '0.36.1',
|
|
17
|
+
logoUrl: 'https://cdn.activepieces.com/pieces/cryptolens.png',
|
|
18
|
+
authors: ['sanket-a11y'],
|
|
19
|
+
categories: [shared_1.PieceCategory.DEVELOPER_TOOLS],
|
|
20
|
+
description: 'Cryptolens is a Software Licensing as a Service (SLaaS) platform that provides developers with tools to manage software licenses, protect against piracy, and analyze usage data.',
|
|
21
|
+
actions: [
|
|
22
|
+
add_customer_1.addCustomer,
|
|
23
|
+
block_key_1.blockKey,
|
|
24
|
+
create_key_1.createKey,
|
|
25
|
+
(0, pieces_common_1.createCustomApiCallAction)({
|
|
26
|
+
auth: auth_1.cryptolensAuth,
|
|
27
|
+
baseUrl: () => 'https://api.cryptolens.io/api',
|
|
28
|
+
authLocation: 'queryParams',
|
|
29
|
+
authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
return {
|
|
31
|
+
token: `${auth.secret_text}`,
|
|
32
|
+
};
|
|
33
|
+
}),
|
|
34
|
+
}),
|
|
35
|
+
],
|
|
36
|
+
triggers: [new_api_event_1.newApiEvent],
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/cryptolens/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAA6D;AAC7D,4CAAmD;AACnD,6DAAyD;AACzD,uDAAmD;AACnD,yDAAqD;AACrD,gEAA2D;AAC3D,+DAAwE;AACxE,iDAAqD;AAExC,QAAA,UAAU,GAAG,IAAA,8BAAW,EAAC;IACpC,WAAW,EAAE,YAAY;IACzB,IAAI,EAAE,qBAAc;IACpB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,oDAAoD;IAC7D,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,UAAU,EAAE,CAAC,sBAAa,CAAC,eAAe,CAAC;IAC3C,WAAW,EACT,mLAAmL;IACrL,OAAO,EAAE;QACP,0BAAW;QACX,oBAAQ;QACR,sBAAS;QACT,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,qBAAc;YACpB,OAAO,EAAE,GAAG,EAAE,CAAC,+BAA+B;YAC9C,YAAY,EAAE,aAAa;YAC3B,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,OAAO;oBACL,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;iBAC7B,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,CAAC,2BAAW,CAAC;CACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const addCustomer: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
email: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
4
|
+
companyName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
5
|
+
notes: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
6
|
+
enableCustomerAssociation: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
7
|
+
allowActivationManagement: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
8
|
+
allowMultipleUserAssociation: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addCustomer = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.addCustomer = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.cryptolensAuth,
|
|
11
|
+
name: 'addCustomer',
|
|
12
|
+
displayName: 'Add Customer',
|
|
13
|
+
description: 'Add a new customer to your Cryptolens account',
|
|
14
|
+
props: {
|
|
15
|
+
name: pieces_framework_1.Property.ShortText({
|
|
16
|
+
displayName: 'Name',
|
|
17
|
+
description: 'The name of the customer (max 100 characters)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
email: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'Email',
|
|
22
|
+
description: 'The email of the customer (max 100 characters)',
|
|
23
|
+
required: true,
|
|
24
|
+
}),
|
|
25
|
+
companyName: pieces_framework_1.Property.ShortText({
|
|
26
|
+
displayName: 'Company Name',
|
|
27
|
+
description: 'The company name the customer belongs to (max 100 characters)',
|
|
28
|
+
required: true,
|
|
29
|
+
}),
|
|
30
|
+
notes: pieces_framework_1.Property.LongText({
|
|
31
|
+
displayName: 'Notes',
|
|
32
|
+
description: 'Optional notes field (max 1000 characters)',
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
enableCustomerAssociation: pieces_framework_1.Property.Checkbox({
|
|
36
|
+
displayName: 'Enable Customer Portal',
|
|
37
|
+
description: 'If enabled, a portal link will be returned where the customer can view their licenses',
|
|
38
|
+
required: false,
|
|
39
|
+
}),
|
|
40
|
+
allowActivationManagement: pieces_framework_1.Property.Checkbox({
|
|
41
|
+
displayName: 'Allow Activation Management',
|
|
42
|
+
description: 'If enabled, the customer can activate and deactivate devices through the customer portal',
|
|
43
|
+
required: false,
|
|
44
|
+
}),
|
|
45
|
+
allowMultipleUserAssociation: pieces_framework_1.Property.Checkbox({
|
|
46
|
+
displayName: 'Allow Multiple User Association',
|
|
47
|
+
description: 'If enabled, multiple user accounts can be associated with this customer',
|
|
48
|
+
required: false,
|
|
49
|
+
}),
|
|
50
|
+
},
|
|
51
|
+
run(context) {
|
|
52
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const params = new URLSearchParams({
|
|
54
|
+
Name: context.propsValue.name,
|
|
55
|
+
Email: context.propsValue.email,
|
|
56
|
+
CompanyName: context.propsValue.companyName,
|
|
57
|
+
});
|
|
58
|
+
if (context.propsValue.notes) {
|
|
59
|
+
params.append('Notes', context.propsValue.notes);
|
|
60
|
+
}
|
|
61
|
+
if (context.propsValue.enableCustomerAssociation) {
|
|
62
|
+
params.append('EnableCustomerAssociation', 'true');
|
|
63
|
+
}
|
|
64
|
+
if (context.propsValue.allowActivationManagement) {
|
|
65
|
+
params.append('AllowActivationManagement', 'true');
|
|
66
|
+
}
|
|
67
|
+
if (context.propsValue.allowMultipleUserAssociation) {
|
|
68
|
+
params.append('AllowMultipleUserAssociation', 'true');
|
|
69
|
+
}
|
|
70
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, `/customer/AddCustomer?${params.toString()}`);
|
|
71
|
+
return response;
|
|
72
|
+
});
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=add-customer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-customer.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/actions/add-customer.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,6CAA+C;AAC/C,yCAAgD;AAChD,+DAAyD;AAE5C,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,+CAA+C;IAC5D,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,+DAA+D;YAC5E,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACvB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,yBAAyB,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC3C,WAAW,EAAE,wBAAwB;YACrC,WAAW,EAAE,uFAAuF;YACpG,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,yBAAyB,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC3C,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,0FAA0F;YACvG,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,4BAA4B,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC9C,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,yEAAyE;YACtF,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI;gBAC7B,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;gBAC/B,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;aAC5C,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;gBACpD,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,0BAAU,CAAC,IAAI,EACf,yBAAyB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC7C,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const blockKey: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
productId: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
3
|
+
key: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
4
|
+
}>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.blockKey = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.blockKey = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.cryptolensAuth,
|
|
11
|
+
name: 'blockKey',
|
|
12
|
+
displayName: 'Block Key',
|
|
13
|
+
description: 'Block a license key to prevent it from being accessible by most Web API methods',
|
|
14
|
+
props: {
|
|
15
|
+
productId: pieces_framework_1.Property.Number({
|
|
16
|
+
displayName: 'Product ID',
|
|
17
|
+
description: 'The product ID',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
key: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'License Key',
|
|
22
|
+
description: 'The serial key string to block',
|
|
23
|
+
required: true,
|
|
24
|
+
}),
|
|
25
|
+
},
|
|
26
|
+
run(context) {
|
|
27
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const params = new URLSearchParams({
|
|
29
|
+
ProductId: String(context.propsValue.productId),
|
|
30
|
+
Key: context.propsValue.key,
|
|
31
|
+
});
|
|
32
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, `/key/BlockKey?${params.toString()}`);
|
|
33
|
+
return response;
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=block-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-key.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/actions/block-key.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,6CAA+C;AAC/C,yCAAgD;AAChD,+DAAyD;AAE5C,QAAA,QAAQ,GAAG,IAAA,+BAAY,EAAC;IACnC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,iFAAiF;IAC9F,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,GAAG,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACtB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/C,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,0BAAU,CAAC,IAAI,EACf,iBAAiB,MAAM,CAAC,QAAQ,EAAE,EAAE,CACrC,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const createKey: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
productId: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
3
|
+
period: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
4
|
+
f1: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
5
|
+
f2: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
6
|
+
f3: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
7
|
+
f4: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
8
|
+
f5: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
9
|
+
f6: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
10
|
+
f7: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
11
|
+
f8: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
12
|
+
notes: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
13
|
+
block: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
14
|
+
customerId: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
15
|
+
trialActivation: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
16
|
+
maxNoOfMachines: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
17
|
+
allowedMachines: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
18
|
+
resellerId: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
19
|
+
noOfKeys: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createKey = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.createKey = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.cryptolensAuth,
|
|
11
|
+
name: 'createKey',
|
|
12
|
+
displayName: 'Create Key',
|
|
13
|
+
description: 'Create a new license key for a product',
|
|
14
|
+
props: {
|
|
15
|
+
productId: pieces_framework_1.Property.Number({
|
|
16
|
+
displayName: 'Product ID',
|
|
17
|
+
description: 'The product ID',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
period: pieces_framework_1.Property.Number({
|
|
21
|
+
displayName: 'Validity Period (days)',
|
|
22
|
+
description: 'The number of days from today the license key should be valid. Default is 0 (no expiration).',
|
|
23
|
+
required: false,
|
|
24
|
+
}),
|
|
25
|
+
f1: pieces_framework_1.Property.Checkbox({
|
|
26
|
+
displayName: 'Feature 1',
|
|
27
|
+
description: 'Enable Feature 1',
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
f2: pieces_framework_1.Property.Checkbox({
|
|
31
|
+
displayName: 'Feature 2',
|
|
32
|
+
description: 'Enable Feature 2',
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
f3: pieces_framework_1.Property.Checkbox({
|
|
36
|
+
displayName: 'Feature 3',
|
|
37
|
+
description: 'Enable Feature 3',
|
|
38
|
+
required: false,
|
|
39
|
+
}),
|
|
40
|
+
f4: pieces_framework_1.Property.Checkbox({
|
|
41
|
+
displayName: 'Feature 4',
|
|
42
|
+
description: 'Enable Feature 4',
|
|
43
|
+
required: false,
|
|
44
|
+
}),
|
|
45
|
+
f5: pieces_framework_1.Property.Checkbox({
|
|
46
|
+
displayName: 'Feature 5',
|
|
47
|
+
description: 'Enable Feature 5',
|
|
48
|
+
required: false,
|
|
49
|
+
}),
|
|
50
|
+
f6: pieces_framework_1.Property.Checkbox({
|
|
51
|
+
displayName: 'Feature 6',
|
|
52
|
+
description: 'Enable Feature 6',
|
|
53
|
+
required: false,
|
|
54
|
+
}),
|
|
55
|
+
f7: pieces_framework_1.Property.Checkbox({
|
|
56
|
+
displayName: 'Feature 7',
|
|
57
|
+
description: 'Enable Feature 7',
|
|
58
|
+
required: false,
|
|
59
|
+
}),
|
|
60
|
+
f8: pieces_framework_1.Property.Checkbox({
|
|
61
|
+
displayName: 'Feature 8',
|
|
62
|
+
description: 'Enable Feature 8',
|
|
63
|
+
required: false,
|
|
64
|
+
}),
|
|
65
|
+
notes: pieces_framework_1.Property.LongText({
|
|
66
|
+
displayName: 'Notes',
|
|
67
|
+
description: 'Additional notes about the license key (max 500 characters)',
|
|
68
|
+
required: false,
|
|
69
|
+
}),
|
|
70
|
+
block: pieces_framework_1.Property.Checkbox({
|
|
71
|
+
displayName: 'Block Key',
|
|
72
|
+
description: 'Block the key from being accessed by the Activation method',
|
|
73
|
+
required: false,
|
|
74
|
+
}),
|
|
75
|
+
customerId: pieces_framework_1.Property.Number({
|
|
76
|
+
displayName: 'Customer ID',
|
|
77
|
+
description: 'The ID of the customer to associate with this license key',
|
|
78
|
+
required: false,
|
|
79
|
+
}),
|
|
80
|
+
trialActivation: pieces_framework_1.Property.Checkbox({
|
|
81
|
+
displayName: 'Enable Trial Activation',
|
|
82
|
+
description: 'Enable or disable trial activation',
|
|
83
|
+
required: false,
|
|
84
|
+
}),
|
|
85
|
+
maxNoOfMachines: pieces_framework_1.Property.Number({
|
|
86
|
+
displayName: 'Max Number of Machines',
|
|
87
|
+
description: 'The maximum number of computers that can activate the key. Default is 0 (unlimited).',
|
|
88
|
+
required: false,
|
|
89
|
+
}),
|
|
90
|
+
allowedMachines: pieces_framework_1.Property.LongText({
|
|
91
|
+
displayName: 'Allowed Machines',
|
|
92
|
+
description: 'A list of machine codes (separated by new lines) that will be prioritized during activation',
|
|
93
|
+
required: false,
|
|
94
|
+
}),
|
|
95
|
+
resellerId: pieces_framework_1.Property.Number({
|
|
96
|
+
displayName: 'Reseller ID',
|
|
97
|
+
description: 'The ID of the reseller to associate with this license key',
|
|
98
|
+
required: false,
|
|
99
|
+
}),
|
|
100
|
+
noOfKeys: pieces_framework_1.Property.Number({
|
|
101
|
+
displayName: 'Number of Keys',
|
|
102
|
+
description: 'The number of keys to generate. Default is 1. Maximum 1000 per request.',
|
|
103
|
+
required: false,
|
|
104
|
+
}),
|
|
105
|
+
},
|
|
106
|
+
run(context) {
|
|
107
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const params = new URLSearchParams({
|
|
109
|
+
ProductId: String(context.propsValue.productId),
|
|
110
|
+
});
|
|
111
|
+
if (context.propsValue.period !== undefined &&
|
|
112
|
+
context.propsValue.period !== null) {
|
|
113
|
+
params.append('Period', String(context.propsValue.period));
|
|
114
|
+
}
|
|
115
|
+
if (context.propsValue.f1)
|
|
116
|
+
params.append('F1', 'true');
|
|
117
|
+
if (context.propsValue.f2)
|
|
118
|
+
params.append('F2', 'true');
|
|
119
|
+
if (context.propsValue.f3)
|
|
120
|
+
params.append('F3', 'true');
|
|
121
|
+
if (context.propsValue.f4)
|
|
122
|
+
params.append('F4', 'true');
|
|
123
|
+
if (context.propsValue.f5)
|
|
124
|
+
params.append('F5', 'true');
|
|
125
|
+
if (context.propsValue.f6)
|
|
126
|
+
params.append('F6', 'true');
|
|
127
|
+
if (context.propsValue.f7)
|
|
128
|
+
params.append('F7', 'true');
|
|
129
|
+
if (context.propsValue.f8)
|
|
130
|
+
params.append('F8', 'true');
|
|
131
|
+
if (context.propsValue.notes) {
|
|
132
|
+
params.append('Notes', context.propsValue.notes);
|
|
133
|
+
}
|
|
134
|
+
if (context.propsValue.block) {
|
|
135
|
+
params.append('Block', 'true');
|
|
136
|
+
}
|
|
137
|
+
if (context.propsValue.customerId !== undefined &&
|
|
138
|
+
context.propsValue.customerId !== null) {
|
|
139
|
+
params.append('CustomerId', String(context.propsValue.customerId));
|
|
140
|
+
}
|
|
141
|
+
if (context.propsValue.trialActivation) {
|
|
142
|
+
params.append('TrialActivation', 'true');
|
|
143
|
+
}
|
|
144
|
+
if (context.propsValue.maxNoOfMachines !== undefined &&
|
|
145
|
+
context.propsValue.maxNoOfMachines !== null) {
|
|
146
|
+
params.append('MaxNoOfMachines', String(context.propsValue.maxNoOfMachines));
|
|
147
|
+
}
|
|
148
|
+
if (context.propsValue.allowedMachines) {
|
|
149
|
+
params.append('AllowedMachines', context.propsValue.allowedMachines);
|
|
150
|
+
}
|
|
151
|
+
if (context.propsValue.resellerId !== undefined &&
|
|
152
|
+
context.propsValue.resellerId !== null) {
|
|
153
|
+
params.append('ResellerId', String(context.propsValue.resellerId));
|
|
154
|
+
}
|
|
155
|
+
if (context.propsValue.noOfKeys !== undefined &&
|
|
156
|
+
context.propsValue.noOfKeys !== null) {
|
|
157
|
+
params.append('NoOfKeys', String(context.propsValue.noOfKeys));
|
|
158
|
+
}
|
|
159
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, `/key/CreateKey?${params.toString()}`);
|
|
160
|
+
return response;
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
//# sourceMappingURL=create-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-key.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/actions/create-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const extendLicense: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
productId: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
3
|
+
key: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
4
|
+
noOfDays: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
5
|
+
}>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extendLicense = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const client_1 = require("../common/client");
|
|
7
|
+
const auth_1 = require("../common/auth");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.extendLicense = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.cryptolensAuth,
|
|
11
|
+
name: 'extendLicense',
|
|
12
|
+
displayName: 'Extend License',
|
|
13
|
+
description: 'Extend a license key by a specified number of days',
|
|
14
|
+
props: {
|
|
15
|
+
productId: pieces_framework_1.Property.Number({
|
|
16
|
+
displayName: 'Product ID',
|
|
17
|
+
description: 'The product ID',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
key: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'License Key',
|
|
22
|
+
description: 'The serial key string to extend',
|
|
23
|
+
required: true,
|
|
24
|
+
}),
|
|
25
|
+
noOfDays: pieces_framework_1.Property.Number({
|
|
26
|
+
displayName: 'Number of Days',
|
|
27
|
+
description: 'The number of days to extend the license. Use negative numbers to decrease the expiration date.',
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
},
|
|
31
|
+
run(context) {
|
|
32
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const params = new URLSearchParams({
|
|
34
|
+
ProductId: String(context.propsValue.productId),
|
|
35
|
+
Key: context.propsValue.key,
|
|
36
|
+
});
|
|
37
|
+
if (context.propsValue.noOfDays !== undefined && context.propsValue.noOfDays !== null) {
|
|
38
|
+
params.append('NoOfDays', String(context.propsValue.noOfDays));
|
|
39
|
+
}
|
|
40
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, `/key/ExtendLicense?${params.toString()}`);
|
|
41
|
+
return response;
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=extend-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-license.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/actions/extend-license.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,6CAA+C;AAC/C,yCAAgD;AAChD,+DAAyD;AAE5C,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,oDAAoD;IACjE,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,GAAG,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACtB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,iGAAiG;YAC9G,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/C,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG;aAC5B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,0BAAU,CAAC,IAAI,EACf,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC1C,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cryptolensAuth: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cryptolensAuth = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const CRYPTOLENS_API_BASE_URL = 'https://api.cryptolens.io/api';
|
|
8
|
+
function validateAccessToken(token) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
try {
|
|
11
|
+
yield pieces_common_1.httpClient.sendRequest({
|
|
12
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
13
|
+
url: `${CRYPTOLENS_API_BASE_URL}/auth/GetToken?token=${encodeURIComponent(token)}`,
|
|
14
|
+
});
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
catch (_a) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.cryptolensAuth = pieces_framework_1.PieceAuth.SecretText({
|
|
23
|
+
displayName: 'Access Token',
|
|
24
|
+
description: 'Your Cryptolens access token. Get it from https://app.cryptolens.io/User/AccessToken',
|
|
25
|
+
required: true,
|
|
26
|
+
validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
27
|
+
const isValid = yield validateAccessToken(auth);
|
|
28
|
+
if (isValid) {
|
|
29
|
+
return { valid: true };
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
valid: false,
|
|
33
|
+
error: 'Invalid access token',
|
|
34
|
+
};
|
|
35
|
+
}),
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,+DAAqE;AACrE,qEAA2D;AAE3D,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAEhE,SAAe,mBAAmB,CAAC,KAAa;;QAC9C,IAAI,CAAC;YACH,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,uBAAuB,wBAAwB,kBAAkB,CACvE,KAAK,CACN,EAAE;aACJ,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAAA;AAEY,QAAA,cAAc,GAAG,4BAAS,CAAC,UAAU,CAAC;IACjD,WAAW,EAAE,cAAc;IAC3B,WAAW,EACT,sFAAsF;IACxF,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,sBAAsB;SAC9B,CAAC;IACJ,CAAC,CAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BASE_URL = void 0;
|
|
4
|
+
exports.makeRequest = makeRequest;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
exports.BASE_URL = `https://api.cryptolens.io/api`;
|
|
8
|
+
function makeRequest(access_token, method, path, body) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
try {
|
|
11
|
+
const url = `${exports.BASE_URL}${path}?token=${encodeURIComponent(access_token)}`;
|
|
12
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
13
|
+
method,
|
|
14
|
+
url,
|
|
15
|
+
headers: {
|
|
16
|
+
'Content-Type': 'application/json',
|
|
17
|
+
},
|
|
18
|
+
body,
|
|
19
|
+
});
|
|
20
|
+
return response.body;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new Error(`Unexpected error: ${error.message || String(error)}`);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/common/client.ts"],"names":[],"mappings":";;;AAIA,kCAqBC;;AAzBD,+DAAqE;AAExD,QAAA,QAAQ,GAAG,+BAA+B,CAAC;AAExD,SAAsB,WAAW,CAC/B,YAAoB,EACpB,MAAkB,EAClB,IAAY,EACZ,IAAc;;QAEd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,gBAAQ,GAAG,IAAI,UAAU,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;YAE3E,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG;gBACH,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI;aACL,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newApiEvent: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
3
|
+
productId: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
4
|
+
key: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
states: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
6
|
+
limit: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
7
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
8
|
+
productId: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
9
|
+
key: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
10
|
+
states: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
11
|
+
limit: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
12
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
13
|
+
productId: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
14
|
+
key: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
15
|
+
states: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
16
|
+
limit: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newApiEvent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const client_1 = require("../common/client");
|
|
8
|
+
const auth_1 = require("../common/auth");
|
|
9
|
+
const pieces_common_2 = require("@activepieces/pieces-common");
|
|
10
|
+
const props = {
|
|
11
|
+
productId: pieces_framework_1.Property.Number({
|
|
12
|
+
displayName: 'Product ID',
|
|
13
|
+
description: 'Filter events for a specific product (optional)',
|
|
14
|
+
required: false,
|
|
15
|
+
}),
|
|
16
|
+
key: pieces_framework_1.Property.ShortText({
|
|
17
|
+
displayName: 'License Key',
|
|
18
|
+
description: 'Filter events for a specific license key (requires Product ID)',
|
|
19
|
+
required: false,
|
|
20
|
+
}),
|
|
21
|
+
states: pieces_framework_1.Property.LongText({
|
|
22
|
+
displayName: 'Event States',
|
|
23
|
+
description: 'Filter by event states (comma-separated numbers). E.g., 1010 for validation, 2010 for activation, 3010 for key creation, 6010 for deactivation',
|
|
24
|
+
required: false,
|
|
25
|
+
}),
|
|
26
|
+
limit: pieces_framework_1.Property.Number({
|
|
27
|
+
displayName: 'Limit',
|
|
28
|
+
description: 'Maximum number of events to fetch per poll (default 100, max 1000)',
|
|
29
|
+
required: false,
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
const polling = {
|
|
33
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
34
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ propsValue, auth, lastFetchEpochMS }) {
|
|
35
|
+
const params = new URLSearchParams();
|
|
36
|
+
if (propsValue.productId) {
|
|
37
|
+
params.append('ProductId', String(propsValue.productId));
|
|
38
|
+
}
|
|
39
|
+
if (propsValue.key && propsValue.productId) {
|
|
40
|
+
params.append('Key', propsValue.key);
|
|
41
|
+
}
|
|
42
|
+
if (propsValue.states) {
|
|
43
|
+
params.append('States', propsValue.states);
|
|
44
|
+
}
|
|
45
|
+
const limit = propsValue.limit || 100;
|
|
46
|
+
params.append('Limit', String(limit));
|
|
47
|
+
// Add time filter to get events since last fetch
|
|
48
|
+
if (lastFetchEpochMS) {
|
|
49
|
+
const timeFilter = JSON.stringify({
|
|
50
|
+
gte: Math.floor(lastFetchEpochMS / 1000),
|
|
51
|
+
});
|
|
52
|
+
params.append('Time', timeFilter);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// On first run, fetch events from the last hour to avoid missing recent events
|
|
56
|
+
const oneHourAgo = Math.floor((Date.now() - 3600 * 1000) / 1000);
|
|
57
|
+
const timeFilter = JSON.stringify({ gte: oneHourAgo });
|
|
58
|
+
params.append('Time', timeFilter);
|
|
59
|
+
}
|
|
60
|
+
const response = yield (0, client_1.makeRequest)(auth.secret_text, pieces_common_2.HttpMethod.GET, `/ai/GetWebAPILog?${params.toString()}`);
|
|
61
|
+
const responseBody = response;
|
|
62
|
+
if (responseBody.result !== 0 || !responseBody.Events) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
return responseBody.Events.map((log) => ({
|
|
66
|
+
epochMilliSeconds: log.Created * 1000,
|
|
67
|
+
data: log,
|
|
68
|
+
}));
|
|
69
|
+
}),
|
|
70
|
+
};
|
|
71
|
+
exports.newApiEvent = (0, pieces_framework_1.createTrigger)({
|
|
72
|
+
auth: auth_1.cryptolensAuth,
|
|
73
|
+
name: 'newApiEvent',
|
|
74
|
+
displayName: 'New API Event',
|
|
75
|
+
description: 'Trigger when a new API event is logged (activation, deactivation, key creation, etc.)',
|
|
76
|
+
props,
|
|
77
|
+
sampleData: {
|
|
78
|
+
Id: 1,
|
|
79
|
+
Created: 1426545812,
|
|
80
|
+
ResourceType: 3,
|
|
81
|
+
ResourceAction: 1,
|
|
82
|
+
AffectedObjectId: 12345,
|
|
83
|
+
ObjectOwnerUserId: 999,
|
|
84
|
+
PerformedByUserId: 'user123',
|
|
85
|
+
Data: '{"key": "value"}',
|
|
86
|
+
},
|
|
87
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
88
|
+
test(context) {
|
|
89
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
onEnable(context) {
|
|
94
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const { store, auth, propsValue } = context;
|
|
96
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, { store, auth, propsValue });
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
onDisable(context) {
|
|
100
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
const { store, auth, propsValue } = context;
|
|
102
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, { store, auth, propsValue });
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
run(context) {
|
|
106
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=new-api-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-api-event.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/cryptolens/src/lib/triggers/new-api-event.ts"],"names":[],"mappings":"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"}
|