@activepieces/piece-skyprep 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 +27 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +15 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/enroll-a-user-into-a-cource.d.ts +4 -0
- package/src/lib/actions/enroll-a-user-into-a-cource.js +31 -0
- package/src/lib/actions/enroll-a-user-into-a-cource.js.map +1 -0
- package/src/lib/actions/enroll-a-user-into-a-user-group.d.ts +7 -0
- package/src/lib/actions/enroll-a-user-into-a-user-group.js +65 -0
- package/src/lib/actions/enroll-a-user-into-a-user-group.js.map +1 -0
- package/src/lib/actions/update-user.d.ts +16 -0
- package/src/lib/actions/update-user.js +130 -0
- package/src/lib/actions/update-user.js.map +1 -0
- package/src/lib/common/auth.d.ts +1 -0
- package/src/lib/common/auth.js +10 -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/common/props.d.ts +2 -0
- package/src/lib/common/props.js +59 -0
- package/src/lib/common/props.js.map +1 -0
- package/src/lib/triggers/cource-failed.d.ts +8 -0
- package/src/lib/triggers/cource-failed.js +72 -0
- package/src/lib/triggers/cource-failed.js.map +1 -0
- package/src/lib/triggers/cource-passed.d.ts +8 -0
- package/src/lib/triggers/cource-passed.js +73 -0
- package/src/lib/triggers/cource-passed.js.map +1 -0
- package/src/lib/triggers/new-user.d.ts +2 -0
- package/src/lib/triggers/new-user.js +67 -0
- package/src/lib/triggers/new-user.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@activepieces/piece-skyprep",
|
|
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
|
+
"dayjs": "1.11.9",
|
|
12
|
+
"deepmerge-ts": "7.1.0",
|
|
13
|
+
"form-data": "4.0.4",
|
|
14
|
+
"mime-types": "2.1.35",
|
|
15
|
+
"nanoid": "3.3.8",
|
|
16
|
+
"semver": "7.6.0",
|
|
17
|
+
"socket.io-client": "4.8.1",
|
|
18
|
+
"tslib": "^2.3.0",
|
|
19
|
+
"zod": "4.1.13",
|
|
20
|
+
"@activepieces/pieces-common": "0.11.0",
|
|
21
|
+
"@activepieces/pieces-framework": "0.23.0",
|
|
22
|
+
"@activepieces/shared": "0.30.4"
|
|
23
|
+
},
|
|
24
|
+
"resolutions": {
|
|
25
|
+
"rollup": "npm:@rollup/wasm-node"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const skyprep: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
package/src/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.skyprep = void 0;
|
|
4
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
5
|
+
const auth_1 = require("./lib/common/auth");
|
|
6
|
+
exports.skyprep = (0, pieces_framework_1.createPiece)({
|
|
7
|
+
displayName: 'SkyPrep',
|
|
8
|
+
auth: auth_1.skyprepAuth,
|
|
9
|
+
minimumSupportedRelease: '0.36.1',
|
|
10
|
+
logoUrl: 'https://cdn.activepieces.com/pieces/skyprep.png',
|
|
11
|
+
authors: ['sanket-a11y'],
|
|
12
|
+
actions: [],
|
|
13
|
+
triggers: [],
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/skyprep/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,4CAAgD;AAEnC,QAAA,OAAO,GAAG,IAAA,8BAAW,EAAC;IACjC,WAAW,EAAE,SAAS;IACtB,IAAI,EAAE,kBAAW;IACjB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,iDAAiD;IAC1D,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const enrollAUserIntoACource: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
user_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
3
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
}>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enrollAUserIntoACource = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const auth_1 = require("../common/auth");
|
|
7
|
+
const client_1 = require("../common/client");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
const props_1 = require("../common/props");
|
|
10
|
+
exports.enrollAUserIntoACource = (0, pieces_framework_1.createAction)({
|
|
11
|
+
auth: auth_1.skyprepAuth,
|
|
12
|
+
name: 'enrollAUserIntoACource',
|
|
13
|
+
displayName: 'Enroll a User Into a Course',
|
|
14
|
+
description: 'Enroll a user into a course by user email or user ID',
|
|
15
|
+
props: {
|
|
16
|
+
user_id: props_1.user_idDropdown,
|
|
17
|
+
course_id: props_1.courceID,
|
|
18
|
+
},
|
|
19
|
+
run(context) {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const { user_id, course_id } = context.propsValue;
|
|
22
|
+
const body = {
|
|
23
|
+
course_id,
|
|
24
|
+
user_id,
|
|
25
|
+
};
|
|
26
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, '/enroll_user_in_course', body);
|
|
27
|
+
return response;
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=enroll-a-user-into-a-cource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enroll-a-user-into-a-cource.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/actions/enroll-a-user-into-a-cource.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,yCAA6C;AAC7C,6CAA+C;AAC/C,+DAAyD;AACzD,2CAA4D;AAE/C,QAAA,sBAAsB,GAAG,IAAA,+BAAY,EAAC;IACjD,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,sDAAsD;IACnE,KAAK,EAAE;QACL,OAAO,EAAE,uBAAe;QACxB,SAAS,EAAE,gBAAQ;KACpB;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAElD,MAAM,IAAI,GAAQ;gBAChB,SAAS;gBACT,OAAO;aACR,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,0BAAU,CAAC,IAAI,EACf,wBAAwB,EACxB,IAAI,CACL,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const enrollAUserIntoAUserGroup: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
user_identifier: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
|
|
3
|
+
user_email: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
user_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
5
|
+
user_group_id: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
6
|
+
user_group_enrollment_expiration_date: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enrollAUserIntoAUserGroup = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const auth_1 = require("../common/auth");
|
|
7
|
+
const client_1 = require("../common/client");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
const props_1 = require("../common/props");
|
|
10
|
+
exports.enrollAUserIntoAUserGroup = (0, pieces_framework_1.createAction)({
|
|
11
|
+
auth: auth_1.skyprepAuth,
|
|
12
|
+
name: 'enrollAUserIntoAUserGroup',
|
|
13
|
+
displayName: 'Enroll a User Into a User Group',
|
|
14
|
+
description: 'Enroll a user into a user group by user email or user ID',
|
|
15
|
+
props: {
|
|
16
|
+
user_identifier: pieces_framework_1.Property.StaticDropdown({
|
|
17
|
+
displayName: 'User Identifier Type',
|
|
18
|
+
description: 'Choose whether to identify the user by email or ID',
|
|
19
|
+
options: {
|
|
20
|
+
options: [
|
|
21
|
+
{ label: 'Email', value: 'email' },
|
|
22
|
+
{ label: 'User ID', value: 'user_id' },
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
required: true,
|
|
26
|
+
}),
|
|
27
|
+
user_email: pieces_framework_1.Property.ShortText({
|
|
28
|
+
displayName: 'User Email',
|
|
29
|
+
description: 'The email address of the user to enroll',
|
|
30
|
+
required: false,
|
|
31
|
+
}),
|
|
32
|
+
user_id: props_1.user_idDropdown,
|
|
33
|
+
user_group_id: pieces_framework_1.Property.Number({
|
|
34
|
+
displayName: 'User Group ID',
|
|
35
|
+
description: 'The ID of the user group to enroll the user into',
|
|
36
|
+
required: true,
|
|
37
|
+
}),
|
|
38
|
+
user_group_enrollment_expiration_date: pieces_framework_1.Property.ShortText({
|
|
39
|
+
displayName: 'Enrollment Expiration Date',
|
|
40
|
+
description: 'Optional: The date when the enrollment will expire (e.g., "2024-12-31")',
|
|
41
|
+
required: false,
|
|
42
|
+
}),
|
|
43
|
+
},
|
|
44
|
+
run(context) {
|
|
45
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const { user_identifier, user_email, user_id, user_group_id, user_group_enrollment_expiration_date, } = context.propsValue;
|
|
47
|
+
const body = {
|
|
48
|
+
user_group_id,
|
|
49
|
+
};
|
|
50
|
+
if (user_identifier === 'email') {
|
|
51
|
+
body.user_email = user_email;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
body.user_id = user_id;
|
|
55
|
+
}
|
|
56
|
+
if (user_group_enrollment_expiration_date) {
|
|
57
|
+
body.user_group_enrollment_expiration_date =
|
|
58
|
+
user_group_enrollment_expiration_date;
|
|
59
|
+
}
|
|
60
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, '/enroll_user_in_user_group', body);
|
|
61
|
+
return response;
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=enroll-a-user-into-a-user-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enroll-a-user-into-a-user-group.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/actions/enroll-a-user-into-a-user-group.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,yCAA6C;AAC7C,6CAA+C;AAC/C,+DAAyD;AACzD,2CAAkD;AAErC,QAAA,yBAAyB,GAAG,IAAA,+BAAY,EAAC;IACpD,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,iCAAiC;IAC9C,WAAW,EAAE,0DAA0D;IACvE,KAAK,EAAE;QACL,eAAe,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACvC,WAAW,EAAE,sBAAsB;YACnC,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;oBAClC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;iBACvC;aACF;YACD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAC,uBAAe;QACvB,aAAa,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,qCAAqC,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxD,WAAW,EAAE,4BAA4B;YACzC,WAAW,EACT,yEAAyE;YAC3E,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EACJ,eAAe,EACf,UAAU,EACV,OAAO,EACP,aAAa,EACb,qCAAqC,GACtC,GAAG,OAAO,CAAC,UAAU,CAAC;YAEvB,MAAM,IAAI,GAAQ;gBAChB,aAAa;aACd,CAAC;YAEF,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,CAAC;YAED,IAAI,qCAAqC,EAAE,CAAC;gBAC1C,IAAI,CAAC,qCAAqC;oBACxC,qCAAqC,CAAC;YAC1C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,0BAAU,CAAC,IAAI,EACf,4BAA4B,EAC5B,IAAI,CACL,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const updateUser: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
user_email: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
first_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
last_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
role: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
6
|
+
title: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
|
+
cell: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
work_phone: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
address: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
10
|
+
card_no: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
11
|
+
email_notifications: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
12
|
+
sms_notifications: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
13
|
+
access_start_date: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
14
|
+
access_end_date: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
15
|
+
password_expiration_date: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateUser = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const auth_1 = require("../common/auth");
|
|
7
|
+
const client_1 = require("../common/client");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.updateUser = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: auth_1.skyprepAuth,
|
|
11
|
+
name: 'updateUser',
|
|
12
|
+
displayName: 'Update User',
|
|
13
|
+
description: 'Update user information. Omitted parameters will not be updated.',
|
|
14
|
+
props: {
|
|
15
|
+
user_email: pieces_framework_1.Property.ShortText({
|
|
16
|
+
displayName: 'User Email',
|
|
17
|
+
description: 'The email address of the user to update (required)',
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
first_name: pieces_framework_1.Property.ShortText({
|
|
21
|
+
displayName: 'First Name',
|
|
22
|
+
description: 'The first name of the user',
|
|
23
|
+
required: false,
|
|
24
|
+
}),
|
|
25
|
+
last_name: pieces_framework_1.Property.ShortText({
|
|
26
|
+
displayName: 'Last Name',
|
|
27
|
+
description: 'The last name of the user',
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
role: pieces_framework_1.Property.StaticDropdown({
|
|
31
|
+
displayName: 'Role',
|
|
32
|
+
description: 'The role of the user',
|
|
33
|
+
options: {
|
|
34
|
+
options: [
|
|
35
|
+
{ label: 'Email', value: 'email' },
|
|
36
|
+
{ label: 'User ID', value: 'user_id' },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
required: false,
|
|
40
|
+
}),
|
|
41
|
+
title: pieces_framework_1.Property.ShortText({
|
|
42
|
+
displayName: 'Title',
|
|
43
|
+
description: 'The title/position of the user',
|
|
44
|
+
required: false,
|
|
45
|
+
}),
|
|
46
|
+
cell: pieces_framework_1.Property.ShortText({
|
|
47
|
+
displayName: 'Cell Phone',
|
|
48
|
+
description: 'The cell phone number of the user',
|
|
49
|
+
required: false,
|
|
50
|
+
}),
|
|
51
|
+
work_phone: pieces_framework_1.Property.ShortText({
|
|
52
|
+
displayName: 'Work Phone',
|
|
53
|
+
description: 'The work phone number of the user',
|
|
54
|
+
required: false,
|
|
55
|
+
}),
|
|
56
|
+
address: pieces_framework_1.Property.ShortText({
|
|
57
|
+
displayName: 'Address',
|
|
58
|
+
description: 'The address of the user',
|
|
59
|
+
required: false,
|
|
60
|
+
}),
|
|
61
|
+
card_no: pieces_framework_1.Property.ShortText({
|
|
62
|
+
displayName: 'Card/ID Number',
|
|
63
|
+
description: 'The unique user identifier (e.g. student #, badge #)',
|
|
64
|
+
required: false,
|
|
65
|
+
}),
|
|
66
|
+
email_notifications: pieces_framework_1.Property.Checkbox({
|
|
67
|
+
displayName: 'Email Notifications',
|
|
68
|
+
description: 'Whether the user receives email notifications',
|
|
69
|
+
required: false,
|
|
70
|
+
}),
|
|
71
|
+
sms_notifications: pieces_framework_1.Property.Checkbox({
|
|
72
|
+
displayName: 'SMS Notifications',
|
|
73
|
+
description: 'Whether the user receives SMS notifications (requires Twilio integration)',
|
|
74
|
+
required: false,
|
|
75
|
+
}),
|
|
76
|
+
access_start_date: pieces_framework_1.Property.ShortText({
|
|
77
|
+
displayName: 'Access Start Date',
|
|
78
|
+
description: 'The date when the user can start accessing content (e.g., "July 31, 2015")',
|
|
79
|
+
required: false,
|
|
80
|
+
}),
|
|
81
|
+
access_end_date: pieces_framework_1.Property.ShortText({
|
|
82
|
+
displayName: 'Access End Date',
|
|
83
|
+
description: 'The date when the user can no longer access content (e.g., "July 30, 2017")',
|
|
84
|
+
required: false,
|
|
85
|
+
}),
|
|
86
|
+
password_expiration_date: pieces_framework_1.Property.ShortText({
|
|
87
|
+
displayName: 'Password Expiration Date',
|
|
88
|
+
description: 'The date when the user password expires (e.g., "July 19, 2022")',
|
|
89
|
+
required: false,
|
|
90
|
+
}),
|
|
91
|
+
},
|
|
92
|
+
run(context) {
|
|
93
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const { user_email, first_name, last_name, role, title, cell, work_phone, address, card_no, email_notifications, sms_notifications, access_start_date, access_end_date, password_expiration_date, } = context.propsValue;
|
|
95
|
+
const body = {
|
|
96
|
+
user_email,
|
|
97
|
+
};
|
|
98
|
+
// Add optional fields only if provided
|
|
99
|
+
if (first_name)
|
|
100
|
+
body.first_name = first_name;
|
|
101
|
+
if (last_name)
|
|
102
|
+
body.last_name = last_name;
|
|
103
|
+
if (role)
|
|
104
|
+
body.role = role;
|
|
105
|
+
if (title)
|
|
106
|
+
body.title = title;
|
|
107
|
+
if (cell)
|
|
108
|
+
body.cell = cell;
|
|
109
|
+
if (work_phone)
|
|
110
|
+
body.work_phone = work_phone;
|
|
111
|
+
if (address)
|
|
112
|
+
body.address = address;
|
|
113
|
+
if (card_no)
|
|
114
|
+
body.card_no = card_no;
|
|
115
|
+
if (email_notifications !== undefined)
|
|
116
|
+
body.email_notifications = email_notifications;
|
|
117
|
+
if (sms_notifications !== undefined)
|
|
118
|
+
body.sms_notifications = sms_notifications;
|
|
119
|
+
if (access_start_date)
|
|
120
|
+
body.access_start_date = access_start_date;
|
|
121
|
+
if (access_end_date)
|
|
122
|
+
body.access_end_date = access_end_date;
|
|
123
|
+
if (password_expiration_date)
|
|
124
|
+
body.password_expiration_date = password_expiration_date;
|
|
125
|
+
const response = yield (0, client_1.makeRequest)(context.auth.secret_text, pieces_common_1.HttpMethod.POST, '/update_user', body);
|
|
126
|
+
return response;
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=update-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-user.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/actions/update-user.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const skyprepAuth: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.skyprepAuth = void 0;
|
|
4
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
5
|
+
exports.skyprepAuth = pieces_framework_1.PieceAuth.SecretText({
|
|
6
|
+
displayName: 'API Key',
|
|
7
|
+
description: 'Skyprep API Key',
|
|
8
|
+
required: true,
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/common/auth.ts"],"names":[],"mappings":";;;AAAA,qEAA2D;AAE9C,QAAA,WAAW,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC9C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,IAAI;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.skyprep.io/admin/api`;
|
|
8
|
+
function makeRequest(api_key, method, path, body) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
try {
|
|
11
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
12
|
+
method,
|
|
13
|
+
url: `${exports.BASE_URL}${path}`,
|
|
14
|
+
headers: {
|
|
15
|
+
Authorization: `Bearer ${api_key}`,
|
|
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/skyprep/src/lib/common/client.ts"],"names":[],"mappings":";;;AAIA,kCAqBC;;AAzBD,+DAAqE;AAExD,QAAA,QAAQ,GAAG,kCAAkC,CAAC;AAE3D,SAAsB,WAAW,CAC/B,OAAe,EACf,MAAkB,EAClB,IAAY,EACZ,IAAc;;QAEd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG,EAAE,GAAG,gBAAQ,GAAG,IAAI,EAAE;gBACzB,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,EAAE;oBAClC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI;aACL,CAAC,CAAC;YAEH,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,2 @@
|
|
|
1
|
+
export declare const courceID: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
2
|
+
export declare const user_idDropdown: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.user_idDropdown = exports.courceID = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const auth_1 = require("./auth");
|
|
7
|
+
const client_1 = require("./client");
|
|
8
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
9
|
+
exports.courceID = pieces_framework_1.Property.Dropdown({
|
|
10
|
+
auth: auth_1.skyprepAuth,
|
|
11
|
+
displayName: 'Course',
|
|
12
|
+
description: 'Select the course',
|
|
13
|
+
required: true,
|
|
14
|
+
refreshers: [],
|
|
15
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
16
|
+
if (!auth || !auth.secret_text) {
|
|
17
|
+
return {
|
|
18
|
+
disabled: true,
|
|
19
|
+
options: [],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const response = yield (0, client_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.POST, '/get_courses', {
|
|
23
|
+
per_page: 100,
|
|
24
|
+
});
|
|
25
|
+
return {
|
|
26
|
+
disabled: false,
|
|
27
|
+
options: response.map((course) => ({
|
|
28
|
+
label: course.name,
|
|
29
|
+
value: course.id || course.course_id,
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
exports.user_idDropdown = pieces_framework_1.Property.Dropdown({
|
|
35
|
+
auth: auth_1.skyprepAuth,
|
|
36
|
+
displayName: 'User',
|
|
37
|
+
description: 'Select the user',
|
|
38
|
+
required: true,
|
|
39
|
+
refreshers: [],
|
|
40
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
41
|
+
if (!auth || !auth.secret_text) {
|
|
42
|
+
return {
|
|
43
|
+
disabled: true,
|
|
44
|
+
options: [],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const response = yield (0, client_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.POST, '/get_users', {
|
|
48
|
+
per_page: 100,
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
disabled: false,
|
|
52
|
+
options: response.map((user) => ({
|
|
53
|
+
label: ` ${user.username} (${user.first_name} ${user.last_name})`,
|
|
54
|
+
value: user.id,
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/common/props.ts"],"names":[],"mappings":";;;;AAAA,qEAA0D;AAC1D,iCAAqC;AACrC,qCAAuC;AACvC,+DAAyD;AAE5C,QAAA,QAAQ,GAAG,2BAAQ,CAAC,QAAQ,CAAC;IACxC,IAAI,EAAE,kBAAW;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACtB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,IAAI,EACf,cAAc,EACd;YACE,QAAQ,EAAE,GAAG;SACd,CACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;gBACtC,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS;aACrC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,CAAA;CACF,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,2BAAQ,CAAC,QAAQ,CAAC;IAC/C,IAAI,EAAE,kBAAW;IACjB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACtB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,IAAI,EACf,YAAY,EACZ;YACE,QAAQ,EAAE,GAAG;SACd,CACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;gBACpC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,GAAG;gBACjE,KAAK,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,CAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const courceFailed: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
3
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
5
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
7
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.courceFailed = 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 pieces_common_2 = require("@activepieces/pieces-common");
|
|
9
|
+
const auth_1 = require("../common/auth");
|
|
10
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
11
|
+
const props_1 = require("../common/props");
|
|
12
|
+
const props = {
|
|
13
|
+
course_id: props_1.courceID,
|
|
14
|
+
};
|
|
15
|
+
const polling = {
|
|
16
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
17
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ propsValue, lastFetchEpochMS, auth }) {
|
|
18
|
+
// Fetch course progresses with "failed" status
|
|
19
|
+
const response = yield (0, client_1.makeRequest)(auth.secret_text, pieces_common_2.HttpMethod.POST, '/get_course_progresses', {
|
|
20
|
+
course_id: propsValue.course_id || null,
|
|
21
|
+
status: 'failed',
|
|
22
|
+
per_page: 100,
|
|
23
|
+
});
|
|
24
|
+
return (response || [])
|
|
25
|
+
.filter((progress) => (0, dayjs_1.default)(progress.updated_at).valueOf() > lastFetchEpochMS)
|
|
26
|
+
.map((progress) => ({
|
|
27
|
+
epochMilliSeconds: (0, dayjs_1.default)(progress.updated_at).valueOf(),
|
|
28
|
+
data: progress,
|
|
29
|
+
}));
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
exports.courceFailed = (0, pieces_framework_1.createTrigger)({
|
|
33
|
+
auth: auth_1.skyprepAuth,
|
|
34
|
+
name: 'courceFailed',
|
|
35
|
+
displayName: 'Course Failed',
|
|
36
|
+
description: 'Trigger when a user fails a course',
|
|
37
|
+
props,
|
|
38
|
+
sampleData: {
|
|
39
|
+
id: 21869069,
|
|
40
|
+
status: 'failed',
|
|
41
|
+
user_id: 590143,
|
|
42
|
+
user_email: 'jane@example.com',
|
|
43
|
+
course_id: 50606,
|
|
44
|
+
course_name: 'General Test Course',
|
|
45
|
+
completion_date: '2020-11-06T00:40:18.000Z',
|
|
46
|
+
updated_at: '2021-04-08T22:36:07.000Z',
|
|
47
|
+
},
|
|
48
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
49
|
+
test(context) {
|
|
50
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
onEnable(context) {
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const { store, auth, propsValue } = context;
|
|
57
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, { store, auth, propsValue });
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
onDisable(context) {
|
|
61
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const { store, auth, propsValue } = context;
|
|
63
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, { store, auth, propsValue });
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
run(context) {
|
|
67
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=cource-failed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cource-failed.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/triggers/cource-failed.ts"],"names":[],"mappings":";;;;AAAA,qEAMwC;AACxC,+DAIqC;AACrC,6CAA+C;AAC/C,+DAAyD;AACzD,yCAA6C;AAC7C,0DAA0B;AAC1B,2CAA2C;AAE3C,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,gBAAQ;CACpB,CAAC;AACF,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAA+C,EAAE,oDAA1C,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAClD,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,IAAI,EACf,wBAAwB,EACxB;YACE,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;YACvC,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,GAAG;SACd,CACF,CAAC;QAEF,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACpB,MAAM,CACL,CAAC,QAAa,EAAE,EAAE,CAChB,IAAA,eAAK,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAC1D;aACA,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,CAAC;YACvB,iBAAiB,EAAE,IAAA,eAAK,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YACvD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC,CAAC;IACR,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,gCAAa,EAAC;IACxC,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oCAAoC;IACjD,KAAK;IACL,UAAU,EAAE;QACV,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,kBAAkB;QAC9B,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,qBAAqB;QAClC,eAAe,EAAE,0BAA0B;QAC3C,UAAU,EAAE,0BAA0B;KACvC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,IAAI,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,QAAQ,CAAC,OAAO;;YACpB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC5C,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,SAAS,CAAC,OAAO;;YACrB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC5C,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,GAAG,CAAC,OAAO;;YACf,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const courcePassed: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
3
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
5
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
7
|
+
course_id: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.courcePassed = 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 pieces_common_2 = require("@activepieces/pieces-common");
|
|
9
|
+
const auth_1 = require("../common/auth");
|
|
10
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
11
|
+
const props_1 = require("../common/props");
|
|
12
|
+
const props = {
|
|
13
|
+
course_id: props_1.courceID,
|
|
14
|
+
};
|
|
15
|
+
const polling = {
|
|
16
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
17
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ propsValue, lastFetchEpochMS, auth }) {
|
|
18
|
+
// Fetch course progresses with "passed" status
|
|
19
|
+
const response = yield (0, client_1.makeRequest)(auth.secret_text, pieces_common_2.HttpMethod.POST, '/get_course_progresses', {
|
|
20
|
+
course_id: propsValue.course_id || null,
|
|
21
|
+
status: 'passed',
|
|
22
|
+
per_page: 100,
|
|
23
|
+
});
|
|
24
|
+
// Convert response to polling format with time-based deduplication
|
|
25
|
+
return (response || [])
|
|
26
|
+
.filter((progress) => (0, dayjs_1.default)(progress.updated_at).valueOf() > lastFetchEpochMS)
|
|
27
|
+
.map((progress) => ({
|
|
28
|
+
epochMilliSeconds: (0, dayjs_1.default)(progress.updated_at).valueOf(),
|
|
29
|
+
data: progress,
|
|
30
|
+
}));
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
exports.courcePassed = (0, pieces_framework_1.createTrigger)({
|
|
34
|
+
auth: auth_1.skyprepAuth,
|
|
35
|
+
name: 'courcePassed',
|
|
36
|
+
displayName: 'Course Passed',
|
|
37
|
+
description: 'Trigger when a user passes a course',
|
|
38
|
+
props,
|
|
39
|
+
sampleData: {
|
|
40
|
+
id: 21869068,
|
|
41
|
+
status: 'passed',
|
|
42
|
+
user_id: 590142,
|
|
43
|
+
user_email: 'aaron@example.com',
|
|
44
|
+
course_id: 50606,
|
|
45
|
+
course_name: 'General Test Course',
|
|
46
|
+
completion_date: '2020-11-06T00:40:18.000Z',
|
|
47
|
+
updated_at: '2021-04-08T22:36:07.000Z',
|
|
48
|
+
},
|
|
49
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
50
|
+
test(context) {
|
|
51
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
onEnable(context) {
|
|
56
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const { store, auth, propsValue } = context;
|
|
58
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, { store, auth, propsValue });
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
onDisable(context) {
|
|
62
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const { store, auth, propsValue } = context;
|
|
64
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, { store, auth, propsValue });
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
run(context) {
|
|
68
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=cource-passed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cource-passed.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/triggers/cource-passed.ts"],"names":[],"mappings":";;;;AAAA,qEAMwC;AACxC,+DAIqC;AACrC,6CAA+C;AAC/C,+DAAyD;AACzD,yCAA6C;AAC7C,0DAA0B;AAC1B,2CAA2C;AAC3C,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,gBAAQ;CACpB,CAAC;AACF,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAA+C,EAAE,oDAA1C,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAClD,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,IAAI,EACf,wBAAwB,EACxB;YACE,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;YACvC,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,GAAG;SACd,CACF,CAAC;QAEF,mEAAmE;QACnE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACpB,MAAM,CACL,CAAC,QAAa,EAAE,EAAE,CAChB,IAAA,eAAK,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAC1D;aACA,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,CAAC;YACvB,iBAAiB,EAAE,IAAA,eAAK,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YACvD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC,CAAC;IACR,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,gCAAa,EAAC;IACxC,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,qCAAqC;IAClD,KAAK;IACL,UAAU,EAAE;QACV,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,mBAAmB;QAC/B,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,qBAAqB;QAClC,eAAe,EAAE,0BAA0B;QAC3C,UAAU,EAAE,0BAA0B;KACvC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,IAAI,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,QAAQ,CAAC,OAAO;;YACpB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC5C,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,SAAS,CAAC,OAAO;;YACrB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC5C,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,GAAG,CAAC,OAAO;;YACf,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newUser: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newUser = 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 pieces_common_2 = require("@activepieces/pieces-common");
|
|
9
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
10
|
+
const auth_1 = require("../common/auth");
|
|
11
|
+
const polling = {
|
|
12
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
13
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ propsValue, lastFetchEpochMS, auth }) {
|
|
14
|
+
const response = yield (0, client_1.makeRequest)(auth.secret_text, pieces_common_2.HttpMethod.POST, '/get_users', {
|
|
15
|
+
created_within_the_past_day: false,
|
|
16
|
+
order_by_created_at_desc: true,
|
|
17
|
+
limit: 100,
|
|
18
|
+
include_groups: false,
|
|
19
|
+
include_courses: false,
|
|
20
|
+
});
|
|
21
|
+
return (response || [])
|
|
22
|
+
.filter((user) => (0, dayjs_1.default)(user.updated_at).valueOf() > lastFetchEpochMS)
|
|
23
|
+
.map((user) => ({
|
|
24
|
+
epochMilliSeconds: (0, dayjs_1.default)(user.created_at).valueOf(),
|
|
25
|
+
data: user,
|
|
26
|
+
}));
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
exports.newUser = (0, pieces_framework_1.createTrigger)({
|
|
30
|
+
auth: auth_1.skyprepAuth,
|
|
31
|
+
name: 'newUser',
|
|
32
|
+
displayName: 'New User',
|
|
33
|
+
description: 'Trigger when a new user is created in SkyPrep',
|
|
34
|
+
props: {},
|
|
35
|
+
sampleData: {
|
|
36
|
+
id: 32,
|
|
37
|
+
first_name: 'John',
|
|
38
|
+
last_name: 'Doe',
|
|
39
|
+
username: 'john.doe@skyprep.com',
|
|
40
|
+
card_no: 'Emp. # 3211221',
|
|
41
|
+
created_at: '2021-01-01T12:00:00Z',
|
|
42
|
+
},
|
|
43
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
44
|
+
test(context) {
|
|
45
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
onEnable(context) {
|
|
50
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const { store, auth, propsValue } = context;
|
|
52
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, { store, auth, propsValue });
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
onDisable(context) {
|
|
56
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const { store, auth, propsValue } = context;
|
|
58
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, { store, auth, propsValue });
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
run(context) {
|
|
62
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=new-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-user.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/skyprep/src/lib/triggers/new-user.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,+DAIqC;AACrC,6CAA+C;AAC/C,+DAAyD;AACzD,0DAA0B;AAC1B,yCAA6C;AAE7C,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAA+C,EAAE,oDAA1C,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,IAAI,EACf,YAAY,EACZ;YACE,2BAA2B,EAAE,KAAK;YAClC,wBAAwB,EAAE,IAAI;YAC9B,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK;SACvB,CACF,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACpB,MAAM,CACL,CAAC,IAAS,EAAE,EAAE,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CACnE;aACA,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACnB,iBAAiB,EAAE,IAAA,eAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YACnD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC,CAAC;IACR,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,gCAAa,EAAC;IACnC,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,+CAA+C;IAC5D,KAAK,EAAE,EAAE;IACT,UAAU,EAAE;QACV,EAAE,EAAE,EAAE;QACN,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,sBAAsB;KACnC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,IAAI,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,QAAQ,CAAC,OAAO;;YACpB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC5C,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,SAAS,CAAC,OAAO;;YACrB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC5C,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,GAAG,CAAC,OAAO;;YACf,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;CACF,CAAC,CAAC"}
|