@activepieces/piece-microsoft-sharepoint 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 ADDED
@@ -0,0 +1,7 @@
1
+ # pieces-microsoft-sharepoint
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build pieces-microsoft-sharepoint` to build the library.
package/package.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@activepieces/piece-microsoft-sharepoint",
3
+ "version": "0.0.1",
4
+ "dependencies": {
5
+ "@microsoft/microsoft-graph-client": "3.0.7",
6
+ "@microsoft/microsoft-graph-types": "2.40.0",
7
+ "@sinclair/typebox": "0.26.8",
8
+ "axios": "1.6.7",
9
+ "dayjs": "1.11.9",
10
+ "is-base64": "1.1.0",
11
+ "lodash": "4.17.21",
12
+ "nanoid": "3.3.6",
13
+ "semver": "7.6.0",
14
+ "@activepieces/pieces-common": "0.2.12",
15
+ "@activepieces/pieces-framework": "0.7.28",
16
+ "@activepieces/shared": "0.10.98",
17
+ "tslib": "1.14.1"
18
+ },
19
+ "main": "./src/index.js",
20
+ "type": "commonjs"
21
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const microsoftSharePointAuth: import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>;
2
+ export declare const microsoftSharePoint: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
package/src/index.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.microsoftSharePoint = exports.microsoftSharePointAuth = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ const shared_1 = require("@activepieces/shared");
6
+ const create_folder_1 = require("./lib/actions/create-folder");
7
+ const create_list_1 = require("./lib/actions/create-list");
8
+ const create_list_item_1 = require("./lib/actions/create-list-item");
9
+ const update_list_item_1 = require("./lib/actions/update-list-item");
10
+ const delete_list_item_1 = require("./lib/actions/delete-list-item");
11
+ const search_list_item_1 = require("./lib/actions/search-list-item");
12
+ const pieces_common_1 = require("@activepieces/pieces-common");
13
+ exports.microsoftSharePointAuth = pieces_framework_1.PieceAuth.OAuth2({
14
+ description: 'Authentication for Microsoft SharePoint',
15
+ authUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',
16
+ tokenUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',
17
+ required: true,
18
+ scope: [
19
+ 'openid',
20
+ 'email',
21
+ 'profile',
22
+ 'offline_access',
23
+ 'Sites.Manage.All',
24
+ 'Files.ReadWrite',
25
+ ],
26
+ });
27
+ exports.microsoftSharePoint = (0, pieces_framework_1.createPiece)({
28
+ displayName: 'Microsoft SharePoint',
29
+ auth: exports.microsoftSharePointAuth,
30
+ minimumSupportedRelease: '0.20.0',
31
+ logoUrl: 'https://cdn.activepieces.com/pieces/microsoft-sharepoint.png',
32
+ categories: [shared_1.PieceCategory.CONTENT_AND_FILES],
33
+ authors: ['kishanprmr'],
34
+ actions: [
35
+ create_folder_1.createFolderAction,
36
+ create_list_1.createListAction,
37
+ create_list_item_1.createListItemAction,
38
+ update_list_item_1.updateListItemAction,
39
+ delete_list_item_1.deleteListItemAction,
40
+ search_list_item_1.findListItemAction,
41
+ (0, pieces_common_1.createCustomApiCallAction)({
42
+ auth: exports.microsoftSharePointAuth,
43
+ baseUrl: () => 'https://graph.microsoft.com/v1.0/sites',
44
+ authMapping: (auth) => ({
45
+ Authorization: `Bearer ${auth.access_token}`,
46
+ }),
47
+ }),
48
+ ],
49
+ triggers: [],
50
+ });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/microsoft-sharepoint/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAIwC;AACxC,iDAAqD;AACrD,+DAAiE;AACjE,2DAA6D;AAC7D,qEAAsE;AACtE,qEAAsE;AACtE,qEAAsE;AACtE,qEAAoE;AACpE,+DAAwE;AAE3D,QAAA,uBAAuB,GAAG,4BAAS,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,yCAAyC;IACtD,OAAO,EAAE,gEAAgE;IACzE,QAAQ,EAAE,4DAA4D;IACtE,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,QAAQ;QACR,OAAO;QACP,SAAS;QACT,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;KAClB;CACF,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,IAAA,8BAAW,EAAC;IAC7C,WAAW,EAAE,sBAAsB;IACnC,IAAI,EAAE,+BAAuB;IAC7B,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,8DAA8D;IACvE,UAAU,EAAE,CAAC,sBAAa,CAAC,iBAAiB,CAAC;IAC7C,OAAO,EAAE,CAAC,YAAY,CAAC;IACvB,OAAO,EAAE;QACP,kCAAkB;QAClB,8BAAgB;QAChB,uCAAoB;QACpB,uCAAoB;QACpB,uCAAoB;QACpB,qCAAkB;QAClB,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,+BAAuB;YAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,wCAAwC;YACvD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtB,aAAa,EAAE,UAAW,IAA4B,CAAC,YAAY,EAAE;aACtE,CAAC;SACH,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const createFolderAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ driveId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ parentFolder: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ folderName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
+ }>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFolderAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../../");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
9
+ exports.createFolderAction = (0, pieces_framework_1.createAction)({
10
+ auth: __1.microsoftSharePointAuth,
11
+ name: 'microsoft_sharepoint_create_folder',
12
+ displayName: 'Create Folder',
13
+ description: 'Creates a new folder at path you specify.',
14
+ props: {
15
+ siteId: common_1.microsoftSharePointCommon.siteId,
16
+ driveId: common_1.microsoftSharePointCommon.driveId,
17
+ parentFolder: pieces_framework_1.Property.ShortText({
18
+ displayName: 'Parent Folder',
19
+ description: `Parent folder,like "/demo/" or "/docs/assignment/".Leave it default if you want to create folder at the root (**/**) level.`,
20
+ required: true,
21
+ defaultValue: '/',
22
+ }),
23
+ folderName: pieces_framework_1.Property.ShortText({
24
+ displayName: 'Folder Name',
25
+ required: true,
26
+ }),
27
+ },
28
+ run(context) {
29
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
+ const { driveId, parentFolder, folderName } = context.propsValue;
31
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
32
+ authProvider: {
33
+ getAccessToken: () => Promise.resolve(context.auth.access_token),
34
+ },
35
+ });
36
+ const folderPath = parentFolder + folderName;
37
+ // https://stackoverflow.com/questions/66631136/creating-nested-folder-in-sharepoint-with-graph-api-fails
38
+ return yield client.api(`/drives/${driveId}/root:${folderPath}`).patch({
39
+ folder: {},
40
+ });
41
+ });
42
+ },
43
+ });
44
+ //# sourceMappingURL=create-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/actions/create-folder.ts"],"names":[],"mappings":";;;;AAAA,8BAAiD;AACjD,qEAAwE;AACxE,sCAAsD;AACtD,8EAA2D;AAE9C,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC9C,IAAI,EAAE,2BAAuB;IAC7B,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,2CAA2C;IACxD,KAAK,EAAE;QACN,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,OAAO,EAAE,kCAAyB,CAAC,OAAO;QAC1C,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,6HAA6H;YAC1I,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,GAAG;SACjB,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEjE,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;iBAChE;aACD,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;YAE7C,yGAAyG;YACzG,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,OAAO,SAAS,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;gBACtE,MAAM,EAAE,EAAE;aACV,CAAC,CAAC;QACJ,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const createListItemAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ listId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ listColumns: import("@activepieces/pieces-framework").DynamicProperties<true>;
5
+ }>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createListItemAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../../");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
9
+ exports.createListItemAction = (0, pieces_framework_1.createAction)({
10
+ auth: __1.microsoftSharePointAuth,
11
+ name: 'microsoft_sharepoint_create_list_item',
12
+ displayName: 'Create List Item',
13
+ description: 'Creates a new item in a list.',
14
+ props: {
15
+ siteId: common_1.microsoftSharePointCommon.siteId,
16
+ listId: common_1.microsoftSharePointCommon.listId,
17
+ listColumns: common_1.microsoftSharePointCommon.listColumns,
18
+ },
19
+ run(context) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const { siteId, listId, listColumns } = context.propsValue;
22
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
23
+ authProvider: {
24
+ getAccessToken: () => Promise.resolve(context.auth.access_token),
25
+ },
26
+ });
27
+ const fieldWithArrayValues = {};
28
+ Object.entries(listColumns).forEach(([key, value]) => {
29
+ // https://learn.microsoft.com/en-us/answers/questions/1517379/upload-multiple-choice-fields-item-in-sharepoint-w
30
+ if (Array.isArray(value)) {
31
+ fieldWithArrayValues[`${key}@odata.type`] = 'Collection(Edm.String)';
32
+ }
33
+ });
34
+ const itemInput = {
35
+ fields: Object.assign(Object.assign({}, listColumns), fieldWithArrayValues),
36
+ };
37
+ return yield client.api(`/sites/${siteId}/lists/${listId}/items`).post(itemInput);
38
+ });
39
+ },
40
+ });
41
+ //# sourceMappingURL=create-list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-list-item.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/actions/create-list-item.ts"],"names":[],"mappings":";;;;AAAA,8BAAiD;AACjD,qEAA8D;AAC9D,sCAAsD;AACtD,8EAA2D;AAE9C,QAAA,oBAAoB,GAAG,IAAA,+BAAY,EAAC;IAChD,IAAI,EAAE,2BAAuB;IAC7B,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE;QACN,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,WAAW,EAAE,kCAAyB,CAAC,WAAW;KAClD;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE3D,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;iBAChE;aACD,CAAC,CAAC;YACH,MAAM,oBAAoB,GAA2B,EAAE,CAAC;YAExD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpD,iHAAiH;gBACjH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,oBAAoB,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,wBAAwB,CAAC;gBACtE,CAAC;YACF,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG;gBACjB,MAAM,kCAAO,WAAW,GAAK,oBAAoB,CAAE;aACnD,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,UAAU,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const createListAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ displayName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ description: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ }>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createListAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../../");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
9
+ exports.createListAction = (0, pieces_framework_1.createAction)({
10
+ auth: __1.microsoftSharePointAuth,
11
+ name: 'microsoft_sharepoint_create_list',
12
+ displayName: 'Create List',
13
+ description: 'Creates a new list.',
14
+ props: {
15
+ siteId: common_1.microsoftSharePointCommon.siteId,
16
+ displayName: pieces_framework_1.Property.ShortText({
17
+ displayName: 'List Name',
18
+ required: true,
19
+ }),
20
+ description: pieces_framework_1.Property.ShortText({
21
+ displayName: 'List Description',
22
+ required: true,
23
+ }),
24
+ },
25
+ run(context) {
26
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
+ const { siteId, displayName, description } = context.propsValue;
28
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
29
+ authProvider: {
30
+ getAccessToken: () => Promise.resolve(context.auth.access_token),
31
+ },
32
+ });
33
+ const listInput = {
34
+ displayName,
35
+ description,
36
+ };
37
+ return yield client.api(`/sites/${siteId}/lists`).post(listInput);
38
+ });
39
+ },
40
+ });
41
+ //# sourceMappingURL=create-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-list.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/actions/create-list.ts"],"names":[],"mappings":";;;;AAAA,8BAAiD;AACjD,qEAAwE;AACxE,sCAAsD;AACtD,8EAA2D;AAG9C,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC5C,IAAI,EAAE,2BAAuB;IAC7B,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,qBAAqB;IAClC,KAAK,EAAE;QACN,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEhE,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;iBAChE;aACD,CAAC,CAAC;YAEH,MAAM,SAAS,GAAS;gBACvB,WAAW;gBACX,WAAW;aACX,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const deleteListItemAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ listId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ listItemId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ }>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteListItemAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../../");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
9
+ exports.deleteListItemAction = (0, pieces_framework_1.createAction)({
10
+ auth: __1.microsoftSharePointAuth,
11
+ name: 'microsoft_sharepoint_delete_list_item',
12
+ displayName: 'Delete List Item',
13
+ description: 'Deletes an existing item from a list.',
14
+ props: {
15
+ siteId: common_1.microsoftSharePointCommon.siteId,
16
+ listId: common_1.microsoftSharePointCommon.listId,
17
+ listItemId: common_1.microsoftSharePointCommon.listItemId,
18
+ },
19
+ run(context) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const { siteId, listId, listItemId } = context.propsValue;
22
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
23
+ authProvider: {
24
+ getAccessToken: () => Promise.resolve(context.auth.access_token),
25
+ },
26
+ });
27
+ return yield client.api(`/sites/${siteId}/lists/${listId}/items/${listItemId}`).delete();
28
+ });
29
+ },
30
+ });
31
+ //# sourceMappingURL=delete-list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-list-item.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/actions/delete-list-item.ts"],"names":[],"mappings":";;;;AAAA,8BAAiD;AACjD,qEAA8D;AAC9D,sCAAsD;AACtD,8EAA2D;AAE9C,QAAA,oBAAoB,GAAG,IAAA,+BAAY,EAAC;IAChD,IAAI,EAAE,2BAAuB;IAC7B,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE;QACN,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,UAAU,EAAE,kCAAyB,CAAC,UAAU;KAChD;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE1D,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;iBAChE;aACD,CAAC,CAAC;YAEH,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,UAAU,MAAM,UAAU,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1F,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const findListItemAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ listId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ searchValue: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ }>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findListItemAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../../");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
9
+ exports.findListItemAction = (0, pieces_framework_1.createAction)({
10
+ auth: __1.microsoftSharePointAuth,
11
+ name: 'microsoft_sharepoint_search_list_item',
12
+ displayName: 'Find List Item',
13
+ description: 'Finds a item in a list based on name.',
14
+ props: {
15
+ siteId: common_1.microsoftSharePointCommon.siteId,
16
+ listId: common_1.microsoftSharePointCommon.listId,
17
+ searchValue: pieces_framework_1.Property.ShortText({
18
+ displayName: 'Title',
19
+ description: 'Item title to serach',
20
+ required: true,
21
+ }),
22
+ },
23
+ run(context) {
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ const { siteId, listId, searchValue } = context.propsValue;
26
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
27
+ authProvider: {
28
+ getAccessToken: () => Promise.resolve(context.auth.access_token),
29
+ },
30
+ });
31
+ // Escaping single quotes
32
+ const title = searchValue.replaceAll("'", "''");
33
+ return yield client
34
+ .api(`/sites/${siteId}/lists/${listId}/items?$expand=fields&filter=fields/Title eq '${title}'`)
35
+ .headers({ Prefer: 'HonorNonIndexedQueriesWarningMayFailRandomly' })
36
+ .get();
37
+ });
38
+ },
39
+ });
40
+ //# sourceMappingURL=search-list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-list-item.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/actions/search-list-item.ts"],"names":[],"mappings":";;;;AAAA,8BAAiD;AACjD,qEAAwE;AACxE,sCAAsD;AACtD,8EAA2D;AAE9C,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC9C,IAAI,EAAE,2BAAuB;IAC7B,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE;QACN,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACd,CAAC;KACF;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE3D,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;iBAChE;aACD,CAAC,CAAC;YAEH,yBAAyB;YACzB,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,MAAM,MAAM;iBACjB,GAAG,CACH,UAAU,MAAM,UAAU,MAAM,iDAAiD,KAAK,GAAG,CACzF;iBACA,OAAO,CAAC,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;iBACnE,GAAG,EAAE,CAAC;QACT,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const updateListItemAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ listId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ listItemId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ listColumns: import("@activepieces/pieces-framework").DynamicProperties<true>;
6
+ }>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateListItemAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __1 = require("../../");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const common_1 = require("../common");
8
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
9
+ exports.updateListItemAction = (0, pieces_framework_1.createAction)({
10
+ auth: __1.microsoftSharePointAuth,
11
+ name: 'microsoft_sharepoint_update_list_item',
12
+ displayName: 'Update List Item',
13
+ description: 'Updates an existing item in a list.',
14
+ props: {
15
+ siteId: common_1.microsoftSharePointCommon.siteId,
16
+ listId: common_1.microsoftSharePointCommon.listId,
17
+ listItemId: common_1.microsoftSharePointCommon.listItemId,
18
+ listColumns: common_1.microsoftSharePointCommon.listColumns,
19
+ },
20
+ run(context) {
21
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ const { siteId, listId, listItemId, listColumns } = context.propsValue;
23
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
24
+ authProvider: {
25
+ getAccessToken: () => Promise.resolve(context.auth.access_token),
26
+ },
27
+ });
28
+ const fieldWithArrayValues = {};
29
+ Object.entries(listColumns).forEach(([key, value]) => {
30
+ // https://learn.microsoft.com/en-us/answers/questions/1517379/upload-multiple-choice-fields-item-in-sharepoint-w
31
+ if (Array.isArray(value)) {
32
+ fieldWithArrayValues[`${key}@odata.type`] = 'Collection(Edm.String)';
33
+ }
34
+ });
35
+ const itemInput = Object.assign(Object.assign({}, listColumns), fieldWithArrayValues);
36
+ return yield client
37
+ .api(`/sites/${siteId}/lists/${listId}/items/${listItemId}/fields`)
38
+ .patch(itemInput);
39
+ });
40
+ },
41
+ });
42
+ //# sourceMappingURL=update-list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-list-item.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/actions/update-list-item.ts"],"names":[],"mappings":";;;;AAAA,8BAAiD;AACjD,qEAA8D;AAC9D,sCAAsD;AACtD,8EAA2D;AAE9C,QAAA,oBAAoB,GAAG,IAAA,+BAAY,EAAC;IAChD,IAAI,EAAE,2BAAuB;IAC7B,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,qCAAqC;IAClD,KAAK,EAAE;QACN,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,MAAM,EAAE,kCAAyB,CAAC,MAAM;QACxC,UAAU,EAAE,kCAAyB,CAAC,UAAU;QAChD,WAAW,EAAE,kCAAyB,CAAC,WAAW;KAClD;IACK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEvE,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;iBAChE;aACD,CAAC,CAAC;YACH,MAAM,oBAAoB,GAA2B,EAAE,CAAC;YAExD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpD,iHAAiH;gBACjH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,oBAAoB,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,wBAAwB,CAAC;gBACtE,CAAC;YACF,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,mCAAQ,WAAW,GAAK,oBAAoB,CAAE,CAAC;YAE9D,OAAO,MAAM,MAAM;iBACjB,GAAG,CAAC,UAAU,MAAM,UAAU,MAAM,UAAU,UAAU,SAAS,CAAC;iBAClE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;KAAA;CACD,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const microsoftSharePointCommon: {
2
+ siteId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ driveId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
+ listId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
5
+ listColumns: import("@activepieces/pieces-framework").DynamicProperties<true>;
6
+ listItemId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
7
+ };
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.microsoftSharePointCommon = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
7
+ exports.microsoftSharePointCommon = {
8
+ siteId: pieces_framework_1.Property.Dropdown({
9
+ displayName: 'Site ID',
10
+ required: true,
11
+ refreshers: [],
12
+ options: ({ auth }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
13
+ if (!auth) {
14
+ return {
15
+ disabled: true,
16
+ placeholder: 'Please connect your account first.',
17
+ options: [],
18
+ };
19
+ }
20
+ const authValue = auth;
21
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
22
+ authProvider: {
23
+ getAccessToken: () => Promise.resolve(authValue.access_token),
24
+ },
25
+ });
26
+ const options = [];
27
+ // https://sharepoint.stackexchange.com/questions/238094/how-could-i-get-all-root-level-sites-excluding-sub-site-using-microsoft-graph
28
+ let response = yield client
29
+ .api('/sites?search=*&$select=displayName,id,name')
30
+ // .search('*')
31
+ // .select('id,name,displayName,webUrl')
32
+ .get();
33
+ while (response.value.length > 0) {
34
+ for (const site of response.value) {
35
+ options.push({ label: site.displayName, value: site.id });
36
+ }
37
+ if (response['@odata.nextLink']) {
38
+ response = yield client.api(response['@odata.nextLink']).get();
39
+ }
40
+ else {
41
+ break;
42
+ }
43
+ }
44
+ return {
45
+ disabled: false,
46
+ options,
47
+ };
48
+ }),
49
+ }),
50
+ driveId: pieces_framework_1.Property.Dropdown({
51
+ displayName: 'Drive ID',
52
+ required: true,
53
+ refreshers: ['siteId'],
54
+ options: ({ auth, siteId }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
55
+ if (!auth || !siteId) {
56
+ return {
57
+ disabled: true,
58
+ placeholder: 'Please connect your account first and select site.',
59
+ options: [],
60
+ };
61
+ }
62
+ const authValue = auth;
63
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
64
+ authProvider: {
65
+ getAccessToken: () => Promise.resolve(authValue.access_token),
66
+ },
67
+ });
68
+ const options = [];
69
+ let response = yield client
70
+ .api(`/sites/${siteId}/drives`)
71
+ .select('id,name')
72
+ .get();
73
+ while (response.value.length > 0) {
74
+ for (const drive of response.value) {
75
+ options.push({ label: drive.name, value: drive.id });
76
+ }
77
+ if (response['@odata.nextLink']) {
78
+ response = yield client.api(response['@odata.nextLink']).get();
79
+ }
80
+ else {
81
+ break;
82
+ }
83
+ }
84
+ return {
85
+ disabled: false,
86
+ options,
87
+ };
88
+ }),
89
+ }),
90
+ listId: pieces_framework_1.Property.Dropdown({
91
+ displayName: 'List ID',
92
+ required: true,
93
+ refreshers: ['siteId'],
94
+ options: ({ auth, siteId }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
95
+ if (!auth || !siteId) {
96
+ return {
97
+ disabled: true,
98
+ placeholder: 'Please connect your account first and select site.',
99
+ options: [],
100
+ };
101
+ }
102
+ const authValue = auth;
103
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
104
+ authProvider: {
105
+ getAccessToken: () => Promise.resolve(authValue.access_token),
106
+ },
107
+ });
108
+ const options = [];
109
+ let response = yield client
110
+ .api(`/sites/${siteId}/lists`)
111
+ .select('displayName,id')
112
+ .get();
113
+ while (response.value.length > 0) {
114
+ for (const list of response.value) {
115
+ options.push({ label: list.displayName, value: list.id });
116
+ }
117
+ if (response['@odata.nextLink']) {
118
+ response = yield client.api(response['@odata.nextLink']).get();
119
+ }
120
+ else {
121
+ break;
122
+ }
123
+ }
124
+ return {
125
+ disabled: false,
126
+ options,
127
+ };
128
+ }),
129
+ }),
130
+ listColumns: pieces_framework_1.Property.DynamicProperties({
131
+ displayName: 'List Columns',
132
+ refreshers: ['siteId', 'listId'],
133
+ required: true,
134
+ props: ({ auth, siteId, listId }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
135
+ var _a, _b, _c;
136
+ if (!auth || !siteId || !listId)
137
+ return {};
138
+ const fields = {};
139
+ const authValue = auth;
140
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
141
+ authProvider: {
142
+ getAccessToken: () => Promise.resolve(authValue.access_token),
143
+ },
144
+ });
145
+ const columns = [];
146
+ let response = yield client
147
+ .api(`/sites/${siteId}/lists/${listId}/columns`)
148
+ .get();
149
+ while (response.value.length > 0) {
150
+ for (const column of response.value) {
151
+ if (!column.readOnly) {
152
+ columns.push(column);
153
+ }
154
+ }
155
+ if (response['@odata.nextLink']) {
156
+ response = yield client.api(response['@odata.nextLink']).get();
157
+ }
158
+ else {
159
+ break;
160
+ }
161
+ }
162
+ for (const column of columns) {
163
+ const params = {
164
+ displayName: column.displayName,
165
+ description: (_a = column.description) !== null && _a !== void 0 ? _a : '',
166
+ required: false,
167
+ };
168
+ if (column.boolean) {
169
+ fields[column.name] = pieces_framework_1.Property.Checkbox(params);
170
+ }
171
+ else if (column.text) {
172
+ fields[column.name] = pieces_framework_1.Property.LongText(params);
173
+ }
174
+ else if (column.dateTime) {
175
+ fields[column.name] = pieces_framework_1.Property.DateTime(params);
176
+ }
177
+ else if (column.choice) {
178
+ if (column.choice.displayAs === 'checkBoxes') {
179
+ fields[column.name] = pieces_framework_1.Property.StaticMultiSelectDropdown(Object.assign(Object.assign({}, params), { options: {
180
+ disabled: false,
181
+ options: ((_b = column.choice) === null || _b === void 0 ? void 0 : _b.choices)
182
+ ? column.choice.choices.map((choice) => ({
183
+ label: choice,
184
+ value: choice,
185
+ }))
186
+ : [],
187
+ } }));
188
+ }
189
+ else {
190
+ fields[column.name] = pieces_framework_1.Property.StaticDropdown(Object.assign(Object.assign({}, params), { options: {
191
+ disabled: false,
192
+ options: ((_c = column.choice) === null || _c === void 0 ? void 0 : _c.choices)
193
+ ? column.choice.choices.map((choice) => ({
194
+ label: choice,
195
+ value: choice,
196
+ }))
197
+ : [],
198
+ } }));
199
+ }
200
+ }
201
+ else if (column.number) {
202
+ fields[column.name] = pieces_framework_1.Property.Number(params);
203
+ }
204
+ else if (column.currency) {
205
+ fields[column.name] = pieces_framework_1.Property.Number(params);
206
+ }
207
+ }
208
+ return fields;
209
+ }),
210
+ }),
211
+ listItemId: pieces_framework_1.Property.Dropdown({
212
+ displayName: 'List Item ID',
213
+ required: true,
214
+ refreshers: ['siteId', 'listId'],
215
+ options: ({ auth, siteId, listId }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
216
+ var _d;
217
+ if (!auth || !siteId || !listId) {
218
+ return {
219
+ disabled: true,
220
+ placeholder: 'Please connect your account first and select site.',
221
+ options: [],
222
+ };
223
+ }
224
+ const authValue = auth;
225
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
226
+ authProvider: {
227
+ getAccessToken: () => Promise.resolve(authValue.access_token),
228
+ },
229
+ });
230
+ const options = [];
231
+ let response = yield client
232
+ .api(`/sites/${siteId}/lists/${listId}/items?$select=id&$expand=fields($select=Title)`)
233
+ .get();
234
+ while (response.value.length > 0) {
235
+ for (const item of response.value) {
236
+ options.push({
237
+ label: (_d = item.fields.Title) !== null && _d !== void 0 ? _d : `Item ${item.id}`,
238
+ value: item.id,
239
+ });
240
+ }
241
+ if (response['@odata.nextLink']) {
242
+ response = yield client.api(response['@odata.nextLink']).get();
243
+ }
244
+ else {
245
+ break;
246
+ }
247
+ }
248
+ return {
249
+ disabled: false,
250
+ options,
251
+ };
252
+ }),
253
+ }),
254
+ };
255
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/common/index.ts"],"names":[],"mappings":";;;;AACA,qEAKwC;AACxC,8EAA2E;AAG9D,QAAA,yBAAyB,GAAG;IACxC,MAAM,EAAE,2BAAQ,CAAC,QAAQ,CAAC;QACzB,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,CAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO;oBACN,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,oCAAoC;oBACjD,OAAO,EAAE,EAAE;iBACX,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAA4D,CAAC;YAE/E,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC7D;aACD,CAAC,CAAC;YAEH,MAAM,OAAO,GAA6B,EAAE,CAAC;YAE7C,sIAAsI;YACtI,IAAI,QAAQ,GAAmB,MAAM,MAAM;iBACzC,GAAG,CAAC,6CAA6C,CAAC;gBACnD,eAAe;gBACf,wCAAwC;iBACvC,GAAG,EAAE,CAAC;YAER,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAe,EAAE,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAY,EAAE,KAAK,EAAE,IAAI,CAAC,EAAG,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO;gBACN,QAAQ,EAAE,KAAK;gBACf,OAAO;aACP,CAAC;QACH,CAAC,CAAA;KACD,CAAC;IACF,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;QAC1B,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,CAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO;oBACN,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,oDAAoD;oBACjE,OAAO,EAAE,EAAE;iBACX,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAA4D,CAAC;YAE/E,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC7D;aACD,CAAC,CAAC;YAEH,MAAM,OAAO,GAA6B,EAAE,CAAC;YAE7C,IAAI,QAAQ,GAAmB,MAAM,MAAM;iBACzC,GAAG,CAAC,UAAU,MAAM,SAAS,CAAC;iBAC9B,MAAM,CAAC,SAAS,CAAC;iBACjB,GAAG,EAAE,CAAC;YAER,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAgB,EAAE,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAG,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO;gBACN,QAAQ,EAAE,KAAK;gBACf,OAAO;aACP,CAAC;QACH,CAAC,CAAA;KACD,CAAC;IACF,MAAM,EAAE,2BAAQ,CAAC,QAAQ,CAAC;QACzB,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,CAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO;oBACN,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,oDAAoD;oBACjE,OAAO,EAAE,EAAE;iBACX,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAA4D,CAAC;YAE/E,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC7D;aACD,CAAC,CAAC;YAEH,MAAM,OAAO,GAA6B,EAAE,CAAC;YAE7C,IAAI,QAAQ,GAAmB,MAAM,MAAM;iBACzC,GAAG,CAAC,UAAU,MAAM,QAAQ,CAAC;iBAC7B,MAAM,CAAC,gBAAgB,CAAC;iBACxB,GAAG,EAAE,CAAC;YAER,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAe,EAAE,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAY,EAAE,KAAK,EAAE,IAAI,CAAC,EAAG,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO;gBACN,QAAQ,EAAE,KAAK;gBACf,OAAO;aACP,CAAC;QACH,CAAC,CAAA;KACD,CAAC;IACF,WAAW,EAAE,2BAAQ,CAAC,iBAAiB,CAAC;QACvC,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;;YACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAE3C,MAAM,MAAM,GAAsB,EAAE,CAAC;YAErC,MAAM,SAAS,GAAG,IAA4D,CAAC;YAE/E,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC7D;aACD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAuB,EAAE,CAAC;YAEvC,IAAI,QAAQ,GAAmB,MAAM,MAAM;iBACzC,GAAG,CAAC,UAAU,MAAM,UAAU,MAAM,UAAU,CAAC;iBAC/C,GAAG,EAAE,CAAC;YAER,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAA2B,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,CAAC;gBACF,CAAC;gBACD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM;gBACP,CAAC;YACF,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG;oBACd,WAAW,EAAE,MAAM,CAAC,WAAY;oBAChC,WAAW,EAAE,MAAA,MAAM,CAAC,WAAW,mCAAI,EAAE;oBACrC,QAAQ,EAAE,KAAK;iBACf,CAAC;gBACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;wBAC9C,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,yBAAyB,iCACrD,MAAM,KACT,OAAO,EAAE;gCACR,QAAQ,EAAE,KAAK;gCACf,OAAO,EAAE,CAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,OAAO;oCAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;wCAC/C,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,MAAM;qCACZ,CAAC,CAAC;oCACL,CAAC,CAAC,EAAE;6BACL,IACA,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,cAAc,iCAC1C,MAAM,KACT,OAAO,EAAE;gCACR,QAAQ,EAAE,KAAK;gCACf,OAAO,EAAE,CAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,OAAO;oCAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;wCAC/C,KAAK,EAAE,MAAM;wCACb,KAAK,EAAE,MAAM;qCACZ,CAAC,CAAC;oCACL,CAAC,CAAC,EAAE;6BACL,IACA,CAAC;oBACJ,CAAC;gBACF,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1B,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,2BAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC;YACF,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC,CAAA;KACD,CAAC;IACF,UAAU,EAAE,2BAAQ,CAAC,QAAQ,CAAC;QAC7B,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,OAAO,EAAE,CAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;;YAC3C,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO;oBACN,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,oDAAoD;oBACjE,OAAO,EAAE,EAAE;iBACX,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAA4D,CAAC;YAE/E,MAAM,MAAM,GAAG,+BAAM,CAAC,kBAAkB,CAAC;gBACxC,YAAY,EAAE;oBACb,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC7D;aACD,CAAC,CAAC;YAEH,MAAM,OAAO,GAA6B,EAAE,CAAC;YAE7C,IAAI,QAAQ,GAAmB,MAAM,MAAM;iBACzC,GAAG,CAAC,UAAU,MAAM,UAAU,MAAM,iDAAiD,CAAC;iBACtF,GAAG,EAAE,CAAC;YAER,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAmB,EAAE,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,MAAC,IAAI,CAAC,MAAc,CAAC,KAAK,mCAAI,QAAQ,IAAI,CAAC,EAAE,EAAE;wBACtD,KAAK,EAAE,IAAI,CAAC,EAAG;qBACf,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO;gBACN,QAAQ,EAAE,KAAK;gBACf,OAAO;aACP,CAAC;QACH,CAAC,CAAA;KACD,CAAC;CACF,CAAC"}