@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
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";