@raketa-cloud/admin 0.0.88 → 0.0.90
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/jest.config.js +22 -0
- package/package.json +2 -2
- package/src/cloud/ArticleRevisions.js +33 -5
- package/src/cloud/Articles.js +34 -4
- package/src/cloud/EventRevisions.js +33 -5
- package/src/cloud/Events.js +35 -5
- package/src/cloud/PageRevisions.js +31 -3
- package/src/cloud/Pages.js +34 -4
- package/src/cloud/documents/articlesDocuments.js +44 -3
- package/src/cloud/documents/eventsDocuments.js +43 -2
- package/src/cloud/documents/pagesDocuments.js +43 -2
- package/src/handlers/articles/TranslationsHandler.js +81 -15
- package/src/handlers/events/TranslationsHandler.js +80 -14
- package/src/handlers/pages/TranslationsHandler.js +84 -18
- package/src/helpers/AuthHelper.js +2 -2
- package/src/tests/handlers/TagsHandler.test/create.test.js +96 -0
- package/src/tests/handlers/TagsHandler.test/create_form.test.js +25 -0
- package/src/tests/handlers/TagsHandler.test/destroy.test.js +51 -0
- package/src/tests/handlers/TagsHandler.test/edit_form.test.js +60 -0
- package/src/tests/handlers/TagsHandler.test/index.test.js +37 -0
- package/src/tests/handlers/TagsHandler.test/update.test.js +105 -0
- package/src/tests/handlers/articles/TranslationHandler.test/create.test.js +85 -79
- package/src/tests/handlers/events/TranslationHandler.test/create.test.js +84 -78
- package/src/tests/handlers/pages/TranslationHandler.test/create.test.js +83 -72
- package/src/tests/helpers/AuthHelper.test.js +169 -0
- package/src/tests/helpers/FormBuildert.test.js +357 -0
- package/src/tests/helpers/Inflector.test.js +75 -0
- package/src/views/articles/translations/create_form.ejs +2 -0
- package/src/views/events/translations/create_form.ejs +2 -0
- package/src/views/pages/translations/create_form.ejs +3 -1
package/jest.config.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** @type {import('jest').Config} */
|
|
2
|
+
const config = {
|
|
3
|
+
collectCoverageFrom: [
|
|
4
|
+
"**/*.{js,jsx}",
|
|
5
|
+
"!**/*.config.js",
|
|
6
|
+
"!**/node_modules/**",
|
|
7
|
+
"!**/vendor/**",
|
|
8
|
+
"!**/cloud/**",
|
|
9
|
+
"!**/coverage/**",
|
|
10
|
+
"!**/tests/support/**",
|
|
11
|
+
],
|
|
12
|
+
coverageThreshold: {
|
|
13
|
+
global: {
|
|
14
|
+
branches: 71,
|
|
15
|
+
functions: 74,
|
|
16
|
+
lines: 78,
|
|
17
|
+
statements: 78,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
module.exports = config;
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@raketa-cloud/admin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.90",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "npx tailwindcss -i ./src/styles/application.css -o ../../apps/admin/static/application.css --watch",
|
|
7
|
-
"test": "jest"
|
|
7
|
+
"test": "jest --coverage --coverageReporters=text --coverageReporters=\"text-summary\""
|
|
8
8
|
},
|
|
9
9
|
"devDependencies": {
|
|
10
10
|
"@babel/core": "7.24.7",
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
import { toUTCISO8601String } from "../utils";
|
|
1
2
|
import RaketaClient from "./RaketaClient";
|
|
2
3
|
import {
|
|
4
|
+
ArticleRevisionDocument,
|
|
5
|
+
ArticleRevisionsDocument,
|
|
6
|
+
CancelArticleRevisionScheduleDocument,
|
|
7
|
+
buildBatchStartArticleRevisionDocument,
|
|
3
8
|
DeleteArticleDocument,
|
|
4
9
|
LockArticleRevisionDocument,
|
|
5
10
|
MergeArticleRevisionDocument,
|
|
11
|
+
ReopenArticleChangeDocument,
|
|
6
12
|
ScheduleArticleRevisionDocument,
|
|
7
|
-
CancelArticleRevisionScheduleDocument,
|
|
8
|
-
ArticleRevisionDocument,
|
|
9
|
-
ArticleRevisionsDocument,
|
|
10
13
|
StartArticleRevisionDocument,
|
|
11
14
|
UnlockArticleRevisionDocument,
|
|
12
15
|
UpdateArticleDocument,
|
|
13
16
|
UpdateArticleWidgetsDocument,
|
|
14
|
-
ReopenArticleChangeDocument,
|
|
15
17
|
} from "./documents/articlesDocuments";
|
|
16
|
-
import { toUTCISO8601String } from "../utils";
|
|
17
18
|
|
|
18
19
|
export default class ArticleRevisions extends RaketaClient {
|
|
19
20
|
selectUpdateParams(revision) {
|
|
@@ -122,6 +123,33 @@ export default class ArticleRevisions extends RaketaClient {
|
|
|
122
123
|
return { revision, errors, articleErrors };
|
|
123
124
|
}
|
|
124
125
|
|
|
126
|
+
async createBatch(revisionInputs) {
|
|
127
|
+
const BatchDocument = buildBatchStartArticleRevisionDocument(
|
|
128
|
+
revisionInputs.length
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
const variables = {};
|
|
132
|
+
revisionInputs.forEach((input, i) => {
|
|
133
|
+
variables[`input${i}`] = {
|
|
134
|
+
id: input.articleId,
|
|
135
|
+
locale: input.locale,
|
|
136
|
+
title: "New revision",
|
|
137
|
+
description: "",
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
const response = await this.query(BatchDocument, variables);
|
|
142
|
+
|
|
143
|
+
return revisionInputs.map((_, i) => {
|
|
144
|
+
const result = response[`startRevision${i}`];
|
|
145
|
+
return {
|
|
146
|
+
revision: result.revision,
|
|
147
|
+
errors: result.errors,
|
|
148
|
+
articleErrors: result.articleErrors,
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
125
153
|
async update(id, locale, params) {
|
|
126
154
|
const copyParams = { ...params };
|
|
127
155
|
|
package/src/cloud/Articles.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { toDateTimeInput, toUTCISO8601String } from "../utils";
|
|
1
2
|
import RaketaClient from "./RaketaClient";
|
|
2
3
|
import {
|
|
3
|
-
CreateArticleDocument,
|
|
4
4
|
ArticleByIdDocument,
|
|
5
5
|
ArticlesDocument,
|
|
6
|
+
ChangeArticleSlugDocument,
|
|
6
7
|
CloneArticleDocument,
|
|
8
|
+
CreateArticleDocument,
|
|
9
|
+
buildBatchTranslateArticleDocument,
|
|
7
10
|
DeleteArticleDocument,
|
|
8
|
-
TranslateArticleDocument,
|
|
9
|
-
ChangeArticleSlugDocument,
|
|
10
11
|
MiniArticlesDocument,
|
|
12
|
+
TranslateArticleDocument,
|
|
11
13
|
} from "./documents/articlesDocuments";
|
|
12
|
-
import { toDateTimeInput, toUTCISO8601String } from "../utils";
|
|
13
14
|
|
|
14
15
|
export default class Articles extends RaketaClient {
|
|
15
16
|
defaults() {
|
|
@@ -142,6 +143,35 @@ export default class Articles extends RaketaClient {
|
|
|
142
143
|
return { article, errors };
|
|
143
144
|
}
|
|
144
145
|
|
|
146
|
+
async translateBatch(sourceArticleId, locales, params) {
|
|
147
|
+
const paramsCopy = { ...params };
|
|
148
|
+
paramsCopy.widgets = JSON.stringify(paramsCopy.widgets);
|
|
149
|
+
paramsCopy.settings = JSON.stringify(paramsCopy.settings);
|
|
150
|
+
|
|
151
|
+
const BatchTranslateDocument = buildBatchTranslateArticleDocument(
|
|
152
|
+
locales.length
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
const variables = {};
|
|
156
|
+
locales.forEach((locale, i) => {
|
|
157
|
+
variables[`input${i}`] = {
|
|
158
|
+
locale,
|
|
159
|
+
sourceArticleId,
|
|
160
|
+
article: paramsCopy,
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
const response = await this.query(BatchTranslateDocument, variables);
|
|
165
|
+
|
|
166
|
+
return locales.map((_, i) => {
|
|
167
|
+
const result = response[`translate${i}`];
|
|
168
|
+
return {
|
|
169
|
+
article: result.article,
|
|
170
|
+
errors: result.errors,
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
145
175
|
async updateSlug(id, slug, locale, redirect) {
|
|
146
176
|
const input = {
|
|
147
177
|
id,
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
import { toUTCISO8601String } from "../utils";
|
|
1
2
|
import RaketaClient from "./RaketaClient";
|
|
2
3
|
import {
|
|
4
|
+
CancelEventRevisionScheduleDocument,
|
|
5
|
+
buildBatchStartEventRevisionDocument,
|
|
3
6
|
DeleteEventDocument,
|
|
7
|
+
EventRevisionDocument,
|
|
8
|
+
EventRevisionsDocument,
|
|
4
9
|
LockEventRevisionDocument,
|
|
5
10
|
MergeEventRevisionDocument,
|
|
11
|
+
ReopenEventChangeDocument,
|
|
6
12
|
ScheduleEventRevisionDocument,
|
|
7
|
-
CancelEventRevisionScheduleDocument,
|
|
8
|
-
EventRevisionDocument,
|
|
9
|
-
EventRevisionsDocument,
|
|
10
13
|
StartEventRevisionDocument,
|
|
11
14
|
UnlockEventRevisionDocument,
|
|
12
15
|
UpdateEventDocument,
|
|
13
16
|
UpdateEventWidgetsDocument,
|
|
14
|
-
ReopenEventChangeDocument,
|
|
15
17
|
} from "./documents/eventsDocuments";
|
|
16
|
-
import { toUTCISO8601String } from "../utils";
|
|
17
18
|
|
|
18
19
|
export default class EventRevisions extends RaketaClient {
|
|
19
20
|
selectUpdateParams(revision) {
|
|
@@ -129,6 +130,33 @@ export default class EventRevisions extends RaketaClient {
|
|
|
129
130
|
return { revision, errors, eventErrors };
|
|
130
131
|
}
|
|
131
132
|
|
|
133
|
+
async createBatch(revisionInputs) {
|
|
134
|
+
const BatchDocument = buildBatchStartEventRevisionDocument(
|
|
135
|
+
revisionInputs.length
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
const variables = {};
|
|
139
|
+
revisionInputs.forEach((input, i) => {
|
|
140
|
+
variables[`input${i}`] = {
|
|
141
|
+
id: input.eventId,
|
|
142
|
+
locale: input.locale,
|
|
143
|
+
title: "New revision",
|
|
144
|
+
description: "",
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
const response = await this.query(BatchDocument, variables);
|
|
149
|
+
|
|
150
|
+
return revisionInputs.map((_, i) => {
|
|
151
|
+
const result = response[`startRevision${i}`];
|
|
152
|
+
return {
|
|
153
|
+
revision: result.revision,
|
|
154
|
+
errors: result.errors,
|
|
155
|
+
eventErrors: result.eventErrors,
|
|
156
|
+
};
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
132
160
|
async update(id, locale, params) {
|
|
133
161
|
const copyParams = { ...params };
|
|
134
162
|
|
package/src/cloud/Events.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { toDateTimeInput, toUTCISO8601String } from "../utils";
|
|
1
2
|
import RaketaClient from "./RaketaClient";
|
|
2
3
|
import {
|
|
4
|
+
ChangeEventSlugDocument,
|
|
5
|
+
CloneEventDocument,
|
|
6
|
+
buildBatchTranslateEventDocument,
|
|
3
7
|
CreateEventDocument,
|
|
8
|
+
DeleteEventDocument,
|
|
4
9
|
EventByIdDocument,
|
|
5
10
|
EventsDocument,
|
|
6
|
-
CloneEventDocument,
|
|
7
|
-
DeleteEventDocument,
|
|
8
|
-
TranslateEventDocument,
|
|
9
|
-
ChangeEventSlugDocument,
|
|
10
11
|
MiniEventsDocument,
|
|
12
|
+
TranslateEventDocument,
|
|
11
13
|
} from "./documents/eventsDocuments";
|
|
12
|
-
import { toDateTimeInput, toUTCISO8601String } from "../utils";
|
|
13
14
|
|
|
14
15
|
export default class Events extends RaketaClient {
|
|
15
16
|
defaults() {
|
|
@@ -152,6 +153,35 @@ export default class Events extends RaketaClient {
|
|
|
152
153
|
return { event, errors };
|
|
153
154
|
}
|
|
154
155
|
|
|
156
|
+
async translateBatch(sourceEventId, locales, params) {
|
|
157
|
+
const paramsCopy = { ...params };
|
|
158
|
+
paramsCopy.widgets = JSON.stringify(paramsCopy.widgets);
|
|
159
|
+
paramsCopy.settings = JSON.stringify(paramsCopy.settings);
|
|
160
|
+
|
|
161
|
+
const BatchTranslateDocument = buildBatchTranslateEventDocument(
|
|
162
|
+
locales.length
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
const variables = {};
|
|
166
|
+
locales.forEach((locale, i) => {
|
|
167
|
+
variables[`input${i}`] = {
|
|
168
|
+
locale,
|
|
169
|
+
sourceEventId,
|
|
170
|
+
event: paramsCopy,
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
const response = await this.query(BatchTranslateDocument, variables);
|
|
175
|
+
|
|
176
|
+
return locales.map((_, i) => {
|
|
177
|
+
const result = response[`translate${i}`];
|
|
178
|
+
return {
|
|
179
|
+
event: result.event,
|
|
180
|
+
errors: result.errors,
|
|
181
|
+
};
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
|
|
155
185
|
async updateSlug(id, slug, locale, redirect) {
|
|
156
186
|
const input = {
|
|
157
187
|
id,
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import RaketaClient from "./RaketaClient";
|
|
2
2
|
import {
|
|
3
|
+
CancelPageRevisionScheduleDocument,
|
|
3
4
|
DeletePageDocument,
|
|
4
5
|
LockPageRevisionDocument,
|
|
5
6
|
MergePageRevisionDocument,
|
|
6
|
-
SchedulePageRevisionDocument,
|
|
7
|
-
CancelPageRevisionScheduleDocument,
|
|
8
7
|
PageRevisionDocument,
|
|
9
8
|
PageRevisionsDocument,
|
|
9
|
+
ReopenPageChangeDocument,
|
|
10
|
+
SchedulePageRevisionDocument,
|
|
10
11
|
StartPageRevisionDocument,
|
|
11
12
|
UnlockPageRevisionDocument,
|
|
12
13
|
UpdatePageDocument,
|
|
13
14
|
UpdatePageWidgetsDocument,
|
|
14
|
-
|
|
15
|
+
buildBatchStartPageRevisionDocument,
|
|
15
16
|
} from "./documents/pagesDocuments";
|
|
16
17
|
|
|
17
18
|
export default class PageRevisions extends RaketaClient {
|
|
@@ -109,6 +110,33 @@ export default class PageRevisions extends RaketaClient {
|
|
|
109
110
|
return { revision, errors, pageErrors };
|
|
110
111
|
}
|
|
111
112
|
|
|
113
|
+
async createBatch(revisionInputs) {
|
|
114
|
+
const BatchStartRevisionDocument = buildBatchStartPageRevisionDocument(
|
|
115
|
+
revisionInputs.length
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
const variables = {};
|
|
119
|
+
revisionInputs.forEach((input, i) => {
|
|
120
|
+
variables[`input${i}`] = {
|
|
121
|
+
id: input.pageId,
|
|
122
|
+
locale: input.locale,
|
|
123
|
+
title: "New revision",
|
|
124
|
+
description: "",
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
const response = await this.query(BatchStartRevisionDocument, variables);
|
|
129
|
+
|
|
130
|
+
return revisionInputs.map((_, i) => {
|
|
131
|
+
const result = response[`startRevision${i}`];
|
|
132
|
+
return {
|
|
133
|
+
revision: result.revision,
|
|
134
|
+
errors: result.errors,
|
|
135
|
+
pageErrors: result.pageErrors,
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
112
140
|
async update(id, locale, params) {
|
|
113
141
|
const copyParams = { ...params };
|
|
114
142
|
|
package/src/cloud/Pages.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import RaketaClient from "./RaketaClient";
|
|
2
2
|
import {
|
|
3
|
+
buildBatchTranslatePageDocument,
|
|
4
|
+
ChangePageSlugDocument,
|
|
5
|
+
ClonePageDocument,
|
|
3
6
|
CreatePageDocument,
|
|
7
|
+
DeletePageDocument,
|
|
8
|
+
MiniPagesDocument,
|
|
4
9
|
PageByIdDocument,
|
|
5
10
|
PagesDocument,
|
|
6
|
-
ClonePageDocument,
|
|
7
|
-
DeletePageDocument,
|
|
8
11
|
TranslatePageDocument,
|
|
9
|
-
ChangePageSlugDocument,
|
|
10
|
-
MiniPagesDocument,
|
|
11
12
|
} from "./documents/pagesDocuments";
|
|
12
13
|
|
|
13
14
|
export default class Pages extends RaketaClient {
|
|
@@ -133,6 +134,35 @@ export default class Pages extends RaketaClient {
|
|
|
133
134
|
return { page, errors };
|
|
134
135
|
}
|
|
135
136
|
|
|
137
|
+
async translateBatch(sourcePageId, locales, params) {
|
|
138
|
+
const copyParams = { ...params };
|
|
139
|
+
copyParams.widgets = JSON.stringify(copyParams.widgets);
|
|
140
|
+
copyParams.settings = JSON.stringify(copyParams.settings);
|
|
141
|
+
|
|
142
|
+
const BatchTranslateDocument = buildBatchTranslatePageDocument(
|
|
143
|
+
locales.length
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
const variables = {};
|
|
147
|
+
locales.forEach((locale, i) => {
|
|
148
|
+
variables[`input${i}`] = {
|
|
149
|
+
locale,
|
|
150
|
+
sourcePageId,
|
|
151
|
+
page: copyParams,
|
|
152
|
+
};
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
const response = await this.query(BatchTranslateDocument, variables);
|
|
156
|
+
|
|
157
|
+
return locales.map((_, i) => {
|
|
158
|
+
const result = response[`translate${i}`];
|
|
159
|
+
return {
|
|
160
|
+
page: result.page,
|
|
161
|
+
errors: result.errors,
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
|
|
136
166
|
async updateSlug(id, slug, locale, redirect) {
|
|
137
167
|
const input = {
|
|
138
168
|
id,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { gql } from "graphql-request";
|
|
2
2
|
import {
|
|
3
|
+
articleTypeFragment,
|
|
3
4
|
categoryFragment,
|
|
4
5
|
errorsFragment,
|
|
5
|
-
articleTypeFragment,
|
|
6
6
|
paginationFragment,
|
|
7
7
|
revisionMetaFragment,
|
|
8
|
-
tagFragment,
|
|
9
|
-
summaryChangeFragment,
|
|
10
8
|
revisionScheduleFragment,
|
|
9
|
+
summaryChangeFragment,
|
|
10
|
+
tagFragment,
|
|
11
11
|
} from "./common";
|
|
12
12
|
|
|
13
13
|
function minimalArticleFragment() {
|
|
@@ -171,6 +171,25 @@ const TranslateArticleDocument = gql`
|
|
|
171
171
|
}
|
|
172
172
|
`;
|
|
173
173
|
|
|
174
|
+
const buildBatchTranslateArticleDocument = (count) => gql`
|
|
175
|
+
mutation BatchTranslateArticles(${Array(count)
|
|
176
|
+
.fill(0)
|
|
177
|
+
.map((_, i) => `$input${i}: TranslateArticleInput!`)
|
|
178
|
+
.join(", ")}) {
|
|
179
|
+
${Array(count)
|
|
180
|
+
.fill(0)
|
|
181
|
+
.map(
|
|
182
|
+
(_, i) => `
|
|
183
|
+
translate${i}: translateArticle(input: $input${i}) {
|
|
184
|
+
article ${articleFragment()}
|
|
185
|
+
errors ${errorsFragment()}
|
|
186
|
+
}
|
|
187
|
+
`
|
|
188
|
+
)
|
|
189
|
+
.join("\n")}
|
|
190
|
+
}
|
|
191
|
+
`;
|
|
192
|
+
|
|
174
193
|
const ArticleRevisionsDocument = gql`
|
|
175
194
|
query ArticleRevisions($input: IdInput!) {
|
|
176
195
|
articleRevisions(input: $input) {
|
|
@@ -195,6 +214,26 @@ const StartArticleRevisionDocument = gql`
|
|
|
195
214
|
}
|
|
196
215
|
`;
|
|
197
216
|
|
|
217
|
+
const buildBatchStartArticleRevisionDocument = (count) => gql`
|
|
218
|
+
mutation BatchStartArticleRevisions(${Array(count)
|
|
219
|
+
.fill(0)
|
|
220
|
+
.map((_, i) => `$input${i}: StartArticleRevisionInput!`)
|
|
221
|
+
.join(", ")}) {
|
|
222
|
+
${Array(count)
|
|
223
|
+
.fill(0)
|
|
224
|
+
.map(
|
|
225
|
+
(_, i) => `
|
|
226
|
+
startRevision${i}: startArticleRevision(input: $input${i}) {
|
|
227
|
+
revision ${articleRevisionFragment()}
|
|
228
|
+
errors ${errorsFragment()}
|
|
229
|
+
articleErrors ${errorsFragment()}
|
|
230
|
+
}
|
|
231
|
+
`
|
|
232
|
+
)
|
|
233
|
+
.join("\n")}
|
|
234
|
+
}
|
|
235
|
+
`;
|
|
236
|
+
|
|
198
237
|
const MergeArticleRevisionDocument = gql`
|
|
199
238
|
mutation MergeArticleRevision($input: MergeArticleRevisionInput!) {
|
|
200
239
|
mergeArticleRevision(input: $input) {
|
|
@@ -286,4 +325,6 @@ export {
|
|
|
286
325
|
ReopenArticleChangeDocument,
|
|
287
326
|
LockArticleRevisionDocument,
|
|
288
327
|
UnlockArticleRevisionDocument,
|
|
328
|
+
buildBatchTranslateArticleDocument,
|
|
329
|
+
buildBatchStartArticleRevisionDocument,
|
|
289
330
|
};
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
eventTypeFragment,
|
|
6
6
|
paginationFragment,
|
|
7
7
|
revisionMetaFragment,
|
|
8
|
-
tagFragment,
|
|
9
|
-
summaryChangeFragment,
|
|
10
8
|
revisionScheduleFragment,
|
|
9
|
+
summaryChangeFragment,
|
|
10
|
+
tagFragment,
|
|
11
11
|
} from "./common";
|
|
12
12
|
|
|
13
13
|
function minimalEventFragment() {
|
|
@@ -179,6 +179,25 @@ const TranslateEventDocument = gql`
|
|
|
179
179
|
}
|
|
180
180
|
`;
|
|
181
181
|
|
|
182
|
+
const buildBatchTranslateEventDocument = (count) => gql`
|
|
183
|
+
mutation BatchTranslateEvents(${Array(count)
|
|
184
|
+
.fill(0)
|
|
185
|
+
.map((_, i) => `$input${i}: TranslateEventInput!`)
|
|
186
|
+
.join(", ")}) {
|
|
187
|
+
${Array(count)
|
|
188
|
+
.fill(0)
|
|
189
|
+
.map(
|
|
190
|
+
(_, i) => `
|
|
191
|
+
translate${i}: translateEvent(input: $input${i}) {
|
|
192
|
+
event ${eventFragment()}
|
|
193
|
+
errors ${errorsFragment()}
|
|
194
|
+
}
|
|
195
|
+
`
|
|
196
|
+
)
|
|
197
|
+
.join("\n")}
|
|
198
|
+
}
|
|
199
|
+
`;
|
|
200
|
+
|
|
182
201
|
const EventRevisionsDocument = gql`
|
|
183
202
|
query EventRevisions($input: IdInput!) {
|
|
184
203
|
eventRevisions(input: $input) {
|
|
@@ -187,6 +206,26 @@ const EventRevisionsDocument = gql`
|
|
|
187
206
|
}
|
|
188
207
|
`;
|
|
189
208
|
|
|
209
|
+
const buildBatchStartEventRevisionDocument = (count) => gql`
|
|
210
|
+
mutation BatchStartEventRevisions(${Array(count)
|
|
211
|
+
.fill(0)
|
|
212
|
+
.map((_, i) => `$input${i}: StartEventRevisionInput!`)
|
|
213
|
+
.join(", ")}) {
|
|
214
|
+
${Array(count)
|
|
215
|
+
.fill(0)
|
|
216
|
+
.map(
|
|
217
|
+
(_, i) => `
|
|
218
|
+
startRevision${i}: startEventRevision(input: $input${i}) {
|
|
219
|
+
revision ${eventRevisionFragment()}
|
|
220
|
+
errors ${errorsFragment()}
|
|
221
|
+
eventErrors ${errorsFragment()}
|
|
222
|
+
}
|
|
223
|
+
`
|
|
224
|
+
)
|
|
225
|
+
.join("\n")}
|
|
226
|
+
}
|
|
227
|
+
`;
|
|
228
|
+
|
|
190
229
|
const EventRevisionDocument = gql`
|
|
191
230
|
query EventRevision($input: IdInput!) {
|
|
192
231
|
eventRevision(input: $input) ${eventRevisionFragment()}
|
|
@@ -294,4 +333,6 @@ export {
|
|
|
294
333
|
ReopenEventChangeDocument,
|
|
295
334
|
LockEventRevisionDocument,
|
|
296
335
|
UnlockEventRevisionDocument,
|
|
336
|
+
buildBatchStartEventRevisionDocument,
|
|
337
|
+
buildBatchTranslateEventDocument,
|
|
297
338
|
};
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
pageTypeFragment,
|
|
6
6
|
paginationFragment,
|
|
7
7
|
revisionMetaFragment,
|
|
8
|
-
tagFragment,
|
|
9
|
-
summaryChangeFragment,
|
|
10
8
|
revisionScheduleFragment,
|
|
9
|
+
summaryChangeFragment,
|
|
10
|
+
tagFragment,
|
|
11
11
|
} from "./common";
|
|
12
12
|
|
|
13
13
|
function minimalPageFragment() {
|
|
@@ -167,6 +167,25 @@ const TranslatePageDocument = gql`
|
|
|
167
167
|
}
|
|
168
168
|
`;
|
|
169
169
|
|
|
170
|
+
const buildBatchTranslatePageDocument = (count) => gql`
|
|
171
|
+
mutation BatchTranslatePages(${Array(count)
|
|
172
|
+
.fill(0)
|
|
173
|
+
.map((_, i) => `$input${i}: TranslatePageInput!`)
|
|
174
|
+
.join(", ")}) {
|
|
175
|
+
${Array(count)
|
|
176
|
+
.fill(0)
|
|
177
|
+
.map(
|
|
178
|
+
(_, i) => `
|
|
179
|
+
translate${i}: translatePage(input: $input${i}) {
|
|
180
|
+
page ${pageFragment()}
|
|
181
|
+
errors ${errorsFragment()}
|
|
182
|
+
}
|
|
183
|
+
`
|
|
184
|
+
)
|
|
185
|
+
.join("\n")}
|
|
186
|
+
}
|
|
187
|
+
`;
|
|
188
|
+
|
|
170
189
|
const PageRevisionsDocument = gql`
|
|
171
190
|
query PageRevisions($input: IdInput!) {
|
|
172
191
|
pageRevisions(input: $input) {
|
|
@@ -191,6 +210,26 @@ const StartPageRevisionDocument = gql`
|
|
|
191
210
|
}
|
|
192
211
|
`;
|
|
193
212
|
|
|
213
|
+
const buildBatchStartPageRevisionDocument = (count) => gql`
|
|
214
|
+
mutation BatchStartPageRevisions(${Array(count)
|
|
215
|
+
.fill(0)
|
|
216
|
+
.map((_, i) => `$input${i}: StartPageRevisionInput!`)
|
|
217
|
+
.join(", ")}) {
|
|
218
|
+
${Array(count)
|
|
219
|
+
.fill(0)
|
|
220
|
+
.map(
|
|
221
|
+
(_, i) => `
|
|
222
|
+
startRevision${i}: startPageRevision(input: $input${i}) {
|
|
223
|
+
revision ${pageRevisionFragment()}
|
|
224
|
+
errors ${errorsFragment()}
|
|
225
|
+
pageErrors ${errorsFragment()}
|
|
226
|
+
}
|
|
227
|
+
`
|
|
228
|
+
)
|
|
229
|
+
.join("\n")}
|
|
230
|
+
}
|
|
231
|
+
`;
|
|
232
|
+
|
|
194
233
|
const MergePageRevisionDocument = gql`
|
|
195
234
|
mutation MergePageRevision($input: MergePageRevisionInput!) {
|
|
196
235
|
mergePageRevision(input: $input) {
|
|
@@ -282,4 +321,6 @@ export {
|
|
|
282
321
|
ReopenPageChangeDocument,
|
|
283
322
|
LockPageRevisionDocument,
|
|
284
323
|
UnlockPageRevisionDocument,
|
|
324
|
+
buildBatchTranslatePageDocument,
|
|
325
|
+
buildBatchStartPageRevisionDocument,
|
|
285
326
|
};
|