operand-meta-sdk 1.2.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.
Files changed (113) hide show
  1. package/.eslintrc.js +25 -0
  2. package/.prettierrc +4 -0
  3. package/README.md +435 -0
  4. package/dist/jest.config.d.ts +3 -0
  5. package/dist/jest.config.js +14 -0
  6. package/dist/jest.config.js.map +1 -0
  7. package/dist/src/__test__/mocks/index.d.ts +2 -0
  8. package/dist/src/__test__/mocks/index.js +6 -0
  9. package/dist/src/__test__/mocks/index.js.map +1 -0
  10. package/dist/src/error/operand-error.d.ts +8 -0
  11. package/dist/src/error/operand-error.js +196 -0
  12. package/dist/src/error/operand-error.js.map +1 -0
  13. package/dist/src/index.d.ts +10 -0
  14. package/dist/src/index.js +22 -0
  15. package/dist/src/index.js.map +1 -0
  16. package/dist/src/interfaces/ing-publish.d.ts +53 -0
  17. package/dist/src/interfaces/ing-publish.js +3 -0
  18. package/dist/src/interfaces/ing-publish.js.map +1 -0
  19. package/dist/src/interfaces/meta-auth.d.ts +14 -0
  20. package/dist/src/interfaces/meta-auth.js +3 -0
  21. package/dist/src/interfaces/meta-auth.js.map +1 -0
  22. package/dist/src/interfaces/meta-mkt.d.ts +4 -0
  23. package/dist/src/interfaces/meta-mkt.js +3 -0
  24. package/dist/src/interfaces/meta-mkt.js.map +1 -0
  25. package/dist/src/interfaces/meta-response.d.ts +285 -0
  26. package/dist/src/interfaces/meta-response.js +3 -0
  27. package/dist/src/interfaces/meta-response.js.map +1 -0
  28. package/dist/src/interfaces/meta.d.ts +6 -0
  29. package/dist/src/interfaces/meta.js +3 -0
  30. package/dist/src/interfaces/meta.js.map +1 -0
  31. package/dist/src/interfaces/page-publish.d.ts +66 -0
  32. package/dist/src/interfaces/page-publish.js +3 -0
  33. package/dist/src/interfaces/page-publish.js.map +1 -0
  34. package/dist/src/modules/auth/meta-auth.d.ts +35 -0
  35. package/dist/src/modules/auth/meta-auth.js +131 -0
  36. package/dist/src/modules/auth/meta-auth.js.map +1 -0
  37. package/dist/src/modules/auth/meta-auth.spec.d.ts +1 -0
  38. package/dist/src/modules/auth/meta-auth.spec.js +76 -0
  39. package/dist/src/modules/auth/meta-auth.spec.js.map +1 -0
  40. package/dist/src/modules/comments/ing-comments.d.ts +7 -0
  41. package/dist/src/modules/comments/ing-comments.js +27 -0
  42. package/dist/src/modules/comments/ing-comments.js.map +1 -0
  43. package/dist/src/modules/comments/page-comments.d.ts +6 -0
  44. package/dist/src/modules/comments/page-comments.js +18 -0
  45. package/dist/src/modules/comments/page-comments.js.map +1 -0
  46. package/dist/src/modules/insights/ing-insights.d.ts +42 -0
  47. package/dist/src/modules/insights/ing-insights.js +150 -0
  48. package/dist/src/modules/insights/ing-insights.js.map +1 -0
  49. package/dist/src/modules/insights/mkt-insights.d.ts +10 -0
  50. package/dist/src/modules/insights/mkt-insights.js +46 -0
  51. package/dist/src/modules/insights/mkt-insights.js.map +1 -0
  52. package/dist/src/modules/insights/page-insights.d.ts +34 -0
  53. package/dist/src/modules/insights/page-insights.js +146 -0
  54. package/dist/src/modules/insights/page-insights.js.map +1 -0
  55. package/dist/src/modules/meta-ing.d.ts +5 -0
  56. package/dist/src/modules/meta-ing.js +11 -0
  57. package/dist/src/modules/meta-ing.js.map +1 -0
  58. package/dist/src/modules/meta-mkt.d.ts +5 -0
  59. package/dist/src/modules/meta-mkt.js +11 -0
  60. package/dist/src/modules/meta-mkt.js.map +1 -0
  61. package/dist/src/modules/meta-page.d.ts +5 -0
  62. package/dist/src/modules/meta-page.js +11 -0
  63. package/dist/src/modules/meta-page.js.map +1 -0
  64. package/dist/src/modules/meta.d.ts +10 -0
  65. package/dist/src/modules/meta.js +23 -0
  66. package/dist/src/modules/meta.js.map +1 -0
  67. package/dist/src/modules/publish/ing-publish.d.ts +39 -0
  68. package/dist/src/modules/publish/ing-publish.js +464 -0
  69. package/dist/src/modules/publish/ing-publish.js.map +1 -0
  70. package/dist/src/modules/publish/page-publish.d.ts +51 -0
  71. package/dist/src/modules/publish/page-publish.js +560 -0
  72. package/dist/src/modules/publish/page-publish.js.map +1 -0
  73. package/dist/src/modules/publish/page-publish.spec.d.ts +1 -0
  74. package/dist/src/modules/publish/page-publish.spec.js +280 -0
  75. package/dist/src/modules/publish/page-publish.spec.js.map +1 -0
  76. package/dist/src/modules/utils/meta-utils.d.ts +8 -0
  77. package/dist/src/modules/utils/meta-utils.js +28 -0
  78. package/dist/src/modules/utils/meta-utils.js.map +1 -0
  79. package/dist/src/utils/api.d.ts +8 -0
  80. package/dist/src/utils/api.js +36 -0
  81. package/dist/src/utils/api.js.map +1 -0
  82. package/dist/tsconfig.tsbuildinfo +1 -0
  83. package/jest.config.ts +198 -0
  84. package/package.json +39 -0
  85. package/src/__test__/mocks/image.jpeg +0 -0
  86. package/src/__test__/mocks/index.ts +5 -0
  87. package/src/__test__/mocks/video-to-post.mp4 +0 -0
  88. package/src/__test__/mocks/video-to-stories.mp4 +0 -0
  89. package/src/error/operand-error.ts +217 -0
  90. package/src/index.ts +21 -0
  91. package/src/interfaces/ing-publish.ts +58 -0
  92. package/src/interfaces/meta-auth.ts +52 -0
  93. package/src/interfaces/meta-mkt.ts +5 -0
  94. package/src/interfaces/meta-response.ts +319 -0
  95. package/src/interfaces/meta.ts +7 -0
  96. package/src/interfaces/page-publish.ts +72 -0
  97. package/src/modules/auth/meta-auth.spec.ts +93 -0
  98. package/src/modules/auth/meta-auth.ts +227 -0
  99. package/src/modules/comments/ing-comments.ts +38 -0
  100. package/src/modules/comments/page-comments.ts +20 -0
  101. package/src/modules/insights/ing-insights.ts +275 -0
  102. package/src/modules/insights/mkt-insights.ts +68 -0
  103. package/src/modules/insights/page-insights.ts +267 -0
  104. package/src/modules/meta-ing.ts +8 -0
  105. package/src/modules/meta-mkt.ts +8 -0
  106. package/src/modules/meta-page.ts +8 -0
  107. package/src/modules/meta.ts +31 -0
  108. package/src/modules/publish/ing-publish.ts +754 -0
  109. package/src/modules/publish/page-publish.spec.ts +386 -0
  110. package/src/modules/publish/page-publish.ts +881 -0
  111. package/src/modules/utils/meta-utils.ts +37 -0
  112. package/src/utils/api.ts +45 -0
  113. package/tsconfig.json +22 -0
