@pipedream/google_slides 0.1.1 → 0.2.0

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.
@@ -0,0 +1,97 @@
1
+ import googleSlides from "../../google_slides.app.mjs";
2
+
3
+ export default {
4
+ key: "google_slides-create-image",
5
+ name: "Create Image",
6
+ description: "Creates an image in a slide. [See the documentation](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request#CreateImageRequest)",
7
+ version: "0.0.1",
8
+ type: "action",
9
+ props: {
10
+ googleSlides,
11
+ presentationId: {
12
+ propDefinition: [
13
+ googleSlides,
14
+ "presentationId",
15
+ ],
16
+ },
17
+ slideId: {
18
+ propDefinition: [
19
+ googleSlides,
20
+ "slideId",
21
+ (c) => ({
22
+ presentationId: c.presentationId,
23
+ }),
24
+ ],
25
+ },
26
+ url: {
27
+ type: "string",
28
+ label: "URL",
29
+ description: "The URL of the image to insert",
30
+ },
31
+ height: {
32
+ type: "integer",
33
+ label: "Height",
34
+ description: "The height of the shape in points (1/72 of an inch)",
35
+ },
36
+ width: {
37
+ type: "integer",
38
+ label: "Width",
39
+ description: "The width of the shape in points (1/72 of an inch)",
40
+ },
41
+ scaleX: {
42
+ type: "integer",
43
+ label: "Scale X",
44
+ description: "The scale of the shape on the x-axis",
45
+ default: 1,
46
+ optional: true,
47
+ },
48
+ scaleY: {
49
+ type: "integer",
50
+ label: "Scale Y",
51
+ description: "The scale of the shape on the y-axis",
52
+ default: 1,
53
+ optional: true,
54
+ },
55
+ translateX: {
56
+ type: "integer",
57
+ label: "Translate X",
58
+ description: "The translation of the shape on the x-axis",
59
+ default: 0,
60
+ optional: true,
61
+ },
62
+ translateY: {
63
+ type: "integer",
64
+ label: "Translate Y",
65
+ description: "The translation of the shape on the y-axis",
66
+ default: 0,
67
+ optional: true,
68
+ },
69
+ },
70
+ async run({ $ }) {
71
+ const response = await this.googleSlides.createImage(this.presentationId, {
72
+ url: this.url,
73
+ elementProperties: {
74
+ pageObjectId: this.slideId,
75
+ size: {
76
+ height: {
77
+ magnitude: this.height,
78
+ unit: "PT",
79
+ },
80
+ width: {
81
+ magnitude: this.width,
82
+ unit: "PT",
83
+ },
84
+ },
85
+ transform: {
86
+ scaleX: this.scaleX,
87
+ scaleY: this.scaleY,
88
+ translateX: this.translateX,
89
+ translateY: this.translateY,
90
+ unit: "PT",
91
+ },
92
+ },
93
+ });
94
+ $.export("$summary", `Successfully created image with ID: ${response.data.replies[0].createImage.objectId}`);
95
+ return response.data;
96
+ },
97
+ };
@@ -0,0 +1,99 @@
1
+ import googleSlides from "../../google_slides.app.mjs";
2
+ import { SHAPE_TYPES } from "../../common/constants.mjs";
3
+
4
+ export default {
5
+ key: "google_slides-create-page-element",
6
+ name: "Create Page Element",
7
+ description: "Create a new page element in a slide. [See the documentation](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request#CreateShapeRequest)",
8
+ version: "0.0.1",
9
+ type: "action",
10
+ props: {
11
+ googleSlides,
12
+ presentationId: {
13
+ propDefinition: [
14
+ googleSlides,
15
+ "presentationId",
16
+ ],
17
+ },
18
+ slideId: {
19
+ propDefinition: [
20
+ googleSlides,
21
+ "slideId",
22
+ (c) => ({
23
+ presentationId: c.presentationId,
24
+ }),
25
+ ],
26
+ },
27
+ type: {
28
+ type: "string",
29
+ label: "Type",
30
+ description: "The type of the shape",
31
+ options: SHAPE_TYPES,
32
+ },
33
+ height: {
34
+ type: "integer",
35
+ label: "Height",
36
+ description: "The height of the shape in points (1/72 of an inch)",
37
+ },
38
+ width: {
39
+ type: "integer",
40
+ label: "Width",
41
+ description: "The width of the shape in points (1/72 of an inch)",
42
+ },
43
+ scaleX: {
44
+ type: "integer",
45
+ label: "Scale X",
46
+ description: "The scale of the shape on the x-axis",
47
+ default: 1,
48
+ optional: true,
49
+ },
50
+ scaleY: {
51
+ type: "integer",
52
+ label: "Scale Y",
53
+ description: "The scale of the shape on the y-axis",
54
+ default: 1,
55
+ optional: true,
56
+ },
57
+ translateX: {
58
+ type: "integer",
59
+ label: "Translate X",
60
+ description: "The translation of the shape on the x-axis",
61
+ default: 0,
62
+ optional: true,
63
+ },
64
+ translateY: {
65
+ type: "integer",
66
+ label: "Translate Y",
67
+ description: "The translation of the shape on the y-axis",
68
+ default: 0,
69
+ optional: true,
70
+ },
71
+ },
72
+ async run({ $ }) {
73
+ const response = await this.googleSlides.createShape(this.presentationId, {
74
+ shapeType: this.type,
75
+ elementProperties: {
76
+ pageObjectId: this.slideId,
77
+ size: {
78
+ height: {
79
+ magnitude: this.height,
80
+ unit: "PT",
81
+ },
82
+ width: {
83
+ magnitude: this.width,
84
+ unit: "PT",
85
+ },
86
+ },
87
+ transform: {
88
+ scaleX: this.scaleX,
89
+ scaleY: this.scaleY,
90
+ translateX: this.translateX,
91
+ translateY: this.translateY,
92
+ unit: "PT",
93
+ },
94
+ },
95
+ });
96
+ $.export("$summary", `Successfully created shape with ID: ${response.data.replies[0].createShape.objectId}`);
97
+ return response.data;
98
+ },
99
+ };
@@ -4,7 +4,7 @@ export default {
4
4
  key: "google_slides-create-presentation",
5
5
  name: "Create Presentation",
6
6
  description: "Create a blank presentation or duplicate an existing presentation. [See the docs here](https://developers.google.com/slides/api/guides/presentations#copy_an_existing_presentation)",
7
- version: "0.0.2",
7
+ version: "0.0.4",
8
8
  type: "action",
9
9
  props: {
10
10
  app,
@@ -0,0 +1,48 @@
1
+ import googleSlides from "../../google_slides.app.mjs";
2
+ import { ConfigurationError } from "@pipedream/platform";
3
+
4
+ export default {
5
+ key: "google_slides-create-slide",
6
+ name: "Create Slide",
7
+ description: "Create a new slide in a presentation. [See the documentation](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request#CreateSlideRequest)",
8
+ version: "0.0.1",
9
+ type: "action",
10
+ props: {
11
+ googleSlides,
12
+ presentationId: {
13
+ propDefinition: [
14
+ googleSlides,
15
+ "presentationId",
16
+ ],
17
+ },
18
+ layoutId: {
19
+ propDefinition: [
20
+ googleSlides,
21
+ "layoutId",
22
+ (c) => ({
23
+ presentationId: c.presentationId,
24
+ }),
25
+ ],
26
+ },
27
+ insertionIndex: {
28
+ type: "integer",
29
+ label: "Insertion Index",
30
+ description: "The optional zero-based index indicating where to insert the slides. If you don't specify an index, the slide is created at the end.",
31
+ optional: true,
32
+ },
33
+ },
34
+ async run({ $ }) {
35
+ try {
36
+ const response = await this.googleSlides.createSlide(this.presentationId, {
37
+ insertionIndex: this.insertionIndex,
38
+ slideLayoutReference: {
39
+ layoutId: this.layoutId,
40
+ },
41
+ });
42
+ $.export("$summary", `Successfully created slide with ID: ${response.data.replies[0].createSlide.objectId}`);
43
+ return response.data;
44
+ } catch (error) {
45
+ throw new ConfigurationError(`Failed to create slide: ${error.message}. Make sure you have permission to edit the presentation.`);
46
+ }
47
+ },
48
+ };
@@ -0,0 +1,42 @@
1
+ import googleSlides from "../../google_slides.app.mjs";
2
+
3
+ export default {
4
+ key: "google_slides-delete-page-element",
5
+ name: "Delete Page Element",
6
+ description: "Deletes a page element from a slide. [See the documentation](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request#DeleteObjectRequest)",
7
+ version: "0.0.1",
8
+ type: "action",
9
+ props: {
10
+ googleSlides,
11
+ presentationId: {
12
+ propDefinition: [
13
+ googleSlides,
14
+ "presentationId",
15
+ ],
16
+ },
17
+ slideId: {
18
+ propDefinition: [
19
+ googleSlides,
20
+ "slideId",
21
+ (c) => ({
22
+ presentationId: c.presentationId,
23
+ }),
24
+ ],
25
+ },
26
+ pageElementId: {
27
+ propDefinition: [
28
+ googleSlides,
29
+ "shapeId",
30
+ (c) => ({
31
+ presentationId: c.presentationId,
32
+ slideId: c.slideId,
33
+ }),
34
+ ],
35
+ },
36
+ },
37
+ async run({ $ }) {
38
+ const response = await this.googleSlides.deleteObject(this.presentationId, this.pageElementId);
39
+ $.export("$summary", `Successfully deleted page element with ID: ${this.pageElementId}`);
40
+ return response.data;
41
+ },
42
+ };
@@ -0,0 +1,32 @@
1
+ import googleSlides from "../../google_slides.app.mjs";
2
+
3
+ export default {
4
+ key: "google_slides-delete-slide",
5
+ name: "Delete Slide",
6
+ description: "Deletes a slide from a presentation. [See the documentation](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request#DeleteObjectRequest)",
7
+ version: "0.0.1",
8
+ type: "action",
9
+ props: {
10
+ googleSlides,
11
+ presentationId: {
12
+ propDefinition: [
13
+ googleSlides,
14
+ "presentationId",
15
+ ],
16
+ },
17
+ slideId: {
18
+ propDefinition: [
19
+ googleSlides,
20
+ "slideId",
21
+ (c) => ({
22
+ presentationId: c.presentationId,
23
+ }),
24
+ ],
25
+ },
26
+ },
27
+ async run({ $ }) {
28
+ const response = await this.googleSlides.deleteObject(this.presentationId, this.slideId);
29
+ $.export("$summary", `Successfully deleted slide with ID: ${this.slideId}`);
30
+ return response.data;
31
+ },
32
+ };
@@ -4,7 +4,7 @@ export default {
4
4
  key: "google_slides-find-presentation",
5
5
  name: "Find a Presentation",
6
6
  description: "Find a presentation on Google Drive. [See the docs here](https://developers.google.com/slides/api/samples/presentation#list_existing_presentation_files)",
7
- version: "0.0.2",
7
+ version: "0.0.4",
8
8
  type: "action",
9
9
  props: {
10
10
  app,
@@ -0,0 +1,58 @@
1
+ import googleSlides from "../../google_slides.app.mjs";
2
+
3
+ export default {
4
+ key: "google_slides-insert-text",
5
+ name: "Insert Text",
6
+ description: "Insert text into a shape. [See the documentation](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request#InsertTextRequest)",
7
+ version: "0.0.1",
8
+ type: "action",
9
+ props: {
10
+ googleSlides,
11
+ presentationId: {
12
+ propDefinition: [
13
+ googleSlides,
14
+ "presentationId",
15
+ ],
16
+ },
17
+ slideId: {
18
+ propDefinition: [
19
+ googleSlides,
20
+ "slideId",
21
+ (c) => ({
22
+ presentationId: c.presentationId,
23
+ }),
24
+ ],
25
+ },
26
+ shapeId: {
27
+ propDefinition: [
28
+ googleSlides,
29
+ "shapeId",
30
+ (c) => ({
31
+ presentationId: c.presentationId,
32
+ slideId: c.slideId,
33
+ textOnly: true,
34
+ }),
35
+ ],
36
+ },
37
+ text: {
38
+ type: "string",
39
+ label: "Text",
40
+ description: "The text to insert",
41
+ },
42
+ insertionIndex: {
43
+ type: "integer",
44
+ label: "Insertion Index",
45
+ description: "The index where the text will be inserted",
46
+ optional: true,
47
+ },
48
+ },
49
+ async run({ $ }) {
50
+ const response = await this.googleSlides.insertText(this.presentationId, {
51
+ objectId: this.shapeId,
52
+ text: this.text,
53
+ insertionIndex: this.insertionIndex,
54
+ });
55
+ $.export("$summary", `Successfully inserted text into shape with ID: ${this.shapeId}`);
56
+ return response.data;
57
+ },
58
+ };
@@ -4,7 +4,7 @@ export default {
4
4
  key: "google_slides-merge-data",
5
5
  name: "Merge Data",
6
6
  description: "Merge data into a presentation. [See the docs here](https://developers.google.com/slides/api/guides/merge)",
7
- version: "0.0.1",
7
+ version: "0.0.3",
8
8
  type: "action",
9
9
  props: {
10
10
  app,
@@ -4,7 +4,7 @@ export default {
4
4
  key: "google_slides-refresh-chart",
5
5
  name: "Refresh a chart",
6
6
  description: "Refresh a chart from Sheets. [See the docs here](https://developers.google.com/slides/api/samples/elements#refresh_a_chart_from_sheets)",
7
- version: "0.0.2",
7
+ version: "0.0.4",
8
8
  type: "action",
9
9
  props: {
10
10
  app,
@@ -0,0 +1,143 @@
1
+ export const SHAPE_TYPES = [
2
+ "TEXT_BOX",
3
+ "RECTANGLE",
4
+ "ROUND_RECTANGLE",
5
+ "ELLIPSE",
6
+ "ARC",
7
+ "BENT_ARROW",
8
+ "BENT_UP_ARROW",
9
+ "BEVEL",
10
+ "BLOCK_ARC",
11
+ "BRACE_PAIR",
12
+ "BRACKET_PAIR",
13
+ "CAN",
14
+ "CHEVRON",
15
+ "CHORD",
16
+ "CLOUD",
17
+ "CORNER",
18
+ "CUBE",
19
+ "CURVED_DOWN_ARROW",
20
+ "CURVED_LEFT_ARROW",
21
+ "CURVED_RIGHT_ARROW",
22
+ "CURVED_UP_ARROW",
23
+ "DECAGON",
24
+ "DIAGONAL_STRIPE",
25
+ "DIAMOND",
26
+ "DODECAGON",
27
+ "DONUT",
28
+ "DOUBLE_WAVE",
29
+ "DOWN_ARROW",
30
+ "DOWN_ARROW_CALLOUT",
31
+ "FOLDED_CORNER",
32
+ "FRAME",
33
+ "HALF_FRAME",
34
+ "HEART",
35
+ "HEPTAGON",
36
+ "HEXAGON",
37
+ "HOME_PLATE",
38
+ "HORIZONTAL_SCROLL",
39
+ "IRREGULAR_SEAL_1",
40
+ "IRREGULAR_SEAL_2",
41
+ "LEFT_ARROW",
42
+ "LEFT_ARROW_CALLOUT",
43
+ "LEFT_BRACE",
44
+ "LEFT_BRACKET",
45
+ "LEFT_RIGHT_ARROW",
46
+ "LEFT_RIGHT_ARROW_CALLOUT",
47
+ "LEFT_RIGHT_UP_ARROW",
48
+ "LEFT_UP_ARROW",
49
+ "LIGHTNING_BOLT",
50
+ "MATH_DIVIDE",
51
+ "MATH_EQUAL",
52
+ "MATH_MINUS",
53
+ "MATH_MULTIPLY",
54
+ "MATH_NOT_EQUAL",
55
+ "MATH_PLUS",
56
+ "MOON",
57
+ "NO_SMOKING",
58
+ "NOTCHED_RIGHT_ARROW",
59
+ "OCTAGON",
60
+ "PARALLELOGRAM",
61
+ "PENTAGON",
62
+ "PIE",
63
+ "PLAQUE",
64
+ "PLUS",
65
+ "QUAD_ARROW",
66
+ "QUAD_ARROW_CALLOUT",
67
+ "RIBBON",
68
+ "RIBBON_2",
69
+ "RIGHT_ARROW",
70
+ "RIGHT_ARROW_CALLOUT",
71
+ "RIGHT_BRACE",
72
+ "RIGHT_BRACKET",
73
+ "ROUND_1_RECTANGLE",
74
+ "ROUND_2_DIAGONAL_RECTANGLE",
75
+ "ROUND_2_SAME_RECTANGLE",
76
+ "RIGHT_TRIANGLE",
77
+ "SMILEY_FACE",
78
+ "SNIP_1_RECTANGLE",
79
+ "SNIP_2_DIAGONAL_RECTANGLE",
80
+ "SNIP_2_SAME_RECTANGLE",
81
+ "SNIP_ROUND_RECTANGLE",
82
+ "STAR_10",
83
+ "STAR_12",
84
+ "STAR_16",
85
+ "STAR_24",
86
+ "STAR_32",
87
+ "STAR_4",
88
+ "STAR_5",
89
+ "STAR_6",
90
+ "STAR_7",
91
+ "STAR_8",
92
+ "STRIPED_RIGHT_ARROW",
93
+ "SUN",
94
+ "TRAPEZOID",
95
+ "TRIANGLE",
96
+ "UP_ARROW",
97
+ "UP_ARROW_CALLOUT",
98
+ "UP_DOWN_ARROW",
99
+ "UTURN_ARROW",
100
+ "VERTICAL_SCROLL",
101
+ "WAVE",
102
+ "WEDGE_ELLIPSE_CALLOUT",
103
+ "WEDGE_RECTANGLE_CALLOUT",
104
+ "WEDGE_ROUND_RECTANGLE_CALLOUT",
105
+ "FLOW_CHART_ALTERNATE_PROCESS",
106
+ "FLOW_CHART_COLLATE",
107
+ "FLOW_CHART_CONNECTOR",
108
+ "FLOW_CHART_DECISION",
109
+ "FLOW_CHART_DELAY",
110
+ "FLOW_CHART_DISPLAY",
111
+ "FLOW_CHART_DOCUMENT",
112
+ "FLOW_CHART_EXTRACT",
113
+ "FLOW_CHART_INPUT_OUTPUT",
114
+ "FLOW_CHART_INTERNAL_STORAGE",
115
+ "FLOW_CHART_MAGNETIC_DISK",
116
+ "FLOW_CHART_MAGNETIC_DRUM",
117
+ "FLOW_CHART_MAGNETIC_TAPE",
118
+ "FLOW_CHART_MANUAL_INPUT",
119
+ "FLOW_CHART_MANUAL_OPERATION",
120
+ "FLOW_CHART_MERGE",
121
+ "FLOW_CHART_MULTIDOCUMENT",
122
+ "FLOW_CHART_OFFLINE_STORAGE",
123
+ "FLOW_CHART_OFFPAGE_CONNECTOR",
124
+ "FLOW_CHART_ONLINE_STORAGE",
125
+ "FLOW_CHART_OR",
126
+ "FLOW_CHART_PREDEFINED_PROCESS",
127
+ "FLOW_CHART_PREPARATION",
128
+ "FLOW_CHART_PROCESS",
129
+ "FLOW_CHART_PUNCHED_CARD",
130
+ "FLOW_CHART_PUNCHED_TAPE",
131
+ "FLOW_CHART_SORT",
132
+ "FLOW_CHART_SUMMING_JUNCTION",
133
+ "FLOW_CHART_TERMINATOR",
134
+ "ARROW_EAST",
135
+ "ARROW_NORTH_EAST",
136
+ "ARROW_NORTH",
137
+ "SPEECH",
138
+ "STARBURST",
139
+ "TEARDROP",
140
+ "ELLIPSE_RIBBON",
141
+ "ELLIPSE_RIBBON_2",
142
+ "CLOUD_CALLOUT",
143
+ ];
@@ -1,5 +1,5 @@
1
1
  import slides from "@googleapis/slides";
2
- import googleDrive from "../google_drive/google_drive.app.mjs";
2
+ import googleDrive from "@pipedream/google_drive";
3
3
 
4
4
  export default {
5
5
  ...googleDrive,
@@ -19,6 +19,49 @@ export default {
19
19
  return this.listPresentationsOptions(driveId, nextPageToken);
20
20
  },
21
21
  },
22
+ layoutId: {
23
+ type: "string",
24
+ label: "Layout ID",
25
+ description: "The ID of a slide layout",
26
+ optional: true,
27
+ async options({ presentationId }) {
28
+ const { layouts } = await this.getPresentation(presentationId);
29
+ return layouts.map((layout) => ({
30
+ label: layout.layoutProperties.name,
31
+ value: layout.objectId,
32
+ }));
33
+ },
34
+ },
35
+ slideId: {
36
+ type: "string",
37
+ label: "Slide ID",
38
+ description: "The ID of a slide",
39
+ async options({ presentationId }) {
40
+ const { slides } = await this.getPresentation(presentationId);
41
+ return slides.map((slide) => ({
42
+ label: slide.slideProperties.layoutObjectId,
43
+ value: slide.objectId,
44
+ }));
45
+ },
46
+ },
47
+ shapeId: {
48
+ type: "string",
49
+ label: "Shape ID",
50
+ description: "The ID of a shape",
51
+ async options({
52
+ presentationId, slideId, textOnly = false,
53
+ }) {
54
+ const { pageElements } = await this.getSlide(presentationId, slideId);
55
+ let shapes = pageElements;
56
+ if (textOnly) {
57
+ shapes = shapes.filter((element) => element?.shape?.shapeType === "TEXT_BOX");
58
+ }
59
+ return shapes.map((element) => ({
60
+ label: element.shape?.placeholder?.type || element?.shape?.shapeType || element.objectId,
61
+ value: element.objectId,
62
+ }));
63
+ },
64
+ },
22
65
  },
23
66
  methods: {
24
67
  ...googleDrive.methods,
@@ -32,8 +75,16 @@ export default {
32
75
  auth,
33
76
  });
34
77
  },
35
- refreshChart(presentationId, chartId) {
78
+ batchUpdate(presentationId, requests) {
36
79
  const slides = this.slides();
80
+ return slides.presentations.batchUpdate({
81
+ presentationId,
82
+ requestBody: {
83
+ requests,
84
+ },
85
+ });
86
+ },
87
+ refreshChart(presentationId, chartId) {
37
88
  const requests = [
38
89
  {
39
90
  refreshSheetsChart: {
@@ -41,12 +92,57 @@ export default {
41
92
  },
42
93
  },
43
94
  ];
44
- return slides.presentations.batchUpdate({
45
- presentationId,
46
- requestBody: {
47
- requests,
95
+ return this.batchUpdate(presentationId, requests);
96
+ },
97
+ createSlide(presentationId, data) {
98
+ const requests = [
99
+ {
100
+ createSlide: {
101
+ ...data,
102
+ },
48
103
  },
49
- });
104
+ ];
105
+ return this.batchUpdate(presentationId, requests);
106
+ },
107
+ createShape(presentationId, data) {
108
+ const requests = [
109
+ {
110
+ createShape: {
111
+ ...data,
112
+ },
113
+ },
114
+ ];
115
+ return this.batchUpdate(presentationId, requests);
116
+ },
117
+ insertText(presentationId, data) {
118
+ const requests = [
119
+ {
120
+ insertText: {
121
+ ...data,
122
+ },
123
+ },
124
+ ];
125
+ return this.batchUpdate(presentationId, requests);
126
+ },
127
+ createImage(presentationId, data) {
128
+ const requests = [
129
+ {
130
+ createImage: {
131
+ ...data,
132
+ },
133
+ },
134
+ ];
135
+ return this.batchUpdate(presentationId, requests);
136
+ },
137
+ deleteObject(presentationId, objectId) {
138
+ const requests = [
139
+ {
140
+ deleteObject: {
141
+ objectId,
142
+ },
143
+ },
144
+ ];
145
+ return this.batchUpdate(presentationId, requests);
50
146
  },
51
147
  async createPresentation(title) {
52
148
  const slides = this.slides();
@@ -79,6 +175,14 @@ export default {
79
175
  };
80
176
  return (await slides.presentations.get(request)).data;
81
177
  },
178
+ async getSlide(presentationId, slideId) {
179
+ const slides = this.slides();
180
+ const request = {
181
+ presentationId,
182
+ pageObjectId: slideId,
183
+ };
184
+ return (await slides.presentations.pages.get(request)).data;
185
+ },
82
186
  async copyPresentation(fileId, name) {
83
187
  const drive = this.drive();
84
188
  const resource = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipedream/google_slides",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Pipedream Google Slides Components",
5
5
  "main": "google_slides.app.mjs",
6
6
  "keywords": [
@@ -10,10 +10,10 @@
10
10
  "homepage": "https://pipedream.com/apps/google_slides",
11
11
  "author": "Pipedream <support@pipedream.com> (https://pipedream.com/)",
12
12
  "dependencies": {
13
- "@googleapis/slides": "^0.7.1",
14
13
  "@googleapis/drive": "^2.3.0",
15
- "@pipedream/platform": "^0.9.0",
16
- "axios": "^0.21.1",
14
+ "@googleapis/slides": "^0.7.1",
15
+ "@pipedream/google_drive": "^1.0.3",
16
+ "@pipedream/platform": "^3.1.0",
17
17
  "mime-db": "^1.51.0",
18
18
  "uuid": "^8.3.2"
19
19
  },
@@ -6,7 +6,7 @@ export default {
6
6
  type: "source",
7
7
  name: "New Presentation (Instant)",
8
8
  description: "Emit new event each time a new presentation is created in a drive.",
9
- version: "0.0.3",
9
+ version: "0.0.4",
10
10
  hooks: {
11
11
  ...newFilesInstant.hooks,
12
12
  async deploy() {