@pronto-tools-and-more/api 12.35.1

Sign up to get free protection for your applications and to get access to all the features.
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
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@pronto-tools-and-more/api",
3
+ "version": "12.35.1",
4
+ "description": "",
5
+ "main": "src/main.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "test": "echo ok",
9
+ "test:watch": "node --unhandled-rejections=warn --experimental-vm-modules ./node_modules/jest/bin/jest.js --watch",
10
+ "type-check": "tsc"
11
+ },
12
+ "keywords": [],
13
+ "author": "",
14
+ "license": "MIT",
15
+ "dependencies": {
16
+ "@lvce-editor/ipc": "^13.7.0",
17
+ "@lvce-editor/json-rpc": "^5.4.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^22.10.0"
21
+ }
22
+ }
package/src/main.js ADDED
@@ -0,0 +1,3 @@
1
+ import * as Main from "./parts/Main/Main.js";
2
+
3
+ Main.main();
@@ -0,0 +1 @@
1
+ export { resolve } from "@lvce-editor/json-rpc";
@@ -0,0 +1,9 @@
1
+ import * as CommandState from "../CommandState/CommandState.js";
2
+
3
+ export const execute = (command, ...args) => {
4
+ const fn = CommandState.getCommand(command);
5
+ if (!fn) {
6
+ throw new Error(`Command not found ${command}`);
7
+ }
8
+ return fn(...args);
9
+ };
@@ -0,0 +1,5 @@
1
+ import * as HandleApi from "../HandleApi/HandleApi.js";
2
+
3
+ export const commandMap = {
4
+ "Api.handleApi": HandleApi.handleApi,
5
+ };
@@ -0,0 +1,17 @@
1
+ const state = {
2
+ commands: Object.create(null),
3
+ };
4
+
5
+ const registerCommand = (key, fn) => {
6
+ state.commands[key] = fn;
7
+ };
8
+
9
+ export const registerCommands = (commandMap) => {
10
+ for (const [key, value] of Object.entries(commandMap)) {
11
+ registerCommand(key, value);
12
+ }
13
+ };
14
+
15
+ export const getCommand = (key) => {
16
+ return state.commands[key];
17
+ };
@@ -0,0 +1,2 @@
1
+ export const ProcessingResources = "E_PROCESSING_RESOURCES";
2
+ export const CloudFront504 = "E_CLOUDFRONT_504";
@@ -0,0 +1,41 @@
1
+ import * as GraphQlQueryPathSegments from "../GraphQlQueryPathSegments/GraphQlQueryPathSegments.js";
2
+
3
+ export const getPostIds = async ({ appId, apiUrl, slug }) => {
4
+ const realBottom = {
5
+ ...GraphQlQueryPathSegments.bottom,
6
+ appInfo: {
7
+ ...GraphQlQueryPathSegments.bottom.appInfo,
8
+ appId,
9
+ },
10
+ pathSegments: [slug],
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: GraphQlQueryPathSegments.queryName,
20
+ query: GraphQlQueryPathSegments.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.lookupPathSegments
32
+ .flatMap((item) => item.matches)
33
+ .map((match) => {
34
+ const { __typename, ...rest } = match;
35
+ return rest;
36
+ })
37
+ .map((match) => {
38
+ return match.id;
39
+ });
40
+ return realData;
41
+ };
@@ -0,0 +1,42 @@
1
+ export const top = `query AppSettingsQuery($appInfo: AppInfo!, $deviceInfo: DeviceInfo!, $authorization: Authorization!, $filter: AppSettingFilter, $first: Int, $after: String) {
2
+ catalog(
3
+ appInfo: $appInfo
4
+ deviceInfo: $deviceInfo
5
+ authorization: $authorization
6
+ ) {
7
+ appSettingsConnection(filter: $filter, first: $first, after: $after) {
8
+ edges {
9
+ node {
10
+ key
11
+ value
12
+ }
13
+ }
14
+ pageInfo {
15
+ hasNextPage
16
+ endCursor
17
+ }
18
+ }
19
+ }
20
+ }`;
21
+
22
+ export const bottom = {
23
+ first: 200,
24
+ appInfo: {
25
+ appId: "",
26
+ appVersion: "1.0-SNAPSHOT",
27
+ preview: true,
28
+ },
29
+ deviceInfo: {
30
+ deviceId: "editor-preview",
31
+ deviceModel: "web",
32
+ locale: "de_DE",
33
+ smallestScreenWidthDp: 0,
34
+ deviceOs: "web",
35
+ platform: "WEB",
36
+ },
37
+ authorization: {
38
+ subscriptionCodes: [],
39
+ },
40
+ };
41
+
42
+ export const queryName = "AppSettingsQuery";
@@ -0,0 +1,66 @@
1
+ export const top = `query CatalogContentsQuery($appInfo: AppInfo!, $deviceInfo: DeviceInfo!, $authorization: Authorization!, $first: Int, $after: String, ) {
2
+ catalog(
3
+ appInfo: $appInfo
4
+ deviceInfo: $deviceInfo
5
+ authorization: $authorization
6
+ ) {
7
+ taxonomiesConnection(first: $first, after: $after, filter:{type:{
8
+ value:"author"
9
+ }}) {
10
+ pageInfo {
11
+ hasNextPage
12
+ __typename
13
+ }
14
+ totalCount
15
+ edges {
16
+ cursor
17
+ node {
18
+ name
19
+ properties {
20
+ key
21
+ value
22
+ }
23
+ thumbnails {
24
+ properties {
25
+ key
26
+ value
27
+ }
28
+ }
29
+
30
+ __typename
31
+ }
32
+ __typename
33
+ }
34
+ __typename
35
+ }
36
+ __typename
37
+ }
38
+ }`;
39
+
40
+ export const bottom = {
41
+ appInfo: {
42
+ appId: "",
43
+ appVersion: "1.0-SNAPSHOT",
44
+ preview: true,
45
+ },
46
+ deviceInfo: {
47
+ deviceId: "editor-preview",
48
+ deviceModel: "web",
49
+ locale: "de_DE",
50
+ deviceOs: "web",
51
+ platform: "WEB",
52
+ },
53
+ comparators: [
54
+ {
55
+ publicationDate: {
56
+ direction: "DESC",
57
+ },
58
+ },
59
+ ],
60
+ first: 99999,
61
+ includeBlocks: false,
62
+ includeHtml: false,
63
+ includeResources: false,
64
+ includeBundledContent: false,
65
+ authorization: {},
66
+ };
@@ -0,0 +1,66 @@
1
+ export const top = `query CatalogContentsQuery($appInfo: AppInfo!, $deviceInfo: DeviceInfo!, $authorization: Authorization!, $first: Int, $after: String, ) {
2
+ catalog(
3
+ appInfo: $appInfo
4
+ deviceInfo: $deviceInfo
5
+ authorization: $authorization
6
+ ) {
7
+ taxonomiesConnection(first: $first, after: $after, filter:{type:{
8
+ value:"category"
9
+ }}) {
10
+ pageInfo {
11
+ hasNextPage
12
+ __typename
13
+ }
14
+ totalCount
15
+ edges {
16
+ cursor
17
+ node {
18
+ name
19
+ properties {
20
+ key
21
+ value
22
+ }
23
+ thumbnails {
24
+ properties {
25
+ key
26
+ value
27
+ }
28
+ }
29
+
30
+ __typename
31
+ }
32
+ __typename
33
+ }
34
+ __typename
35
+ }
36
+ __typename
37
+ }
38
+ }`;
39
+
40
+ export const bottom = {
41
+ appInfo: {
42
+ appId: "",
43
+ appVersion: "1.0-SNAPSHOT",
44
+ preview: true,
45
+ },
46
+ deviceInfo: {
47
+ deviceId: "editor-preview",
48
+ deviceModel: "web",
49
+ locale: "de_DE",
50
+ deviceOs: "web",
51
+ platform: "WEB",
52
+ },
53
+ comparators: [
54
+ {
55
+ publicationDate: {
56
+ direction: "DESC",
57
+ },
58
+ },
59
+ ],
60
+ first: 99999,
61
+ includeBlocks: false,
62
+ includeHtml: false,
63
+ includeResources: false,
64
+ includeBundledContent: false,
65
+ authorization: {},
66
+ };
@@ -0,0 +1,227 @@
1
+ export const top = `query CatalogCollections($appInfo: AppInfo!, $deviceInfo: DeviceInfo!, $authorization: Authorization!, $filter: CollectionFilter, $sort: [CollectionComparator!], $first: Int, $after: String, $includeElements: Boolean!, $elementsFirst: Int, $elementsAfter: String, $includeBundledContent: Boolean!, $includeResources: Boolean!, $includeBlocks: Boolean!, $includeHtml: Boolean!, $includeContentSeoMetadata: Boolean!, $propertyFilter: PropertyFilter) {
2
+ catalog(
3
+ appInfo: $appInfo
4
+ deviceInfo: $deviceInfo
5
+ authorization: $authorization
6
+ ) {
7
+ collectionsConnection(
8
+ filter: $filter
9
+ sort: $sort
10
+ first: $first
11
+ after: $after
12
+ ) {
13
+ pageInfo {
14
+ hasNextPage
15
+ endCursor
16
+ }
17
+ edges {
18
+ node {
19
+ id
20
+ name
21
+ properties {
22
+ key
23
+ value
24
+ }
25
+ elementsConnection(first: $elementsFirst, after: $elementsAfter) @include(if: $includeElements) {
26
+ pageInfo {
27
+ hasNextPage
28
+ endCursor
29
+ }
30
+ edges {
31
+ node {
32
+ __typename
33
+ ... on ContentElement {
34
+ id
35
+ sortIndex
36
+ content {
37
+ ...ContentFragment
38
+ ...IssueFragment
39
+ ...PostFragment
40
+ ...BundleFragment
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ fragment ContentFragment on Content {
53
+ __typename
54
+ id
55
+ version
56
+ name
57
+ description
58
+ index
59
+ alias
60
+ externalId
61
+ publicationDate
62
+ unpublishDate
63
+ lastModified
64
+ access
65
+ productId
66
+ purchaseData {
67
+ purchased
68
+ purchasedBy
69
+ }
70
+ publication {
71
+ id
72
+ }
73
+ properties(filter: $propertyFilter) {
74
+ key
75
+ value
76
+ }
77
+ seoMetadata @include(if: $includeContentSeoMetadata) {
78
+ key
79
+ value
80
+ }
81
+ thumbnails {
82
+ kind
83
+ url
84
+ properties {
85
+ key
86
+ value
87
+ }
88
+ }
89
+ categories
90
+ tags
91
+ }
92
+
93
+ fragment IssueFragment on Issue {
94
+ contentLength
95
+ numberOfPages
96
+ previewContentLength
97
+ resources @include(if: $includeResources) {
98
+ id
99
+ url
100
+ type
101
+ contentLength
102
+ properties {
103
+ key
104
+ value
105
+ type
106
+ }
107
+ }
108
+ }
109
+
110
+ fragment PostFragment on Post {
111
+ postType
112
+ bundleId
113
+ bundles {
114
+ id
115
+ bundleType
116
+ }
117
+ taxonomies {
118
+ ...TaxonomySummaryFragment
119
+ }
120
+ authors {
121
+ name
122
+ email
123
+ }
124
+ bundleId
125
+ content @include(if: $includeBlocks) {
126
+ ...ContentBlockFragment
127
+ }
128
+ previewContentBlocks @include(if: $includeBlocks) {
129
+ ...ContentBlockFragment
130
+ }
131
+ contentHtml @include(if: $includeHtml)
132
+ previewContentHtml @include(if: $includeHtml)
133
+ resources @include(if: $includeResources) {
134
+ id
135
+ url
136
+ type
137
+ contentLength
138
+ properties {
139
+ key
140
+ value
141
+ type
142
+ }
143
+ }
144
+ }
145
+
146
+ fragment ContentBlockFragment on ContentBlock {
147
+ id
148
+ type
149
+ parentId
150
+ children
151
+ sequence
152
+ html
153
+ level
154
+ properties {
155
+ key
156
+ value
157
+ type
158
+ }
159
+ }
160
+
161
+ fragment BundleFragment on Bundle {
162
+ bundleType
163
+ taxonomies {
164
+ ...TaxonomySummaryFragment
165
+ }
166
+ authors {
167
+ name
168
+ email
169
+ }
170
+ contents @include(if: $includeBundledContent) {
171
+ id
172
+ content {
173
+ ...ContentFragment
174
+ ...PostFragment
175
+ }
176
+ }
177
+ }
178
+
179
+ fragment TaxonomySummaryFragment on Taxonomy {
180
+ id
181
+ internalId
182
+ name
183
+ type
184
+ parentId
185
+ seoMetadata @include(if: $includeContentSeoMetadata) {
186
+ key
187
+ value
188
+ }
189
+ properties {
190
+ key
191
+ value
192
+ }
193
+ }`;
194
+
195
+ export const bottom = {
196
+ filter: {
197
+ name: {
198
+ value: "",
199
+ },
200
+ },
201
+ first: 24,
202
+ includeElements: true,
203
+ elementsFirst: 100,
204
+ includeBlocks: false,
205
+ includeHtml: false,
206
+ includeResources: false,
207
+ includeBundledContent: false,
208
+ includeContentSeoMetadata: false,
209
+ appInfo: {
210
+ appId: "",
211
+ appVersion: "1.0-SNAPSHOT",
212
+ preview: true,
213
+ },
214
+ deviceInfo: {
215
+ deviceId: "editor-preview",
216
+ deviceModel: "web",
217
+ locale: "de_DE",
218
+ smallestScreenWidthDp: 0,
219
+ deviceOs: "web",
220
+ platform: "WEB",
221
+ },
222
+ authorization: {
223
+ subscriptionCodes: [],
224
+ },
225
+ };
226
+
227
+ export const queryName = "CatalogCollections";