@@ -0,0 +1,464 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IngPublish = void 0;
4
+ const operand_error_1 = require("../../error/operand-error");
5
+ const FileType = require("file-type");
6
+ const fs = require("node:fs");
7
+ const meta_utils_1 = require("../utils/meta-utils");
8
+ const path = require("node:path");
9
+ const ffmpeg = require("fluent-ffmpeg");
10
+ class IngPublish extends meta_utils_1.MetaUtils {
11
+ constructor({ apiVersion, ingId, pageAccessToken, typeToken, }) {
12
+ super({
13
+ apiVersion,
14
+ pageAccessToken,
15
+ isInstagramApi: typeToken === "ig",
16
+ });
17
+ this.verifyStatusCodeContainerVideoDownload = async (id) => {
18
+ var _a;
19
+ let statusCodeContainer = 1;
20
+ while (statusCodeContainer === 1) {
21
+ const response = await this.api.get(`/${id}`, {
22
+ params: {
23
+ access_token: this.pageAccessToken,
24
+ fields: "status_code",
25
+ },
26
+ });
27
+ const status = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.status_code;
28
+ if (status === "IN_PROGRESS") {
29
+ await new Promise((resolve) => setTimeout(resolve, 10000));
30
+ continue;
31
+ }
32
+ if (status === "ERROR") {
33
+ throw new operand_error_1.OperandError({
34
+ message: "Media with problems",
35
+ });
36
+ }
37
+ if (status === "FINISHED") {
38
+ statusCodeContainer = 0;
39
+ await new Promise((resolve) => setTimeout(resolve, 5000));
40
+ break;
41
+ }
42
+ }
43
+ };
44
+ this.verifyVideoSize = async (value, isBuffer) => {
45
+ if (isBuffer) {
46
+ return value.length / 1024 / 1024 / 1024 <= 1;
47
+ }
48
+ const status = await fs.promises.stat(value);
49
+ return status.size / 1024 / 1024 / 1024 <= 1;
50
+ };
51
+ this.savePhotoInMetaContainerByUrl = async ({ to, value: url, isCarouselItem, caption, coverUrl, thumbOffset, collaborators, userTags, }) => {
52
+ const response = await fetch(url);
53
+ const arrayBuffer = await response.arrayBuffer();
54
+ const fileType = await FileType.fromBuffer(arrayBuffer);
55
+ if (!fileType) {
56
+ throw new operand_error_1.OperandError({
57
+ message: "Impossible to get the file type of file.",
58
+ });
59
+ }
60
+ if (!this.fileTypesPermitted("photo", fileType.ext)) {
61
+ throw new operand_error_1.OperandError({
62
+ message: "This file type is not permitted. File types permitted: jpeg, jpg, png, gif, bmp, tiff, webp",
63
+ });
64
+ }
65
+ if (!(await this.verifyPhotoSize(Buffer.from(arrayBuffer), true))) {
66
+ throw new operand_error_1.OperandError({
67
+ message: "The photo must be less or equal to 8MB.",
68
+ });
69
+ }
70
+ const containerId = (await this.api.post(`${this.ingId}/media`, undefined, {
71
+ params: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ image_url: url }, (isCarouselItem ? { is_carousel_item: true } : {})), (to === "REELS" ? { media_type: "REELS" } : {})), (to === "STORIES" ? { media_type: "STORIES" } : {})), { access_token: this.pageAccessToken }), (caption ? { caption } : {})), (coverUrl ? { cover_url: coverUrl } : {})), (thumbOffset ? { thumb_offset: thumbOffset } : {})), (userTags ? { user_tags: JSON.stringify(userTags) } : {})), (collaborators
72
+ ? { collaborators: JSON.stringify(collaborators) }
73
+ : {})),
74
+ })).data.id;
75
+ await this.verifyStatusCodeContainerVideoDownload(containerId);
76
+ return containerId;
77
+ };
78
+ this.saveVideoInMetaContainerByUrl = async ({ to, value: url, caption, isCarouselItem, coverUrl, thumbOffset, collaborators, userTags, }) => {
79
+ const response = await fetch(url);
80
+ const arrayBuffer = await response.arrayBuffer();
81
+ const fileType = await FileType.fromBuffer(arrayBuffer);
82
+ if (!fileType) {
83
+ throw new operand_error_1.OperandError({
84
+ message: "Impossible to get the file type of file.",
85
+ });
86
+ }
87
+ if (!this.fileTypesPermitted("video", fileType.ext)) {
88
+ throw new operand_error_1.OperandError({
89
+ message: "Invalid file type. File types permitted: mp4, avi, flv, mkv, mov, mpeg, wmv",
90
+ });
91
+ }
92
+ if (!(await this.verifyVideoSize(Buffer.from(arrayBuffer), true))) {
93
+ throw new operand_error_1.OperandError({
94
+ message: "The video must be less or equal to 1GB.",
95
+ });
96
+ }
97
+ const containerId = (await this.api.post(`${this.ingId}/media`, undefined, {
98
+ params: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ video_url: url, access_token: this.pageAccessToken }, (isCarouselItem ? { is_carousel_item: true } : {})), (to === "STORIES" ? { media_type: "STORIES" } : { media_type: "REELS" })), (caption ? { caption } : {})), (coverUrl ? { cover_url: coverUrl } : {})), (thumbOffset ? { thumb_offset: thumbOffset } : {})), (userTags ? { user_tags: JSON.stringify(userTags) } : {})), (collaborators
99
+ ? { collaborators: JSON.stringify(collaborators) }
100
+ : {})),
101
+ })).data.id;
102
+ await this.verifyStatusCodeContainerVideoDownload(containerId);
103
+ return containerId;
104
+ };
105
+ this.saveVideoInMetaContainerByPath = async ({ to, value: path, caption, isCarouselItem, coverUrl, thumbOffset, collaborators, userTags, }) => {
106
+ const arrayBuffer = await fs.promises.readFile(path);
107
+ const fileType = await FileType.fromBuffer(arrayBuffer);
108
+ if (!fileType) {
109
+ throw new operand_error_1.OperandError({
110
+ message: "Impossible to get the file type of file.",
111
+ });
112
+ }
113
+ if (!this.fileTypesPermitted("video", fileType.ext)) {
114
+ throw new operand_error_1.OperandError({
115
+ message: "Invalid file type. File types permitted: mp4, avi, flv, mkv, mov, mpeg, wmv",
116
+ });
117
+ }
118
+ if (!(await this.verifyVideoSize(path, false))) {
119
+ throw new operand_error_1.OperandError({
120
+ message: "The video must be less or equal to 1GB.",
121
+ });
122
+ }
123
+ const { data: { id, uri }, } = await this.api.post(`${this.ingId}/media`, undefined, {
124
+ params: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (isCarouselItem ? { is_carousel_item: true } : {})), (to === "STORIES" ? { media_type: "STORIES" } : { media_type: "REELS" })), { upload_type: "resumable", access_token: this.pageAccessToken }), (caption ? { caption } : {})), (coverUrl ? { cover_url: coverUrl } : {})), (thumbOffset ? { thumb_offset: thumbOffset } : {})), (userTags ? { user_tags: JSON.stringify(userTags) } : {})), (collaborators
125
+ ? { collaborators: JSON.stringify(collaborators) }
126
+ : {})),
127
+ });
128
+ const sessionStart = await fetch(uri, {
129
+ method: "POST",
130
+ headers: {
131
+ Authorization: `OAuth ${this.pageAccessToken}`,
132
+ offset: "0",
133
+ file_size: String(arrayBuffer.byteLength),
134
+ },
135
+ body: arrayBuffer,
136
+ });
137
+ if (sessionStart.status !== 200) {
138
+ throw new operand_error_1.OperandError({
139
+ message: "Error on upload video",
140
+ });
141
+ }
142
+ await this.verifyStatusCodeContainerVideoDownload(id);
143
+ return id;
144
+ };
145
+ this.uploadPhotos = async (photos) => {
146
+ try {
147
+ const medias = [];
148
+ for (const photo of photos) {
149
+ medias.push(await this.savePhotoInMetaContainerByUrl({
150
+ value: photo.value,
151
+ to: "FEED",
152
+ isCarouselItem: true,
153
+ }));
154
+ }
155
+ return medias;
156
+ }
157
+ catch (error) {
158
+ throw new operand_error_1.OperandError({
159
+ message: "Error when upload photos",
160
+ error,
161
+ });
162
+ }
163
+ };
164
+ this.uploadVideos = async (videos) => {
165
+ try {
166
+ const medias = [];
167
+ for (const video of videos) {
168
+ const data = {
169
+ to: "FEED",
170
+ value: video.value,
171
+ isCarouselItem: true,
172
+ };
173
+ medias.push(video.source === "url"
174
+ ? await this.saveVideoInMetaContainerByUrl(data)
175
+ : await this.saveVideoInMetaContainerByPath(data));
176
+ }
177
+ return medias;
178
+ }
179
+ catch (error) {
180
+ throw new operand_error_1.OperandError({
181
+ message: "Error when upload videos",
182
+ error,
183
+ });
184
+ }
185
+ };
186
+ this.createUniquePost = async (post) => {
187
+ try {
188
+ const { medias, caption, coverUrl, thumbOffset, collaborators, userTags, } = post;
189
+ const mediaType = coverUrl ? "REELS" : "FEED";
190
+ const containerId = medias[0].mediaType === "photo"
191
+ ? await this.savePhotoInMetaContainerByUrl({
192
+ value: medias[0].value,
193
+ to: mediaType,
194
+ caption,
195
+ coverUrl,
196
+ thumbOffset,
197
+ collaborators,
198
+ userTags,
199
+ })
200
+ : medias[0].source === "url"
201
+ ? await this.saveVideoInMetaContainerByUrl({
202
+ to: mediaType,
203
+ value: medias[0].value,
204
+ caption,
205
+ coverUrl,
206
+ thumbOffset,
207
+ collaborators,
208
+ userTags,
209
+ })
210
+ : await this.saveVideoInMetaContainerByPath({
211
+ to: mediaType,
212
+ value: medias[0].value,
213
+ caption,
214
+ coverUrl,
215
+ thumbOffset,
216
+ collaborators,
217
+ userTags,
218
+ });
219
+ await this.verifyStatusCodeContainerVideoDownload(containerId);
220
+ return (await this.api.post(`/${this.ingId}/media_publish`, undefined, {
221
+ params: {
222
+ creation_id: containerId,
223
+ access_token: this.pageAccessToken,
224
+ },
225
+ })).data.id;
226
+ }
227
+ catch (error) {
228
+ throw new operand_error_1.OperandError({
229
+ message: "Error when upload create unique post",
230
+ error,
231
+ });
232
+ }
233
+ };
234
+ this.createCarrouselPost = async (post) => {
235
+ try {
236
+ const { caption, medias } = post;
237
+ const photoIds = await this.uploadPhotos(medias.filter((m) => m.mediaType === "photo"));
238
+ const videoIds = await this.uploadVideos(medias.filter((m) => m.mediaType === "video"));
239
+ const media = [...photoIds, ...videoIds];
240
+ const creationId = (await this.api.post(`${this.ingId}/media`, undefined, {
241
+ params: {
242
+ access_token: this.pageAccessToken,
243
+ caption,
244
+ children: media.join(","),
245
+ media_type: "CAROUSEL",
246
+ },
247
+ })).data.id;
248
+ await this.verifyStatusCodeContainerVideoDownload(creationId);
249
+ return (await this.api.post(`${this.ingId}/media_publish`, undefined, {
250
+ params: {
251
+ creation_id: creationId,
252
+ access_token: this.pageAccessToken,
253
+ },
254
+ })).data.id;
255
+ }
256
+ catch (error) {
257
+ throw new operand_error_1.OperandError({
258
+ message: "Error when upload create carrousel post",
259
+ error,
260
+ });
261
+ }
262
+ };
263
+ this.ingId = ingId;
264
+ }
265
+ fileTypesPermitted(file, type) {
266
+ return file === "photo"
267
+ ? ["jpeg", "jpg", "png", "gif", "bmp", "tiff", "webp"].includes(type)
268
+ : ["mp4", "avi", "flv", "mkv", "mov", "mpeg", "wmv"].includes(type);
269
+ }
270
+ static async verifyVideoSpec(videoSource, ext, to) {
271
+ let tempFilePath = "";
272
+ const isBuffer = videoSource instanceof Buffer;
273
+ if (isBuffer) {
274
+ tempFilePath = path.resolve(__dirname, "..", "..", "temp", `${Date.now()}.${ext}`);
275
+ await fs.promises.writeFile(tempFilePath, videoSource);
276
+ }
277
+ else {
278
+ tempFilePath = videoSource;
279
+ }
280
+ const videoSpecResponse = await new Promise((resolve, reject) => {
281
+ ffmpeg.ffprobe(tempFilePath, (err, metadata) => {
282
+ var _a, _b, _c;
283
+ if (err) {
284
+ reject(err);
285
+ }
286
+ const stream = metadata.streams.find((s) => s.width && s.height);
287
+ const width = stream === null || stream === void 0 ? void 0 : stream.width;
288
+ const height = stream === null || stream === void 0 ? void 0 : stream.height;
289
+ const fpsString = stream === null || stream === void 0 ? void 0 : stream.avg_frame_rate;
290
+ const fps = fpsString ? eval(fpsString) : 0;
291
+ const ratio = width / height;
292
+ const size = metadata.format.size;
293
+ const duration = metadata.format.duration;
294
+ const isStories = to === "stories";
295
+ const validFps = fps && fps >= 23 && fps <= 60;
296
+ if (!validFps) {
297
+ resolve({
298
+ success: false,
299
+ error: `Invalid fps. The video must have between 23 and 60 fps. The current fps is ${fps}.`,
300
+ });
301
+ }
302
+ const validSize = size < 1024 * 1024 * 1024;
303
+ if (!validSize) {
304
+ resolve({
305
+ success: false,
306
+ error: `Invalid size. The video must be a maximum of 10 gigabytes.`,
307
+ });
308
+ }
309
+ const validDuration = isStories ? duration <= 60 : duration <= 900;
310
+ if (!validDuration) {
311
+ resolve({
312
+ success: false,
313
+ error: `Invalid duration. The video must be a maximum of ${isStories ? "60 seconds" : "900 minutes"}.`,
314
+ });
315
+ }
316
+ const videoStream = metadata.streams.find((s) => s.codec_type === "video");
317
+ const audioStream = metadata.streams.find((s) => s.codec_type === "audio");
318
+ const validVideoCodec = ["h264", "hevc"].includes((_a = videoStream === null || videoStream === void 0 ? void 0 : videoStream.codec_name) !== null && _a !== void 0 ? _a : "");
319
+ const validAudioCodec = ["aac"].includes((_b = audioStream === null || audioStream === void 0 ? void 0 : audioStream.codec_name) !== null && _b !== void 0 ? _b : "");
320
+ if (!validVideoCodec) {
321
+ resolve({
322
+ success: false,
323
+ error: `Invalid codecs. The video must have the following video codecs: h264, hevc, vp9, av1`,
324
+ });
325
+ }
326
+ if (!validAudioCodec) {
327
+ resolve({
328
+ success: false,
329
+ error: `Invalid codecs. The video must be have aac audio codec`,
330
+ });
331
+ }
332
+ const videoChecks = {
333
+ chromaSubsampling: (videoStream === null || videoStream === void 0 ? void 0 : videoStream.pix_fmt) === "yuv420p",
334
+ fixedFrameRate: (videoStream === null || videoStream === void 0 ? void 0 : videoStream.avg_frame_rate) === (videoStream === null || videoStream === void 0 ? void 0 : videoStream.r_frame_rate),
335
+ progressive: (videoStream === null || videoStream === void 0 ? void 0 : videoStream.field_order) === "progressive" ||
336
+ videoStream.progressive === "1" ||
337
+ videoStream.progressive === true ||
338
+ (!videoStream.interlaced &&
339
+ !videoStream.top_field_first &&
340
+ !videoStream.bottom_field_first) ||
341
+ videoStream.interlaced === "0" ||
342
+ videoStream.interlaced === false,
343
+ ratio: ratio <= 0.5625,
344
+ };
345
+ const audioChecks = {
346
+ bitrate: parseInt((_c = audioStream === null || audioStream === void 0 ? void 0 : audioStream.bit_rate) !== null && _c !== void 0 ? _c : "0") >= 128000,
347
+ channels: (audioStream === null || audioStream === void 0 ? void 0 : audioStream.channels) === 2,
348
+ sampleRate: (audioStream === null || audioStream === void 0 ? void 0 : audioStream.sample_rate) === 48000,
349
+ };
350
+ resolve({
351
+ success: true,
352
+ warn: { videoChecks, audioChecks },
353
+ });
354
+ resolve({
355
+ success: true,
356
+ });
357
+ });
358
+ });
359
+ if (isBuffer)
360
+ await fs.promises.unlink(tempFilePath);
361
+ return videoSpecResponse;
362
+ }
363
+ async verifyPhotoSize(value, isBuffer) {
364
+ if (isBuffer) {
365
+ return value.length / 1024 / 1024 <= 8;
366
+ }
367
+ const status = await fs.promises.stat(value);
368
+ return status.size / 1024 / 1024 <= 8;
369
+ }
370
+ async createPost(post) {
371
+ await this.createTempFolder();
372
+ const { medias } = post;
373
+ if (medias.length === 0) {
374
+ throw new operand_error_1.OperandError({
375
+ message: "Medias is required",
376
+ });
377
+ }
378
+ if (medias.length > 10) {
379
+ throw new operand_error_1.OperandError({
380
+ message: "Medias must be less than or equal to 10",
381
+ });
382
+ }
383
+ if (medias.length === 1) {
384
+ return this.createUniquePost(post);
385
+ }
386
+ return this.createCarrouselPost(post);
387
+ }
388
+ async createPhotoStory(photo) {
389
+ try {
390
+ const photoId = await this.savePhotoInMetaContainerByUrl({
391
+ value: photo.value,
392
+ to: "STORIES",
393
+ userTags: photo.userTags,
394
+ });
395
+ await this.verifyStatusCodeContainerVideoDownload(photoId);
396
+ return (await this.api.post(`${this.ingId}/media_publish`, undefined, {
397
+ params: {
398
+ creation_id: photoId,
399
+ access_token: this.pageAccessToken,
400
+ },
401
+ })).data.id;
402
+ }
403
+ catch (error) {
404
+ throw new operand_error_1.OperandError({
405
+ message: "Error in create photo stories",
406
+ error,
407
+ });
408
+ }
409
+ }
410
+ async createVideoStory(video) {
411
+ try {
412
+ const data = {
413
+ to: "STORIES",
414
+ value: video.value,
415
+ userTags: video.userTags,
416
+ };
417
+ const videoId = video.source === "url"
418
+ ? await this.saveVideoInMetaContainerByUrl(data)
419
+ : await this.saveVideoInMetaContainerByPath(data);
420
+ await this.verifyStatusCodeContainerVideoDownload(videoId);
421
+ return (await this.api.post(`${this.ingId}/media_publish`, undefined, {
422
+ params: {
423
+ creation_id: videoId,
424
+ access_token: this.pageAccessToken,
425
+ },
426
+ })).data.id;
427
+ }
428
+ catch (error) {
429
+ throw new operand_error_1.OperandError({
430
+ message: "Error in create video stories",
431
+ error,
432
+ });
433
+ }
434
+ }
435
+ async createStories(media) {
436
+ await this.createTempFolder();
437
+ if (!media) {
438
+ throw new operand_error_1.OperandError({
439
+ message: "Media is required",
440
+ });
441
+ }
442
+ if (media.mediaType === "photo")
443
+ return this.createPhotoStory(media);
444
+ return this.createVideoStory(media);
445
+ }
446
+ async getLinkPost(id) {
447
+ try {
448
+ return (await this.api.get(`${id}`, {
449
+ params: {
450
+ fields: "permalink",
451
+ access_token: this.pageAccessToken,
452
+ },
453
+ })).data.permalink;
454
+ }
455
+ catch (error) {
456
+ throw new operand_error_1.OperandError({
457
+ message: "Error in get link post",
458
+ error,
459
+ });
460
+ }
461
+ }
462
+ }
463
+ exports.IngPublish = IngPublish;
464
+ //# sourceMappingURL=ing-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ing-publish.js","sourceRoot":"","sources":["../../../../src/modules/publish/ing-publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { ConstructorPage, CreatePost, CreateReels, CreateStories, IPagePublish, SetThumbnailToReels } from "../../interfaces/page-publish";
2
+ import { PagePost } from "../../interfaces/meta-response";
3
+ import { MetaUtils } from "../utils/meta-utils";
4
+ export declare class PagePublish extends MetaUtils implements IPagePublish {
5
+ protected readonly pageId: string;
6
+ constructor({ pageAccessToken, pageId, apiVersion }: ConstructorPage);
7
+ protected isValidUrl(url: string): boolean;
8
+ private fileTypesPermitted;
9
+ static verifyVideoSpec(videoSource: Buffer | string, ext: string, to: "reels" | "post" | "stories"): Promise<{
10
+ success: boolean;
11
+ warn?: {
12
+ videoChecks: {
13
+ chromaSubsampling: boolean;
14
+ fixedFrameRate: boolean;
15
+ progressive: boolean;
16
+ };
17
+ audioChecks: {
18
+ bitrate: boolean;
19
+ channels: boolean;
20
+ sampleRate: boolean;
21
+ };
22
+ };
23
+ error?: string;
24
+ }>;
25
+ private verifyPhotoSize;
26
+ private validatePublishDate;
27
+ private savePhotoInMetaStorageByUrl;
28
+ private savePhotoInMetaStorageByPath;
29
+ private saveVideoInMetaStorageMomentaryByUrl;
30
+ private saveVideoInMetaStorageMomentaryByPath;
31
+ getAllPosts(): Promise<PagePost[]>;
32
+ getPostUrlById(postId: string): string;
33
+ private uploadPhotos;
34
+ private createTextPost;
35
+ private createPhotosPost;
36
+ private createVideoPost;
37
+ createPost(post: CreatePost): Promise<string>;
38
+ updatePost(postId: string, message: string): Promise<boolean>;
39
+ deletePost(postId: string): Promise<boolean>;
40
+ private createPhotoStory;
41
+ private createVideoStory;
42
+ createStories(story: CreateStories): Promise<string>;
43
+ createReels(reel: CreateReels): Promise<{
44
+ postId: string;
45
+ videoId: string;
46
+ }>;
47
+ setThumbnailToReels({ source, value, videoId, }: SetThumbnailToReels): Promise<{
48
+ success: boolean;
49
+ }>;
50
+ getLinkStories(id: string): Promise<string>;
51
+ }