@pronto-tools-and-more/api 12.35.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 (43) hide show
  1. package/package.json +22 -0
  2. package/src/main.js +3 -0
  3. package/src/parts/Callback/Callback.js +1 -0
  4. package/src/parts/Command/Command.js +9 -0
  5. package/src/parts/CommandMap/CommandMap.js +5 -0
  6. package/src/parts/CommandState/CommandState.js +17 -0
  7. package/src/parts/ErrorCodes/ErrorCodes.js +2 -0
  8. package/src/parts/GetPostIds/GetPostIds.js +41 -0
  9. package/src/parts/GraphQlQueryAppSettings/GraphQlQueryAppSettings.js +42 -0
  10. package/src/parts/GraphQlQueryAuthors/GraphQlQueryAuthors.js +66 -0
  11. package/src/parts/GraphQlQueryCategories/GraphQlQueryCategories.js +66 -0
  12. package/src/parts/GraphQlQueryCollection/GraphQlQueryCollection.js +227 -0
  13. package/src/parts/GraphQlQueryCollections/GraphQlQueryCollections.js +227 -0
  14. package/src/parts/GraphQlQueryContent/GraphQlQueryContent.js +198 -0
  15. package/src/parts/GraphQlQueryDossier/GraphQlQueryDossier.js +221 -0
  16. package/src/parts/GraphQlQueryDossiers/GraphQlQueryDossiers.js +201 -0
  17. package/src/parts/GraphQlQueryIssues/GraphQlQueryIssues.js +202 -0
  18. package/src/parts/GraphQlQueryMenus/GraphQlQueryMenus.js +77 -0
  19. package/src/parts/GraphQlQueryPathSegment/GraphQlQueryPathSegment.js +57 -0
  20. package/src/parts/GraphQlQueryPathSegments/GraphQlQueryPathSegments.js +59 -0
  21. package/src/parts/GraphQlQueryTaxonomies/GraphQlQueryTaxonomies.js +66 -0
  22. package/src/parts/HandleApi/HandleApi.js +52 -0
  23. package/src/parts/HandleApiAppSettings/HandleApiAppSettings.js +41 -0
  24. package/src/parts/HandleApiArticle/HandleApiArticle.js +26 -0
  25. package/src/parts/HandleApiArticleByCategoryId/HandleApiArticleByCategoryId.js +97 -0
  26. package/src/parts/HandleApiAuthors/HandleApiAuthors.js +38 -0
  27. package/src/parts/HandleApiCategories/HandleApiCategories.js +38 -0
  28. package/src/parts/HandleApiCollection/HandleApiCollection.js +62 -0
  29. package/src/parts/HandleApiCollections/HandleApiCollections.js +52 -0
  30. package/src/parts/HandleApiDossier/HandleApiDossier.js +109 -0
  31. package/src/parts/HandleApiDossiers/HandleApiDossiers.js +39 -0
  32. package/src/parts/HandleApiIndex/HandleApiIndex.js +30 -0
  33. package/src/parts/HandleApiIssues/HandleApiIssues.js +39 -0
  34. package/src/parts/HandleApiMenus/HandleApiMenus.js +40 -0
  35. package/src/parts/HandleApiPostByName/HandleApiPostByName.js +63 -0
  36. package/src/parts/HandleIpc/HandleIpc.js +10 -0
  37. package/src/parts/HandleMessage/HandleMessage.js +27 -0
  38. package/src/parts/IpcChild/IpcChild.js +15 -0
  39. package/src/parts/IpcChildModule/IpcChildModule.js +25 -0
  40. package/src/parts/IpcChildType/IpcChildType.js +20 -0
  41. package/src/parts/JsonRpc/JsonRpc.js +1 -0
  42. package/src/parts/Listen/Listen.js +8 -0
  43. package/src/parts/Main/Main.js +8 -0
