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.
- package/.eslintrc.js +25 -0
- package/.prettierrc +4 -0
- package/README.md +435 -0
- package/dist/jest.config.d.ts +3 -0
- package/dist/jest.config.js +14 -0
- package/dist/jest.config.js.map +1 -0
- package/dist/src/__test__/mocks/index.d.ts +2 -0
- package/dist/src/__test__/mocks/index.js +6 -0
- package/dist/src/__test__/mocks/index.js.map +1 -0
- package/dist/src/error/operand-error.d.ts +8 -0
- package/dist/src/error/operand-error.js +196 -0
- package/dist/src/error/operand-error.js.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.js +22 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interfaces/ing-publish.d.ts +53 -0
- package/dist/src/interfaces/ing-publish.js +3 -0
- package/dist/src/interfaces/ing-publish.js.map +1 -0
- package/dist/src/interfaces/meta-auth.d.ts +14 -0
- package/dist/src/interfaces/meta-auth.js +3 -0
- package/dist/src/interfaces/meta-auth.js.map +1 -0
- package/dist/src/interfaces/meta-mkt.d.ts +4 -0
- package/dist/src/interfaces/meta-mkt.js +3 -0
- package/dist/src/interfaces/meta-mkt.js.map +1 -0
- package/dist/src/interfaces/meta-response.d.ts +285 -0
- package/dist/src/interfaces/meta-response.js +3 -0
- package/dist/src/interfaces/meta-response.js.map +1 -0
- package/dist/src/interfaces/meta.d.ts +6 -0
- package/dist/src/interfaces/meta.js +3 -0
- package/dist/src/interfaces/meta.js.map +1 -0
- package/dist/src/interfaces/page-publish.d.ts +66 -0
- package/dist/src/interfaces/page-publish.js +3 -0
- package/dist/src/interfaces/page-publish.js.map +1 -0
- package/dist/src/modules/auth/meta-auth.d.ts +35 -0
- package/dist/src/modules/auth/meta-auth.js +131 -0
- package/dist/src/modules/auth/meta-auth.js.map +1 -0
- package/dist/src/modules/auth/meta-auth.spec.d.ts +1 -0
- package/dist/src/modules/auth/meta-auth.spec.js +76 -0
- package/dist/src/modules/auth/meta-auth.spec.js.map +1 -0
- package/dist/src/modules/comments/ing-comments.d.ts +7 -0
- package/dist/src/modules/comments/ing-comments.js +27 -0
- package/dist/src/modules/comments/ing-comments.js.map +1 -0
- package/dist/src/modules/comments/page-comments.d.ts +6 -0
- package/dist/src/modules/comments/page-comments.js +18 -0
- package/dist/src/modules/comments/page-comments.js.map +1 -0
- package/dist/src/modules/insights/ing-insights.d.ts +42 -0
- package/dist/src/modules/insights/ing-insights.js +150 -0
- package/dist/src/modules/insights/ing-insights.js.map +1 -0
- package/dist/src/modules/insights/mkt-insights.d.ts +10 -0
- package/dist/src/modules/insights/mkt-insights.js +46 -0
- package/dist/src/modules/insights/mkt-insights.js.map +1 -0
- package/dist/src/modules/insights/page-insights.d.ts +34 -0
- package/dist/src/modules/insights/page-insights.js +146 -0
- package/dist/src/modules/insights/page-insights.js.map +1 -0
- package/dist/src/modules/meta-ing.d.ts +5 -0
- package/dist/src/modules/meta-ing.js +11 -0
- package/dist/src/modules/meta-ing.js.map +1 -0
- package/dist/src/modules/meta-mkt.d.ts +5 -0
- package/dist/src/modules/meta-mkt.js +11 -0
- package/dist/src/modules/meta-mkt.js.map +1 -0
- package/dist/src/modules/meta-page.d.ts +5 -0
- package/dist/src/modules/meta-page.js +11 -0
- package/dist/src/modules/meta-page.js.map +1 -0
- package/dist/src/modules/meta.d.ts +10 -0
- package/dist/src/modules/meta.js +23 -0
- package/dist/src/modules/meta.js.map +1 -0
- package/dist/src/modules/publish/ing-publish.d.ts +39 -0
- package/dist/src/modules/publish/ing-publish.js +464 -0
- package/dist/src/modules/publish/ing-publish.js.map +1 -0
- package/dist/src/modules/publish/page-publish.d.ts +51 -0
- package/dist/src/modules/publish/page-publish.js +560 -0
- package/dist/src/modules/publish/page-publish.js.map +1 -0
- package/dist/src/modules/publish/page-publish.spec.d.ts +1 -0
- package/dist/src/modules/publish/page-publish.spec.js +280 -0
- package/dist/src/modules/publish/page-publish.spec.js.map +1 -0
- package/dist/src/modules/utils/meta-utils.d.ts +8 -0
- package/dist/src/modules/utils/meta-utils.js +28 -0
- package/dist/src/modules/utils/meta-utils.js.map +1 -0
- package/dist/src/utils/api.d.ts +8 -0
- package/dist/src/utils/api.js +36 -0
- package/dist/src/utils/api.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/jest.config.ts +198 -0
- package/package.json +39 -0
- package/src/__test__/mocks/image.jpeg +0 -0
- package/src/__test__/mocks/index.ts +5 -0
- package/src/__test__/mocks/video-to-post.mp4 +0 -0
- package/src/__test__/mocks/video-to-stories.mp4 +0 -0
- package/src/error/operand-error.ts +217 -0
- package/src/index.ts +21 -0
- package/src/interfaces/ing-publish.ts +58 -0
- package/src/interfaces/meta-auth.ts +52 -0
- package/src/interfaces/meta-mkt.ts +5 -0
- package/src/interfaces/meta-response.ts +319 -0
- package/src/interfaces/meta.ts +7 -0
- package/src/interfaces/page-publish.ts +72 -0
- package/src/modules/auth/meta-auth.spec.ts +93 -0
- package/src/modules/auth/meta-auth.ts +227 -0
- package/src/modules/comments/ing-comments.ts +38 -0
- package/src/modules/comments/page-comments.ts +20 -0
- package/src/modules/insights/ing-insights.ts +275 -0
- package/src/modules/insights/mkt-insights.ts +68 -0
- package/src/modules/insights/page-insights.ts +267 -0
- package/src/modules/meta-ing.ts +8 -0
- package/src/modules/meta-mkt.ts +8 -0
- package/src/modules/meta-page.ts +8 -0
- package/src/modules/meta.ts +31 -0
- package/src/modules/publish/ing-publish.ts +754 -0
- package/src/modules/publish/page-publish.spec.ts +386 -0
- package/src/modules/publish/page-publish.ts +881 -0
- package/src/modules/utils/meta-utils.ts +37 -0
- package/src/utils/api.ts +45 -0
- package/tsconfig.json +22 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ConstructorMain } from "./meta";
|
|
2
|
+
import { PagePost } from "./meta-response";
|
|
3
|
+
export type PhotoMediaItem = {
|
|
4
|
+
source: "url" | "path";
|
|
5
|
+
value: string;
|
|
6
|
+
};
|
|
7
|
+
export type VideoMediaItem = {
|
|
8
|
+
source: "url" | "path";
|
|
9
|
+
value: string;
|
|
10
|
+
};
|
|
11
|
+
export type CreatePost = {
|
|
12
|
+
mediaType?: "photo" | "video";
|
|
13
|
+
message?: string;
|
|
14
|
+
publishNow: boolean;
|
|
15
|
+
datePublish?: Date;
|
|
16
|
+
photos?: PhotoMediaItem[];
|
|
17
|
+
video?: VideoMediaItem;
|
|
18
|
+
};
|
|
19
|
+
type CreateStoriesPath = {
|
|
20
|
+
source: "path";
|
|
21
|
+
mediaType: "photo" | "video";
|
|
22
|
+
path: string;
|
|
23
|
+
};
|
|
24
|
+
type CreateStoriesUrl = {
|
|
25
|
+
source: "url";
|
|
26
|
+
mediaType: "photo" | "video";
|
|
27
|
+
url: string;
|
|
28
|
+
};
|
|
29
|
+
export type CreateStories = CreateStoriesPath | CreateStoriesUrl;
|
|
30
|
+
type CreateReelsPath = {
|
|
31
|
+
source: "path";
|
|
32
|
+
path: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
};
|
|
36
|
+
type CreateReelsUrl = {
|
|
37
|
+
source: "url";
|
|
38
|
+
url: string;
|
|
39
|
+
title?: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
};
|
|
42
|
+
export type CreateReels = CreateReelsPath | CreateReelsUrl;
|
|
43
|
+
export type SetThumbnailToReels = {
|
|
44
|
+
source: "url" | "path";
|
|
45
|
+
value: string;
|
|
46
|
+
videoId: string;
|
|
47
|
+
};
|
|
48
|
+
export interface ConstructorPage extends ConstructorMain {
|
|
49
|
+
pageId: string;
|
|
50
|
+
}
|
|
51
|
+
export interface IPagePublish {
|
|
52
|
+
getAllPosts(): Promise<PagePost[]>;
|
|
53
|
+
getPostUrlById(postId: string): string;
|
|
54
|
+
createPost(data: CreatePost): Promise<string>;
|
|
55
|
+
updatePost(postId: string, message: string): Promise<boolean>;
|
|
56
|
+
deletePost(postId: string): Promise<boolean>;
|
|
57
|
+
createStories(data: CreateStories): Promise<string>;
|
|
58
|
+
createReels(data: CreateReels): Promise<{
|
|
59
|
+
postId: string;
|
|
60
|
+
videoId: string;
|
|
61
|
+
}>;
|
|
62
|
+
setThumbnailToReels(data: SetThumbnailToReels): Promise<{
|
|
63
|
+
success: boolean;
|
|
64
|
+
}>;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-publish.js","sourceRoot":"","sources":["../../../src/interfaces/page-publish.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ApiVersion, CreateMetaAuth, FieldsPage, GetAccounts } from "../../interfaces/meta-auth";
|
|
2
|
+
import { FacebookPage, InstagramAccount } from "../../interfaces/meta-response";
|
|
3
|
+
export declare class MetaAuth {
|
|
4
|
+
static createAccessTokenIg({ client_id, client_secret, redirect_uri, apiVersion, code, }: CreateMetaAuth): Promise<{
|
|
5
|
+
accessToken: string;
|
|
6
|
+
getAccounts: ({ fields }: {
|
|
7
|
+
fields: FieldsPage;
|
|
8
|
+
}) => Promise<InstagramAccount>;
|
|
9
|
+
}>;
|
|
10
|
+
static createAccessTokenFb({ client_id, client_secret, redirect_uri, apiVersion, code, }: CreateMetaAuth): Promise<{
|
|
11
|
+
accessToken: string;
|
|
12
|
+
getAccounts: ({ fields }: {
|
|
13
|
+
fields: FieldsPage;
|
|
14
|
+
}) => Promise<FacebookPage[]>;
|
|
15
|
+
getAdAccounts: () => Promise<FacebookPage[]>;
|
|
16
|
+
}>;
|
|
17
|
+
static extendUserAccessToken({ client_id, client_secret, accessToken, apiVersion, }: {
|
|
18
|
+
client_id: string;
|
|
19
|
+
client_secret: string;
|
|
20
|
+
accessToken: string;
|
|
21
|
+
apiVersion: ApiVersion;
|
|
22
|
+
}): Promise<string>;
|
|
23
|
+
static getAccountsWithFbToken({ fields, accessToken, apiVersion, }: GetAccounts): Promise<FacebookPage[]>;
|
|
24
|
+
static getAccountsWithIgToken({ fields, accessToken, apiVersion, }: GetAccounts): Promise<InstagramAccount>;
|
|
25
|
+
static getAdAccounts({ accessToken, apiVersion, }: Omit<GetAccounts, "fields">): Promise<FacebookPage[]>;
|
|
26
|
+
static generateIgLongToken({ accessToken, apiVersion, clientSecret, }: {
|
|
27
|
+
accessToken: string;
|
|
28
|
+
apiVersion: ApiVersion;
|
|
29
|
+
clientSecret: string;
|
|
30
|
+
}): Promise<string>;
|
|
31
|
+
static generateIgRefreshToken({ accessToken, apiVersion, }: {
|
|
32
|
+
accessToken: string;
|
|
33
|
+
apiVersion: ApiVersion;
|
|
34
|
+
}): Promise<string>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetaAuth = void 0;
|
|
4
|
+
const api_1 = require("../../utils/api");
|
|
5
|
+
class MetaAuth {
|
|
6
|
+
static async createAccessTokenIg({ client_id, client_secret, redirect_uri, apiVersion, code, }) {
|
|
7
|
+
const api = (0, api_1.generateAxiosInstance)({
|
|
8
|
+
apiVersion: "v21.0",
|
|
9
|
+
isInstagramAccessToken: true,
|
|
10
|
+
});
|
|
11
|
+
const data = new URLSearchParams();
|
|
12
|
+
data.append("client_id", client_id);
|
|
13
|
+
data.append("client_secret", client_secret);
|
|
14
|
+
data.append("grant_type", "authorization_code");
|
|
15
|
+
data.append("redirect_uri", redirect_uri);
|
|
16
|
+
data.append("code", code);
|
|
17
|
+
const accessToken = (await api.post(`/oauth/access_token`, data)).data;
|
|
18
|
+
return {
|
|
19
|
+
accessToken: accessToken.access_token,
|
|
20
|
+
getAccounts: ({ fields }) => {
|
|
21
|
+
return MetaAuth.getAccountsWithIgToken({
|
|
22
|
+
fields,
|
|
23
|
+
accessToken: accessToken.access_token,
|
|
24
|
+
apiVersion,
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static async createAccessTokenFb({ client_id, client_secret, redirect_uri, apiVersion, code, }) {
|
|
30
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion });
|
|
31
|
+
const shortAccessToken = (await api.post(`/oauth/access_token`, {
|
|
32
|
+
client_id,
|
|
33
|
+
client_secret,
|
|
34
|
+
code,
|
|
35
|
+
redirect_uri,
|
|
36
|
+
})).data.access_token;
|
|
37
|
+
const longAccessToken = await this.extendUserAccessToken({
|
|
38
|
+
client_id,
|
|
39
|
+
client_secret,
|
|
40
|
+
accessToken: shortAccessToken,
|
|
41
|
+
apiVersion,
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
accessToken: longAccessToken,
|
|
45
|
+
getAccounts: ({ fields }) => {
|
|
46
|
+
return MetaAuth.getAccountsWithFbToken({
|
|
47
|
+
fields,
|
|
48
|
+
accessToken: longAccessToken,
|
|
49
|
+
apiVersion,
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
getAdAccounts: () => {
|
|
53
|
+
return MetaAuth.getAdAccounts({
|
|
54
|
+
accessToken: longAccessToken,
|
|
55
|
+
apiVersion,
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
static async extendUserAccessToken({ client_id, client_secret, accessToken, apiVersion, }) {
|
|
61
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion });
|
|
62
|
+
const response = await api.get("/oauth/access_token", {
|
|
63
|
+
params: {
|
|
64
|
+
grant_type: "fb_exchange_token",
|
|
65
|
+
client_id,
|
|
66
|
+
client_secret,
|
|
67
|
+
fb_exchange_token: accessToken,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
return response.data.access_token;
|
|
71
|
+
}
|
|
72
|
+
static async getAccountsWithFbToken({ fields, accessToken, apiVersion, }) {
|
|
73
|
+
var _a;
|
|
74
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion });
|
|
75
|
+
const allAccounts = [];
|
|
76
|
+
let afterCursor = undefined;
|
|
77
|
+
let hasNextPage = true;
|
|
78
|
+
while (hasNextPage) {
|
|
79
|
+
const response = await api.get(`/me/accounts`, {
|
|
80
|
+
params: {
|
|
81
|
+
access_token: accessToken,
|
|
82
|
+
fields: fields.join(","),
|
|
83
|
+
after: afterCursor,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
const { data, paging } = response.data;
|
|
87
|
+
allAccounts.push(...data);
|
|
88
|
+
afterCursor = (_a = paging === null || paging === void 0 ? void 0 : paging.cursors) === null || _a === void 0 ? void 0 : _a.after;
|
|
89
|
+
hasNextPage = Boolean(afterCursor);
|
|
90
|
+
}
|
|
91
|
+
return allAccounts;
|
|
92
|
+
}
|
|
93
|
+
static async getAccountsWithIgToken({ fields, accessToken, apiVersion, }) {
|
|
94
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion, isInstagramApi: true });
|
|
95
|
+
return (await api.get(`/me`, {
|
|
96
|
+
params: {
|
|
97
|
+
access_token: accessToken,
|
|
98
|
+
fields: fields.join(","),
|
|
99
|
+
},
|
|
100
|
+
})).data;
|
|
101
|
+
}
|
|
102
|
+
static async getAdAccounts({ accessToken, apiVersion, }) {
|
|
103
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion });
|
|
104
|
+
return (await api.get(`/me/adaccounts`, {
|
|
105
|
+
params: {
|
|
106
|
+
access_token: accessToken,
|
|
107
|
+
},
|
|
108
|
+
})).data.data;
|
|
109
|
+
}
|
|
110
|
+
static async generateIgLongToken({ accessToken, apiVersion, clientSecret, }) {
|
|
111
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion, isInstagramApi: true });
|
|
112
|
+
return (await api.get("/access_token", {
|
|
113
|
+
params: {
|
|
114
|
+
client_secret: clientSecret,
|
|
115
|
+
access_token: accessToken,
|
|
116
|
+
grant_type: "ig_exchange_token",
|
|
117
|
+
},
|
|
118
|
+
})).data.access_token;
|
|
119
|
+
}
|
|
120
|
+
static async generateIgRefreshToken({ accessToken, apiVersion, }) {
|
|
121
|
+
const api = (0, api_1.generateAxiosInstance)({ apiVersion, isInstagramApi: true });
|
|
122
|
+
return (await api.get("/refresh_access_token", {
|
|
123
|
+
params: {
|
|
124
|
+
access_token: accessToken,
|
|
125
|
+
grant_type: "ig_refresh_token",
|
|
126
|
+
},
|
|
127
|
+
})).data.access_token;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.MetaAuth = MetaAuth;
|
|
131
|
+
//# sourceMappingURL=meta-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-auth.js","sourceRoot":"","sources":["../../../../src/modules/auth/meta-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const axios_1 = require("axios");
|
|
4
|
+
const meta_auth_1 = require("./meta-auth");
|
|
5
|
+
jest.mock("axios");
|
|
6
|
+
const mockedAxios = axios_1.default;
|
|
7
|
+
describe("Module MetaAuth", () => {
|
|
8
|
+
describe("createAccessToken", () => {
|
|
9
|
+
it("should make a request to /oauth/access_token and return the access token", async () => {
|
|
10
|
+
const requestData = {
|
|
11
|
+
client_id: "test-client-id",
|
|
12
|
+
client_secret: "test-client-secret",
|
|
13
|
+
redirect_uri: "https://example.com/callback",
|
|
14
|
+
apiVersion: "v21.0",
|
|
15
|
+
code: "test-code",
|
|
16
|
+
};
|
|
17
|
+
const mockAccessTokenResponse = {
|
|
18
|
+
data: {
|
|
19
|
+
access_token: "mocked-access-token",
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
mockedAxios.create.mockReturnValue(mockedAxios);
|
|
23
|
+
const mockPost = mockedAxios.post.mockResolvedValue(mockAccessTokenResponse);
|
|
24
|
+
const accessToken = await meta_auth_1.MetaAuth.createAccessTokenFb(requestData);
|
|
25
|
+
expect(accessToken).toEqual({
|
|
26
|
+
accessToken: "mocked-access-token",
|
|
27
|
+
getAccounts: expect.any(Function),
|
|
28
|
+
});
|
|
29
|
+
expect(mockedAxios.post).toHaveBeenCalledWith("/oauth/access_token", {
|
|
30
|
+
client_id: requestData.client_id,
|
|
31
|
+
client_secret: requestData.client_secret,
|
|
32
|
+
code: requestData.code,
|
|
33
|
+
redirect_uri: requestData.redirect_uri,
|
|
34
|
+
});
|
|
35
|
+
expect(mockPost).toHaveBeenCalled();
|
|
36
|
+
expect(mockPost).toHaveBeenCalledTimes(1);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe("getAccounts", () => {
|
|
40
|
+
it("should make a request to /me/accounts and return the accounts", async () => {
|
|
41
|
+
const requestData = {
|
|
42
|
+
fields: ["id", "name"],
|
|
43
|
+
accessToken: "test-access-token",
|
|
44
|
+
apiVersion: "v21.0",
|
|
45
|
+
};
|
|
46
|
+
const mockGetPageAccountsResponse = {
|
|
47
|
+
data: {
|
|
48
|
+
data: [
|
|
49
|
+
{
|
|
50
|
+
id: "test-page-id",
|
|
51
|
+
name: "Test Page",
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
mockedAxios.create.mockReturnValue(mockedAxios);
|
|
57
|
+
const mockGet = mockedAxios.get.mockResolvedValue(mockGetPageAccountsResponse);
|
|
58
|
+
const accounts = await meta_auth_1.MetaAuth.getAccountsWithFbToken(requestData);
|
|
59
|
+
expect(accounts).toEqual([
|
|
60
|
+
{
|
|
61
|
+
id: "test-page-id",
|
|
62
|
+
name: "Test Page",
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
65
|
+
expect(mockedAxios.get).toHaveBeenCalledWith("/me/accounts", {
|
|
66
|
+
params: {
|
|
67
|
+
access_token: requestData.accessToken,
|
|
68
|
+
fields: requestData.fields.join(","),
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
expect(mockGet).toHaveBeenCalled();
|
|
72
|
+
expect(mockGet).toHaveBeenCalledTimes(1);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=meta-auth.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-auth.spec.js","sourceRoot":"","sources":["../../../../src/modules/auth/meta-auth.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ConstructorIng } from "../../interfaces/ing-publish";
|
|
2
|
+
import { IngPublish } from "../publish/ing-publish";
|
|
3
|
+
export declare class IngComments extends IngPublish {
|
|
4
|
+
constructor(constructorIng: ConstructorIng);
|
|
5
|
+
createComment(postId: string, message: string): Promise<string>;
|
|
6
|
+
updateCommentStatus(postId: string, enabled: boolean): Promise<boolean>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IngComments = void 0;
|
|
4
|
+
const ing_publish_1 = require("../publish/ing-publish");
|
|
5
|
+
class IngComments extends ing_publish_1.IngPublish {
|
|
6
|
+
constructor(constructorIng) {
|
|
7
|
+
super(Object.assign(Object.assign({}, constructorIng), { isInstagramApi: true }));
|
|
8
|
+
}
|
|
9
|
+
async createComment(postId, message) {
|
|
10
|
+
const response = await this.api.post(`/${postId}/comments`, {
|
|
11
|
+
message,
|
|
12
|
+
access_token: this.pageAccessToken,
|
|
13
|
+
});
|
|
14
|
+
return response.data.id;
|
|
15
|
+
}
|
|
16
|
+
async updateCommentStatus(postId, enabled) {
|
|
17
|
+
await this.api.post(`/${postId}`, {}, {
|
|
18
|
+
params: {
|
|
19
|
+
comment_enabled: enabled,
|
|
20
|
+
access_token: this.pageAccessToken,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.IngComments = IngComments;
|
|
27
|
+
//# sourceMappingURL=ing-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ing-comments.js","sourceRoot":"","sources":["../../../../src/modules/comments/ing-comments.ts"],"names":[],"mappings":";;;AACA,wDAAoD;AAEpD,MAAa,WAAY,SAAQ,wBAAU;IACzC,YAAY,cAA8B;QACxC,KAAK,iCAAM,cAAc,KAAE,cAAc,EAAE,IAAI,IAAG,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,OAAe;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAClC,IAAI,MAAM,WAAW,EACrB;YACE,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,eAAe;SACnC,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,MAAc,EACd,OAAgB;QAEhB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CACjB,IAAI,MAAM,EAAE,EACZ,EAAE,EACF;YACE,MAAM,EAAE;gBACN,eAAe,EAAE,OAAO;gBACxB,YAAY,EAAE,IAAI,CAAC,eAAe;aACnC;SACF,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlCD,kCAkCC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ConstructorPage } from "../../interfaces/page-publish";
|
|
2
|
+
import { PagePublish } from "../publish/page-publish";
|
|
3
|
+
export declare class PageComments extends PagePublish {
|
|
4
|
+
constructor(constructorPage: ConstructorPage);
|
|
5
|
+
createComment(postId: string, message: string): Promise<string>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageComments = void 0;
|
|
4
|
+
const page_publish_1 = require("../publish/page-publish");
|
|
5
|
+
class PageComments extends page_publish_1.PagePublish {
|
|
6
|
+
constructor(constructorPage) {
|
|
7
|
+
super(constructorPage);
|
|
8
|
+
}
|
|
9
|
+
async createComment(postId, message) {
|
|
10
|
+
const response = await this.api.post(`/${postId}/comments`, {
|
|
11
|
+
message,
|
|
12
|
+
access_token: this.pageAccessToken,
|
|
13
|
+
});
|
|
14
|
+
return response.data.id;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.PageComments = PageComments;
|
|
18
|
+
//# sourceMappingURL=page-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-comments.js","sourceRoot":"","sources":["../../../../src/modules/comments/page-comments.ts"],"names":[],"mappings":";;;AACA,0DAAsD;AAEtD,MAAa,YAAa,SAAQ,0BAAW;IAC3C,YAAY,eAAgC;QAC1C,KAAK,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,OAAe;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAClC,IAAI,MAAM,WAAW,EACrB;YACE,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,eAAe;SACnC,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,CAAC;CACF;AAhBD,oCAgBC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ConstructorIng } from "../../interfaces/ing-publish";
|
|
2
|
+
import { IngComments } from "../comments/ing-comments";
|
|
3
|
+
export declare class IngInsights extends IngComments {
|
|
4
|
+
constructor(constructorIng: ConstructorIng);
|
|
5
|
+
private generateSinceAndUntil;
|
|
6
|
+
private generateWhileLoopToGetLikesAndCommentsAndShares;
|
|
7
|
+
getFollowersCountCurrent(): Promise<number>;
|
|
8
|
+
getDayFollowersByDateInterval(startDate: Date, endDate: Date): Promise<{
|
|
9
|
+
[x: string]: number;
|
|
10
|
+
}[]>;
|
|
11
|
+
getDayUnFollowersByDateInterval(startDate: Date, endDate: Date): Promise<{
|
|
12
|
+
[x: string]: {
|
|
13
|
+
follows: 100;
|
|
14
|
+
unfollows: 50;
|
|
15
|
+
};
|
|
16
|
+
}[]>;
|
|
17
|
+
getDayAllViews(startDate: Date, endDate: Date): Promise<{
|
|
18
|
+
[a: string]: number;
|
|
19
|
+
}[]>;
|
|
20
|
+
getDayAllReaches(startDate: Date, endDate: Date): Promise<{
|
|
21
|
+
[x: string]: number;
|
|
22
|
+
}[]>;
|
|
23
|
+
getDayAllLikesInAllPosts(startDate: Date, endDate: Date): Promise<{
|
|
24
|
+
value: number;
|
|
25
|
+
end_time?: string;
|
|
26
|
+
}[]>;
|
|
27
|
+
getDayAllCommentsInAllPosts(startDate: Date, endDate: Date): Promise<{
|
|
28
|
+
value: number;
|
|
29
|
+
end_time?: string;
|
|
30
|
+
}[]>;
|
|
31
|
+
getDayAllSharesInAllPosts(startDate: Date, endDate: Date): Promise<{
|
|
32
|
+
value: number;
|
|
33
|
+
end_time?: string;
|
|
34
|
+
}[]>;
|
|
35
|
+
getTotalLikesInAllPosts(startDate: Date, endDate: Date): Promise<number>;
|
|
36
|
+
getTotalCommentsInAllPosts(startDate: Date, endDate: Date): Promise<number>;
|
|
37
|
+
getTotalSharesInAllPosts(startDate: Date, endDate: Date): Promise<number>;
|
|
38
|
+
getTotalInteractionsInAllPosts(startDate: Date, endDate: Date): Promise<number>;
|
|
39
|
+
getDayEngagementInAllPosts(startDate: Date, endDate: Date): Promise<{
|
|
40
|
+
[a: string]: number;
|
|
41
|
+
}[]>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IngInsights = void 0;
|
|
4
|
+
const date_fns_1 = require("date-fns");
|
|
5
|
+
const ing_comments_1 = require("../comments/ing-comments");
|
|
6
|
+
const date_fns_tz_1 = require("date-fns-tz");
|
|
7
|
+
const axios_1 = require("axios");
|
|
8
|
+
class IngInsights extends ing_comments_1.IngComments {
|
|
9
|
+
constructor(constructorIng) {
|
|
10
|
+
super(Object.assign(Object.assign({}, constructorIng), { isInstagramApi: constructorIng.typeToken === "ig" }));
|
|
11
|
+
}
|
|
12
|
+
generateSinceAndUntil(startDate, endDate) {
|
|
13
|
+
const nextDay = (0, date_fns_1.addDays)(endDate, 1);
|
|
14
|
+
return {
|
|
15
|
+
since: (0, date_fns_tz_1.formatInTimeZone)(startDate, "UTC", "yyyy-MM-dd"),
|
|
16
|
+
until: (0, date_fns_tz_1.formatInTimeZone)(nextDay, "UTC", "yyyy-MM-dd"),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
async generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, metric) {
|
|
20
|
+
var _a, _b, _c, _d, _e;
|
|
21
|
+
const results = [];
|
|
22
|
+
let currentDate = startDate;
|
|
23
|
+
while (currentDate <= endDate) {
|
|
24
|
+
const response = await this.api.get(`/${this.ingId}/insights`, {
|
|
25
|
+
params: Object.assign(Object.assign({ metric, period: "day", metric_type: "total_value" }, this.generateSinceAndUntil(currentDate, currentDate)), { access_token: this.pageAccessToken }),
|
|
26
|
+
});
|
|
27
|
+
const value = ((_b = (_a = response.data.data[0]) === null || _a === void 0 ? void 0 : _a.total_value) === null || _b === void 0 ? void 0 : _b.value) || 0;
|
|
28
|
+
const endTime = (_e = (_d = (_c = response.data.data[0]) === null || _c === void 0 ? void 0 : _c.values) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.end_time;
|
|
29
|
+
results.push({ value, end_time: endTime });
|
|
30
|
+
currentDate = (0, date_fns_1.addDays)(currentDate, 1);
|
|
31
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
32
|
+
}
|
|
33
|
+
return results;
|
|
34
|
+
}
|
|
35
|
+
async getFollowersCountCurrent() {
|
|
36
|
+
return (await this.api.get(`/${this.ingId}`, {
|
|
37
|
+
params: {
|
|
38
|
+
fields: "followers_count",
|
|
39
|
+
access_token: this.pageAccessToken,
|
|
40
|
+
},
|
|
41
|
+
})).data.followers_count;
|
|
42
|
+
}
|
|
43
|
+
async getDayFollowersByDateInterval(startDate, endDate) {
|
|
44
|
+
var _a, _b, _c;
|
|
45
|
+
const response = await this.api.get(`/${this.ingId}/insights`, {
|
|
46
|
+
params: Object.assign(Object.assign({ metric: "follower_count", period: "day" }, this.generateSinceAndUntil(startDate, endDate)), { access_token: this.pageAccessToken }),
|
|
47
|
+
});
|
|
48
|
+
return (_c = (_b = (_a = response.data.data) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c.map((value, index) => ({
|
|
49
|
+
[(0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, index), "UTC", "yyyy-MM-dd")]: value.value,
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
async getDayUnFollowersByDateInterval(startDate, endDate) {
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
const response = await this.api.get(`/${this.ingId}/insights`, {
|
|
55
|
+
params: Object.assign(Object.assign({ metric: "follows_and_unfollows", metric_type: "total_value", period: "day" }, this.generateSinceAndUntil(startDate, endDate)), { access_token: this.pageAccessToken }),
|
|
56
|
+
});
|
|
57
|
+
return (_c = (_b = (_a = response.data.data) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c.map((value, index) => ({
|
|
58
|
+
[(0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, index), "UTC", "yyyy-MM-dd")]: value.value,
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
async getDayAllViews(startDate, endDate) {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
const days = (0, date_fns_1.differenceInDays)(endDate, startDate);
|
|
64
|
+
const viewsArray = [];
|
|
65
|
+
let next = undefined;
|
|
66
|
+
for (let index = 0; index <= days; index++) {
|
|
67
|
+
const response = next
|
|
68
|
+
? await axios_1.default.get(next)
|
|
69
|
+
: await this.api.get(`/${this.ingId}/insights`, {
|
|
70
|
+
params: {
|
|
71
|
+
metric: "views",
|
|
72
|
+
metric_type: "total_value",
|
|
73
|
+
period: "day",
|
|
74
|
+
since: (0, date_fns_tz_1.formatInTimeZone)(startDate, "UTC", "yyyy-MM-dd"),
|
|
75
|
+
until: (0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, 1), "UTC", "yyyy-MM-dd"),
|
|
76
|
+
access_token: this.pageAccessToken,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
const { data, paging } = response.data;
|
|
80
|
+
viewsArray.push({
|
|
81
|
+
[(0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, index), "UTC", "yyyy-MM-dd")]: Number(((_b = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.total_value) === null || _b === void 0 ? void 0 : _b.value) || 0),
|
|
82
|
+
});
|
|
83
|
+
next = paging === null || paging === void 0 ? void 0 : paging.next;
|
|
84
|
+
}
|
|
85
|
+
return viewsArray;
|
|
86
|
+
}
|
|
87
|
+
async getDayAllReaches(startDate, endDate) {
|
|
88
|
+
const response = await this.api.get(`/${this.ingId}/insights`, {
|
|
89
|
+
params: Object.assign(Object.assign({ metric: "reach", period: "day" }, this.generateSinceAndUntil(startDate, endDate)), { access_token: this.pageAccessToken }),
|
|
90
|
+
});
|
|
91
|
+
return response.data.data[0].values.map((value, index) => ({
|
|
92
|
+
[(0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, index), "UTC", "yyyy-MM-dd")]: value.value,
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
async getDayAllLikesInAllPosts(startDate, endDate) {
|
|
96
|
+
return this.generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, "likes");
|
|
97
|
+
}
|
|
98
|
+
async getDayAllCommentsInAllPosts(startDate, endDate) {
|
|
99
|
+
return this.generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, "comments");
|
|
100
|
+
}
|
|
101
|
+
async getDayAllSharesInAllPosts(startDate, endDate) {
|
|
102
|
+
return this.generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, "shares");
|
|
103
|
+
}
|
|
104
|
+
async getTotalLikesInAllPosts(startDate, endDate) {
|
|
105
|
+
const values = await this.generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, "likes");
|
|
106
|
+
return values.reduce((acc, curr) => acc + curr.value, 0);
|
|
107
|
+
}
|
|
108
|
+
async getTotalCommentsInAllPosts(startDate, endDate) {
|
|
109
|
+
const values = await this.generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, "comments");
|
|
110
|
+
return values.reduce((acc, curr) => acc + curr.value, 0);
|
|
111
|
+
}
|
|
112
|
+
async getTotalSharesInAllPosts(startDate, endDate) {
|
|
113
|
+
const values = await this.generateWhileLoopToGetLikesAndCommentsAndShares(startDate, endDate, "shares");
|
|
114
|
+
return values.reduce((acc, curr) => acc + curr.value, 0);
|
|
115
|
+
}
|
|
116
|
+
async getTotalInteractionsInAllPosts(startDate, endDate) {
|
|
117
|
+
const likes = await this.getTotalLikesInAllPosts(startDate, endDate);
|
|
118
|
+
const comments = await this.getTotalCommentsInAllPosts(startDate, endDate);
|
|
119
|
+
const shares = await this.getTotalSharesInAllPosts(startDate, endDate);
|
|
120
|
+
return likes + comments + shares;
|
|
121
|
+
}
|
|
122
|
+
async getDayEngagementInAllPosts(startDate, endDate) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
const days = (0, date_fns_1.differenceInDays)(endDate, startDate);
|
|
125
|
+
const engagementArray = [];
|
|
126
|
+
let next = undefined;
|
|
127
|
+
for (let index = 0; index <= days; index++) {
|
|
128
|
+
const response = next
|
|
129
|
+
? await axios_1.default.get(next)
|
|
130
|
+
: await this.api.get(`/${this.ingId}/insights`, {
|
|
131
|
+
params: {
|
|
132
|
+
metric: "accounts_engaged",
|
|
133
|
+
metric_type: "total_value",
|
|
134
|
+
period: "day",
|
|
135
|
+
since: (0, date_fns_tz_1.formatInTimeZone)(startDate, "UTC", "yyyy-MM-dd"),
|
|
136
|
+
until: (0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, 1), "UTC", "yyyy-MM-dd"),
|
|
137
|
+
access_token: this.pageAccessToken,
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
const { data, paging } = response.data;
|
|
141
|
+
engagementArray.push({
|
|
142
|
+
[(0, date_fns_tz_1.formatInTimeZone)((0, date_fns_1.addDays)(startDate, index), "UTC", "yyyy-MM-dd")]: Number(((_b = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.total_value) === null || _b === void 0 ? void 0 : _b.value) || 0),
|
|
143
|
+
});
|
|
144
|
+
next = paging === null || paging === void 0 ? void 0 : paging.next;
|
|
145
|
+
}
|
|
146
|
+
return engagementArray;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.IngInsights = IngInsights;
|
|
150
|
+
//# sourceMappingURL=ing-insights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ing-insights.js","sourceRoot":"","sources":["../../../../src/modules/insights/ing-insights.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Meta } from "../meta";
|
|
2
|
+
import { ConstructorMkt } from "../../interfaces/meta-mkt";
|
|
3
|
+
export declare class MktInsights extends Meta {
|
|
4
|
+
protected readonly adAAccountId: string;
|
|
5
|
+
constructor(constructorMkt: ConstructorMkt);
|
|
6
|
+
private generateSinceAndUntil;
|
|
7
|
+
getDayPaidReaches(startDate: Date, endDate: Date, platform: string): Promise<{
|
|
8
|
+
[x: string]: number;
|
|
9
|
+
}[]>;
|
|
10
|
+
}
|