@@ -0,0 +1,41 @@
1
+ import * as GraphQlQueryAppSettings from "../GraphQlQueryAppSettings/GraphQlQueryAppSettings.js";
2
+
3
+ export const handleApiAppSettings = async ({ appId, apiUrl, req }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryAppSettings.bottom,
6
+ filter: {},
7
+ appInfo: {
8
+ ...GraphQlQueryAppSettings.bottom.appInfo,
9
+ appId,
10
+ },
11
+ };
12
+ const response = await fetch(apiUrl, {
13
+ method: "POST",
14
+ headers: {
15
+ Accept: "application/json",
16
+ "Content-Type": "application/json",
17
+ },
18
+ body: JSON.stringify({
19
+ operationName: GraphQlQueryAppSettings.queryName,
20
+ query: GraphQlQueryAppSettings.top,
21
+ variables: realBottom,
22
+ }),
23
+ });
24
+ const result = await response.json();
25
+
26
+ // @ts-ignore
27
+ const realData = result.data.catalog.appSettingsConnection.edges
28
+ .map((edge) => edge.node)
29
+ .map((node) => {
30
+ const { __typename, ...rest } = node;
31
+ return rest;
32
+ });
33
+
34
+ return {
35
+ headers: {
36
+ "content-type": "application/json",
37
+ },
38
+ status: 200,
39
+ body: JSON.stringify(realData, null, 2),
40
+ };
41
+ };
@@ -0,0 +1,26 @@
1
+ import * as GetPostIds from "../GetPostIds/GetPostIds.js";
2
+ import * as HandleApiPostByName from "../HandleApiPostByName/HandleApiPostByName.js";
3
+ import * as HandleApiArticleByCategoryId from "../HandleApiArticleByCategoryId/HandleApiArticleByCategoryId.js";
4
+
5
+ export const handleApiArticle = async ({ appId, apiUrl, req }) => {
6
+ const articleSlug = req.url.slice("/articles/".length);
7
+ const url = new URL(req.url, "https://example.com");
8
+ const categoryId = url.searchParams.get("categoryId");
9
+ if (categoryId) {
10
+ return HandleApiArticleByCategoryId.handleApiArticleByCategoryId({
11
+ apiUrl,
12
+ appId,
13
+ categoryId,
14
+ });
15
+ }
16
+ const postIds = await GetPostIds.getPostIds({
17
+ appId,
18
+ apiUrl,
19
+ slug: articleSlug,
20
+ });
21
+ return HandleApiPostByName.handleApiPostByName({
22
+ apiUrl,
23
+ appId,
24
+ postIds,
25
+ });
26
+ };
@@ -0,0 +1,97 @@
1
+ import * as GraphQlQueryContent from "../GraphQlQueryContent/GraphQlQueryContent.js";
2
+
3
+ const getContent = async ({ appId, apiUrl, categoryId }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryContent.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryContent.bottom.appInfo,
8
+ appId,
9
+ },
10
+ filter: {
11
+ AND: [
12
+ {
13
+ contentType: {
14
+ value: "POST",
15
+ },
16
+ },
17
+ {
18
+ postType: {
19
+ value: "post",
20
+ },
21
+ },
22
+ {
23
+ taxonomies: {
24
+ content: {
25
+ value: {
26
+ AND: [
27
+ {
28
+ type: {
29
+ value: "category",
30
+ },
31
+ },
32
+ {
33
+ OR: [
34
+ {
35
+ id: {
36
+ value: categoryId,
37
+ },
38
+ },
39
+ ],
40
+ },
41
+ ],
42
+ },
43
+ },
44
+ },
45
+ },
46
+ {
47
+ id: {
48
+ value: "^()$",
49
+ operation: "REGEX",
50
+ negated: true,
51
+ },
52
+ },
53
+ ],
54
+ },
55
+ };
56
+ const response = await fetch(apiUrl, {
57
+ method: "POST",
58
+ headers: {
59
+ Accept: "application/json",
60
+ "Content-Type": "application/json",
61
+ },
62
+ body: JSON.stringify({
63
+ operationName: GraphQlQueryContent.queryName,
64
+ query: GraphQlQueryContent.top,
65
+ variables: realBottom,
66
+ }),
67
+ });
68
+ const result = await response.json();
69
+ // @ts-ignore
70
+ if (result && result.error) {
71
+ // @ts-ignore
72
+ throw new Error(`api error: ${result.error}`);
73
+ }
74
+ // @ts-ignore
75
+ const realData = result.data.catalog.contentsConnection.edges
76
+ .map((edge) => edge.content)
77
+ .map((match) => {
78
+ const { __typename, ...rest } = match;
79
+ return rest;
80
+ });
81
+ return realData;
82
+ };
83
+
84
+ export const handleApiArticleByCategoryId = async ({
85
+ appId,
86
+ apiUrl,
87
+ categoryId,
88
+ }) => {
89
+ const content = await getContent({ appId, apiUrl, categoryId });
90
+ return {
91
+ status: 200,
92
+ headers: {
93
+ "content-type": "application/json",
94
+ },
95
+ body: JSON.stringify(content, null, 2),
96
+ };
97
+ };
@@ -0,0 +1,38 @@
1
+ import * as GraphQlQueryAuthors from "../GraphQlQueryAuthors/GraphQlQueryAuthors.js";
2
+
3
+ export const handleAuthors = async ({ appId, apiUrl, req }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryAuthors.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryAuthors.bottom.appInfo,
8
+ appId,
9
+ },
10
+ };
11
+ const response = await fetch(apiUrl, {
12
+ method: "POST",
13
+ headers: {
14
+ Accept: "application/json",
15
+ "Content-Type": "application/json",
16
+ },
17
+ body: JSON.stringify({
18
+ operationName: "CatalogContentsQuery",
19
+ query: GraphQlQueryAuthors.top,
20
+ variables: realBottom,
21
+ }),
22
+ });
23
+ const result = await response.json();
24
+ // @ts-ignore
25
+ const realData = result.data.catalog.taxonomiesConnection.edges
26
+ .map((edge) => edge.node)
27
+ .map((node) => {
28
+ const { __typename, ...rest } = node;
29
+ return rest;
30
+ });
31
+ return {
32
+ status: 200,
33
+ headers: {
34
+ "content-type": "application/json",
35
+ },
36
+ body: JSON.stringify(realData, null, 2),
37
+ };
38
+ };
@@ -0,0 +1,38 @@
1
+ import * as GraphQlQueryCategories from "../GraphQlQueryCategories/GraphQlQueryCategories.js";
2
+
3
+ export const handleCategories = async ({ appId, apiUrl, req }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryCategories.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryCategories.bottom.appInfo,
8
+ appId,
9
+ },
10
+ };
11
+ const response = await fetch(apiUrl, {
12
+ method: "POST",
13
+ headers: {
14
+ Accept: "application/json",
15
+ "Content-Type": "application/json",
16
+ },
17
+ body: JSON.stringify({
18
+ operationName: "CatalogContentsQuery",
19
+ query: GraphQlQueryCategories.top,
20
+ variables: realBottom,
21
+ }),
22
+ });
23
+ const result = await response.json();
24
+ // @ts-ignore
25
+ const realData = result.data.catalog.taxonomiesConnection.edges
26
+ .map((edge) => edge.node)
27
+ .map((node) => {
28
+ const { __typename, ...rest } = node;
29
+ return rest;
30
+ });
31
+ return {
32
+ status: 200,
33
+ headers: {
34
+ "content-type": "application/json",
35
+ },
36
+ body: JSON.stringify(realData, null, 2),
37
+ };
38
+ };
@@ -0,0 +1,62 @@
1
+ import * as GraphQlQueryCollection from "../GraphQlQueryCollection/GraphQlQueryCollection.js";
2
+
3
+ const getCollections = async ({ appId, apiUrl, name }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryCollection.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryCollection.bottom.appInfo,
8
+ appId,
9
+ },
10
+ filter: {
11
+ name: {
12
+ value: name,
13
+ },
14
+ },
15
+ };
16
+ const response = await fetch(apiUrl, {
17
+ method: "POST",
18
+ headers: {
19
+ Accept: "application/json",
20
+ "Content-Type": "application/json",
21
+ },
22
+ body: JSON.stringify({
23
+ operationName: GraphQlQueryCollection.queryName,
24
+ query: GraphQlQueryCollection.top,
25
+ variables: realBottom,
26
+ }),
27
+ });
28
+ const result = await response.json();
29
+ // @ts-ignore
30
+ if (result && result.error) {
31
+ // @ts-ignore
32
+ throw new Error(`api error: ${result.error}`);
33
+ }
34
+ // @ts-ignore
35
+ if (result && result.errors) {
36
+ // @ts-ignore
37
+ throw new Error(`api error: ${result.errors[0].message}`);
38
+ }
39
+ console.log({ result });
40
+ // @ts-ignore
41
+ const realData = result.data.catalog.collectionsConnection.edges
42
+ .map((edge) => {
43
+ return edge.node;
44
+ })
45
+ .map((match) => {
46
+ const { __typename, ...rest } = match;
47
+ return rest;
48
+ });
49
+ return realData;
50
+ };
51
+
52
+ export const handleApiCollection = async ({ appId, apiUrl, req }) => {
53
+ const name = req.url.slice("/collections/".length);
54
+ const content = await getCollections({ appId, apiUrl, name });
55
+ return {
56
+ status: 200,
57
+ headers: {
58
+ "content-type": "application/json",
59
+ },
60
+ body: JSON.stringify(content, null, 2),
61
+ };
62
+ };
@@ -0,0 +1,52 @@
1
+ import * as GraphQlQueryCollections from "../GraphQlQueryCollections/GraphQlQueryCollections.js";
2
+
3
+ const getCollections = async ({ appId, apiUrl }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryCollections.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryCollections.bottom.appInfo,
8
+ appId,
9
+ },
10
+ filter: {},
11
+ };
12
+ const response = await fetch(apiUrl, {
13
+ method: "POST",
14
+ headers: {
15
+ Accept: "application/json",
16
+ "Content-Type": "application/json",
17
+ },
18
+ body: JSON.stringify({
19
+ operationName: GraphQlQueryCollections.queryName,
20
+ query: GraphQlQueryCollections.top,
21
+ variables: realBottom,
22
+ }),
23
+ });
24
+ const result = await response.json();
25
+ // @ts-ignore
26
+ if (result && result.error) {
27
+ // @ts-ignore
28
+ throw new Error(`api error: ${result.error}`);
29
+ }
30
+ // @ts-ignore
31
+ const realData = result.data.catalog.collectionsConnection.edges
32
+ .map((edge) => {
33
+ return edge.node;
34
+ })
35
+ .map((match) => {
36
+ const { __typename, ...rest } = match;
37
+ return rest;
38
+ });
39
+ return realData;
40
+ };
41
+
42
+ export const handleApiCollections = async ({ appId, apiUrl, req }) => {
43
+ const content = await getCollections({ appId, apiUrl });
44
+ console.log({ content });
45
+ return {
46
+ status: 200,
47
+ headers: {
48
+ "content-type": "application/json",
49
+ },
50
+ body: JSON.stringify(content, null, 2),
51
+ };
52
+ };
@@ -0,0 +1,109 @@
1
+ import * as GraphQlQueryPathSegment from "../GraphQlQueryPathSegment/GraphQlQueryPathSegment.js";
2
+ import * as GraphQlQueryDossier from "../GraphQlQueryDossier/GraphQlQueryDossier.js";
3
+
4
+ const getBundleId = async ({ appId, reqUrl }) => {
5
+ const url = `https://catalog.purplemanager.com/graphql`;
6
+ const part = reqUrl.slice("/dossiers".length + 1);
7
+ const realBottom = {
8
+ ...GraphQlQueryPathSegment.bottom1,
9
+ appInfo: {
10
+ ...GraphQlQueryPathSegment.bottom1.appInfo,
11
+ appId,
12
+ },
13
+ pathSegments: [part],
14
+ };
15
+ const response = await fetch(url, {
16
+ method: "POST",
17
+ headers: {
18
+ Accept: "application/json",
19
+ "Content-Type": "application/json",
20
+ },
21
+ body: JSON.stringify({
22
+ operationName: "LookupPathSegmentsQuery",
23
+ query: GraphQlQueryPathSegment.top1,
24
+ variables: realBottom,
25
+ }),
26
+ });
27
+ const result = await response.json();
28
+ // @ts-ignore
29
+ const items = result.data.catalog.lookupPathSegments.flatMap(
30
+ (item) => item.matches
31
+ );
32
+ if (items.length === 0) {
33
+ return "";
34
+ }
35
+ const id = items[0].id;
36
+ return id;
37
+ };
38
+
39
+ export const handleDossier = async ({ appId, apiUrl, req }) => {
40
+ const bundleId = await getBundleId({
41
+ appId,
42
+ reqUrl: req.url,
43
+ });
44
+ if (!bundleId) {
45
+ return {
46
+ status: 404,
47
+ headers: {},
48
+ body: "Not found",
49
+ };
50
+ }
51
+ const realBottom = {
52
+ ...GraphQlQueryDossier.bottom1,
53
+ appInfo: {
54
+ ...GraphQlQueryDossier.bottom1.appInfo,
55
+ appId,
56
+ },
57
+ filter: {
58
+ AND: [
59
+ {
60
+ postType: {
61
+ value: "post",
62
+ },
63
+ },
64
+ {
65
+ contentType: {
66
+ value: "POST",
67
+ },
68
+ },
69
+ {
70
+ AND: [
71
+ {
72
+ bundleId: {
73
+ value: bundleId,
74
+ },
75
+ },
76
+ ],
77
+ },
78
+ ],
79
+ },
80
+ };
81
+ const response = await fetch(apiUrl, {
82
+ method: "POST",
83
+ headers: {
84
+ Accept: "application/json",
85
+ "Content-Type": "application/json",
86
+ },
87
+ body: JSON.stringify({
88
+ operationName: "CatalogContentsQuery",
89
+ query: GraphQlQueryDossier.top1,
90
+ variables: realBottom,
91
+ }),
92
+ });
93
+ const result = await response.json();
94
+ // @ts-ignore
95
+ const realData = result.data.catalog.contentsConnection.edges
96
+ .map((edge) => edge.content)
97
+ .map((node) => {
98
+ const { __typename, ...rest } = node;
99
+ return rest;
100
+ });
101
+
102
+ return {
103
+ status: 200,
104
+ headers: {
105
+ "content-type": "application/json",
106
+ },
107
+ body: JSON.stringify(realData, null, 2),
108
+ };
109
+ };
@@ -0,0 +1,39 @@
1
+ import * as GraphQlQueryDossiers from "../GraphQlQueryDossiers/GraphQlQueryDossiers.js";
2
+
3
+ export const handleDossiers = async ({ appId, apiUrl, req }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryDossiers.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryDossiers.bottom.appInfo,
8
+ appId,
9
+ },
10
+ };
11
+ const response = await fetch(apiUrl, {
12
+ method: "POST",
13
+ headers: {
14
+ Accept: "application/json",
15
+ "Content-Type": "application/json",
16
+ },
17
+ body: JSON.stringify({
18
+ operationName: "CatalogContentsQuery",
19
+ query: GraphQlQueryDossiers.top,
20
+ variables: realBottom,
21
+ }),
22
+ });
23
+ const result = await response.json();
24
+ // @ts-ignore
25
+ const realData = result.data.catalog.contentsConnection.edges
26
+ .map((edge) => edge.content)
27
+ .map((node) => {
28
+ const { __typename, ...rest } = node;
29
+ return rest;
30
+ });
31
+
32
+ return {
33
+ status: 200,
34
+ headers: {
35
+ "content-type": "application/json",
36
+ },
37
+ body: JSON.stringify(realData, null, 2),
38
+ };
39
+ };
@@ -0,0 +1,30 @@
1
+ export const handleIndex = async (req, res, next) => {
2
+ const html = `<!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Api</title>
8
+ </head>
9
+ <body>
10
+ <ul>
11
+ <li><a href="/api/issues">Issues</a></li>
12
+ <li><a href="/api/dossiers">Dossiers</a></li>
13
+ <li><a href="/api/categories">Categories</a></li>
14
+ <li><a href="/api/articles">Articles</a></li>
15
+ <li><a href="/api/authors">Authors</a></li>
16
+ <li><a href="/api/collections">Collections</a></li>
17
+ <li><a href="/api/menus">Menus</a></li>
18
+ <li><a href="/api/appSettings">App Settings</a></li>
19
+ </ul>
20
+ </body>
21
+ </html>
22
+ `;
23
+ return {
24
+ body: html,
25
+ status: 200,
26
+ headers: {
27
+ "content-type": "text.html",
28
+ },
29
+ };
30
+ };
@@ -0,0 +1,39 @@
1
+ import * as GraphQlQueryIssues from "../GraphQlQueryIssues/GraphQlQueryIssues.js";
2
+
3
+ export const handleIssues = async ({ appId, apiUrl, req }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryIssues.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryIssues.bottom.appInfo,
8
+ appId,
9
+ },
10
+ };
11
+ const response = await fetch(apiUrl, {
12
+ method: "POST",
13
+ headers: {
14
+ Accept: "application/json",
15
+ "Content-Type": "application/json",
16
+ },
17
+ body: JSON.stringify({
18
+ operationName: "CatalogContentsQuery",
19
+ query: GraphQlQueryIssues.top,
20
+ variables: realBottom,
21
+ }),
22
+ });
23
+ const result = await response.json();
24
+ // @ts-ignore
25
+ const realData = result.data.catalog.contentsConnection.edges
26
+ .map((edge) => edge.content)
27
+ .map((node) => {
28
+ const { __typename, ...rest } = node;
29
+ return rest;
30
+ });
31
+
32
+ return {
33
+ status: 200,
34
+ headers: {
35
+ "content-type": "application/json",
36
+ },
37
+ body: JSON.stringify(realData, null, 2),
38
+ };
39
+ };
@@ -0,0 +1,40 @@
1
+ import * as GraphQlQueryMenus from "../GraphQlQueryMenus/GraphQlQueryMenus.js";
2
+
3
+ export const handleMenus = async ({ appId, apiUrl, req }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryMenus.bottom,
6
+ filter: {},
7
+ appInfo: {
8
+ ...GraphQlQueryMenus.bottom.appInfo,
9
+ appId,
10
+ },
11
+ };
12
+ const response = await fetch(apiUrl, {
13
+ method: "POST",
14
+ headers: {
15
+ Accept: "application/json",
16
+ "Content-Type": "application/json",
17
+ },
18
+ body: JSON.stringify({
19
+ operationName: GraphQlQueryMenus.queryName,
20
+ query: GraphQlQueryMenus.top,
21
+ variables: realBottom,
22
+ }),
23
+ });
24
+ const result = await response.json();
25
+ // @ts-ignore
26
+ const realData = result.data.catalog.menusConnection.edges
27
+ .map((edge) => edge.content)
28
+ .map((node) => {
29
+ const { __typename, ...rest } = node;
30
+ return rest;
31
+ });
32
+
33
+ return {
34
+ headers: {
35
+ "content-type": "application/json",
36
+ },
37
+ status: 200,
38
+ body: JSON.stringify(realData, null, 2),
39
+ };
40
+ };
@@ -0,0 +1,63 @@
1
+ import * as GraphQlQueryContent from "../GraphQlQueryContent/GraphQlQueryContent.js";
2
+
3
+ const getContent = async ({ appId, apiUrl, postId }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryContent.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryContent.bottom.appInfo,
8
+ appId,
9
+ },
10
+ filter: {
11
+ id: {
12
+ value: postId,
13
+ },
14
+ },
15
+ };
16
+ const response = await fetch(apiUrl, {
17
+ method: "POST",
18
+ headers: {
19
+ Accept: "application/json",
20
+ "Content-Type": "application/json",
21
+ },
22
+ body: JSON.stringify({
23
+ operationName: GraphQlQueryContent.queryName,
24
+ query: GraphQlQueryContent.top,
25
+ variables: realBottom,
26
+ }),
27
+ });
28
+ const result = await response.json();
29
+ // @ts-ignore
30
+ if (result && result.error) {
31
+ // @ts-ignore
32
+ throw new Error(`api error: ${result.error}`);
33
+ }
34
+ // @ts-ignore
35
+ const realData = result.data.catalog.contentsConnection.edges
36
+ .map((edge) => edge.content)
37
+ .map((match) => {
38
+ const { __typename, ...rest } = match;
39
+ return rest;
40
+ });
41
+ return realData;
42
+ };
43
+
44
+ export const handleApiPostByName = async ({ postIds, appId, apiUrl }) => {
45
+ if (postIds.length === 0) {
46
+ return {
47
+ status: 404,
48
+ headers: {
49
+ "content-type": "application/json",
50
+ },
51
+ body: JSON.stringify("Not found", null, 2),
52
+ };
53
+ }
54
+ const postId = postIds[0];
55
+ const content = await getContent({ appId, apiUrl, postId });
56
+ return {
57
+ status: 200,
58
+ headers: {
59
+ "content-type": "application/json",
60
+ },
61
+ body: JSON.stringify(content, null, 2),
62
+ };
63
+ };
@@ -0,0 +1,10 @@
1
+ import * as HandleMessage from "../HandleMessage/HandleMessage.js";
2
+
3
+ export const handleIpc = (ipc) => {
4
+ if ("addEventListener" in ipc) {
5
+ ipc.addEventListener("message", HandleMessage.handleMessage);
6
+ } else if ("on" in ipc) {
7
+ // deprecated
8
+ ipc.on("message", HandleMessage.handleMessage);
9
+ }
10
+ };