@umbraco/playwright-testhelpers 2.0.0-beta.1 → 2.0.0-beta.3
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/dist/lib/helpers/ApiHelpers.d.ts +7 -0
- package/dist/lib/helpers/ApiHelpers.js +22 -15
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +22 -20
- package/dist/lib/helpers/DataTypeApiHelper.js +36 -22
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryApiHelper.d.ts +13 -12
- package/dist/lib/helpers/DictionaryApiHelper.js +18 -12
- package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageApiHelper.d.ts +6 -7
- package/dist/lib/helpers/LanguageApiHelper.js +11 -28
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/LogViewerApiHelper.d.ts +15 -0
- package/dist/lib/helpers/LogViewerApiHelper.js +112 -0
- package/dist/lib/helpers/LogViewerApiHelper.js.map +1 -0
- package/dist/lib/helpers/PackageApiHelper.d.ts +10 -9
- package/dist/lib/helpers/PackageApiHelper.js +26 -12
- package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewApiHelper.d.ts +13 -11
- package/dist/lib/helpers/PartialViewApiHelper.js +26 -13
- package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
- package/dist/lib/helpers/RelationType.d.ts +10 -9
- package/dist/lib/helpers/RelationType.js +16 -10
- package/dist/lib/helpers/RelationType.js.map +1 -1
- package/dist/lib/helpers/ScriptApiHelper.d.ts +13 -11
- package/dist/lib/helpers/ScriptApiHelper.js +26 -13
- package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetApiHelper.d.ts +13 -12
- package/dist/lib/helpers/StylesheetApiHelper.js +33 -17
- package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
- package/dist/lib/helpers/TelemetryDataApiHelper.d.ts +2 -2
- package/dist/lib/helpers/TelemetryDataApiHelper.js +3 -3
- package/dist/lib/helpers/TelemetryDataApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +12 -11
- package/dist/lib/helpers/TemplateApiHelper.js +19 -13
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +4 -5
- package/dist/lib/helpers/TemporaryFileApiHelper.js +6 -16
- package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +6 -0
- package/dist/lib/helpers/UiHelpers.js +20 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/UserApiHelper.d.ts +17 -16
- package/dist/lib/helpers/UserApiHelper.js +24 -17
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +9 -8
- package/dist/lib/helpers/UserGroupApiHelper.js +15 -10
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -4
|
@@ -15,6 +15,7 @@ import { PackageApiHelper } from "./PackageApiHelper";
|
|
|
15
15
|
import { ScriptApiHelper } from "./ScriptApiHelper";
|
|
16
16
|
import { PartialViewApiHelper } from "./PartialViewApiHelper";
|
|
17
17
|
import { StylesheetApiHelper } from "./StylesheetApiHelper";
|
|
18
|
+
import { LogViewerApiHelper } from "./LogViewerApiHelper";
|
|
18
19
|
export declare class ApiHelpers {
|
|
19
20
|
baseUrl: string;
|
|
20
21
|
page: Page;
|
|
@@ -34,8 +35,14 @@ export declare class ApiHelpers {
|
|
|
34
35
|
script: ScriptApiHelper;
|
|
35
36
|
partialView: PartialViewApiHelper;
|
|
36
37
|
stylesheet: StylesheetApiHelper;
|
|
38
|
+
logViewer: LogViewerApiHelper;
|
|
37
39
|
constructor(page: Page);
|
|
38
40
|
getBearerToken(): Promise<string>;
|
|
41
|
+
getCookie(): Promise<string>;
|
|
42
|
+
getHeaders(): Promise<{
|
|
43
|
+
Authorization: string;
|
|
44
|
+
Cookie: string;
|
|
45
|
+
}>;
|
|
39
46
|
get(url: string, params?: {
|
|
40
47
|
[key: string]: string | number | boolean;
|
|
41
48
|
}): Promise<import("playwright-core").APIResponse>;
|
|
@@ -19,6 +19,7 @@ const ScriptApiHelper_1 = require("./ScriptApiHelper");
|
|
|
19
19
|
const PartialViewApiHelper_1 = require("./PartialViewApiHelper");
|
|
20
20
|
const StylesheetApiHelper_1 = require("./StylesheetApiHelper");
|
|
21
21
|
const fs = require("fs");
|
|
22
|
+
const LogViewerApiHelper_1 = require("./LogViewerApiHelper");
|
|
22
23
|
class ApiHelpers {
|
|
23
24
|
baseUrl = umbraco_config_1.umbracoConfig.environment.baseUrl;
|
|
24
25
|
page;
|
|
@@ -38,6 +39,7 @@ class ApiHelpers {
|
|
|
38
39
|
script;
|
|
39
40
|
partialView;
|
|
40
41
|
stylesheet;
|
|
42
|
+
logViewer;
|
|
41
43
|
constructor(page) {
|
|
42
44
|
this.page = page;
|
|
43
45
|
this.alias = new AliasHelper_1.AliasHelper();
|
|
@@ -56,17 +58,30 @@ class ApiHelpers {
|
|
|
56
58
|
this.script = new ScriptApiHelper_1.ScriptApiHelper(this);
|
|
57
59
|
this.partialView = new PartialViewApiHelper_1.PartialViewApiHelper(this);
|
|
58
60
|
this.stylesheet = new StylesheetApiHelper_1.StylesheetApiHelper(this);
|
|
61
|
+
this.logViewer = new LogViewerApiHelper_1.LogViewerApiHelper(this);
|
|
59
62
|
}
|
|
60
63
|
async getBearerToken() {
|
|
61
64
|
let someStorage = await this.page.context().storageState();
|
|
62
65
|
let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);
|
|
63
66
|
return 'Bearer ' + someObject.access_token;
|
|
64
67
|
}
|
|
68
|
+
async getCookie() {
|
|
69
|
+
let someStorage = await this.page.context().storageState();
|
|
70
|
+
let cookieString = "";
|
|
71
|
+
for (let cookie of someStorage.cookies) {
|
|
72
|
+
cookieString += cookie.name + '=' + cookie.value + ';';
|
|
73
|
+
}
|
|
74
|
+
return cookieString;
|
|
75
|
+
}
|
|
76
|
+
async getHeaders() {
|
|
77
|
+
return {
|
|
78
|
+
'Authorization': await this.getBearerToken(),
|
|
79
|
+
'Cookie': await this.getCookie(),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
65
82
|
async get(url, params) {
|
|
66
83
|
const options = {
|
|
67
|
-
headers:
|
|
68
|
-
'Authorization': await this.getBearerToken(),
|
|
69
|
-
},
|
|
84
|
+
headers: await this.getHeaders(),
|
|
70
85
|
params: params,
|
|
71
86
|
ignoreHTTPSErrors: true
|
|
72
87
|
};
|
|
@@ -80,9 +95,7 @@ class ApiHelpers {
|
|
|
80
95
|
}
|
|
81
96
|
async post(url, data) {
|
|
82
97
|
const options = {
|
|
83
|
-
headers:
|
|
84
|
-
'Authorization': await this.getBearerToken(),
|
|
85
|
-
},
|
|
98
|
+
headers: await this.getHeaders(),
|
|
86
99
|
data: data,
|
|
87
100
|
ignoreHTTPSErrors: true
|
|
88
101
|
};
|
|
@@ -90,9 +103,7 @@ class ApiHelpers {
|
|
|
90
103
|
}
|
|
91
104
|
async delete(url, data) {
|
|
92
105
|
const options = {
|
|
93
|
-
headers:
|
|
94
|
-
'Authorization': await this.getBearerToken(),
|
|
95
|
-
},
|
|
106
|
+
headers: await this.getHeaders(),
|
|
96
107
|
data: data,
|
|
97
108
|
ignoreHTTPSErrors: true
|
|
98
109
|
};
|
|
@@ -100,9 +111,7 @@ class ApiHelpers {
|
|
|
100
111
|
}
|
|
101
112
|
async put(url, data) {
|
|
102
113
|
const options = {
|
|
103
|
-
headers:
|
|
104
|
-
'Authorization': await this.getBearerToken(),
|
|
105
|
-
},
|
|
114
|
+
headers: await this.getHeaders(),
|
|
106
115
|
data: data,
|
|
107
116
|
ignoreHTTPSErrors: true
|
|
108
117
|
};
|
|
@@ -110,9 +119,7 @@ class ApiHelpers {
|
|
|
110
119
|
}
|
|
111
120
|
async postMultiPartForm(url, id, name, mimeType, filePath) {
|
|
112
121
|
const options = {
|
|
113
|
-
headers:
|
|
114
|
-
'Authorization': await this.getBearerToken(),
|
|
115
|
-
},
|
|
122
|
+
headers: await this.getHeaders(),
|
|
116
123
|
multipart: {
|
|
117
124
|
Id: id,
|
|
118
125
|
File: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":";;;AACA,yDAAmD;AACnD,iDAA4C;AAC5C,qEAAgE;AAChE,2DAAuD;AACvD,+DAA0D;AAC1D,iDAAqD;AACrD,6DAAwD;AACxD,2DAAsD;AACtD,+CAA0C;AAC1C,2DAAsD;AACtD,mDAA8C;AAC9C,qEAAgE;AAChE,2DAAsD;AACtD,yDAAoD;AACpD,uDAAkD;AAClD,iEAA4D;AAC5D,+DAA0D;AAC1D,yBAAyB;
|
|
1
|
+
{"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ReportHelper} from \"./ReportHelper\";\nimport {TelemetryDataApiHelper} from \"./TelemetryDataApiHelper\";\nimport {LanguagesApiHelper} from \"./LanguageApiHelper\";\nimport {DictionaryApiHelper} from \"./DictionaryApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationType\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {TemplateApiHelper} from \"./TemplateApiHelper\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {DataTypeApiHelper} from \"./DataTypeApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {TemporaryFileApiHelper} from \"./TemporaryFileApiHelper\";\nimport {DocumentApiHelper} from \"./DocumentApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport * as fs from \"fs\";\nimport {LogViewerApiHelper} from \"./LogViewerApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n page: Page;\n alias: AliasHelper;\n report: ReportHelper;\n telemetry: TelemetryDataApiHelper;\n language: LanguagesApiHelper;\n dictionary: DictionaryApiHelper;\n relationType: RelationTypeApiHelper;\n userGroup: UserGroupApiHelper;\n template: TemplateApiHelper;\n dataType: DataTypeApiHelper;\n user: UserApiHelper;\n temporaryFile: TemporaryFileApiHelper;\n document: DocumentApiHelper;\n package: PackageApiHelper;\n script: ScriptApiHelper;\n partialView: PartialViewApiHelper;\n stylesheet: StylesheetApiHelper;\n logViewer: LogViewerApiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.alias = new AliasHelper();\n this.report = new ReportHelper(this);\n this.telemetry = new TelemetryDataApiHelper(this);\n this.language = new LanguagesApiHelper(this);\n this.dictionary = new DictionaryApiHelper(this);\n this.relationType = new RelationTypeApiHelper(this);\n this.userGroup = new UserGroupApiHelper(this);\n this.template = new TemplateApiHelper(this);\n this.dataType = new DataTypeApiHelper(this);\n this.user = new UserApiHelper(this);\n this.temporaryFile = new TemporaryFileApiHelper(this);\n this.document = new DocumentApiHelper(this);\n this.package = new PackageApiHelper(this);\n this.script = new ScriptApiHelper(this);\n this.partialView = new PartialViewApiHelper(this);\n this.stylesheet = new StylesheetApiHelper(this);\n this.logViewer = new LogViewerApiHelper(this);\n }\n\n async getBearerToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return 'Bearer ' + someObject.access_token;\n }\n\n async getCookie() {\n let someStorage = await this.page.context().storageState();\n\n let cookieString = \"\";\n\n for (let cookie of someStorage.cookies) {\n cookieString += cookie.name + '=' + cookie.value + ';';\n }\n\n return cookieString;\n }\n\n async getHeaders() {\n return {\n 'Authorization': await this.getBearerToken(),\n 'Cookie': await this.getCookie(),\n }\n }\n\n async get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const options = {\n headers: await this.getHeaders(),\n params: params,\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n\n async saveCodeFile(codeFile) {\n if (codeFile == null) {\n return;\n }\n\n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile);\n }\n \n async post(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async delete(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.delete(url, options);\n }\n\n async put(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.put(url, options);\n }\n\n async postMultiPartForm(url: string, id, name: string, mimeType: string, filePath) {\n const options = {\n headers: await this.getHeaders(),\n multipart: {\n Id: id,\n File: {\n name: name,\n mimeType: mimeType,\n buffer: fs.readFileSync(filePath)\n }\n },\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n}"]}
|
|
@@ -2,27 +2,29 @@ import { ApiHelpers } from "./ApiHelpers";
|
|
|
2
2
|
export declare class DataTypeApiHelper {
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
ensureNameNotExistsAtRoot(name: string): Promise<void | import("playwright-core").APIResponse | null>;
|
|
6
|
+
get(id: string): Promise<any>;
|
|
7
|
+
getByNameAtRoot(name: string): Promise<any>;
|
|
8
|
+
create(name: string, propertyEditorAlias: string, values: {
|
|
9
9
|
alias: string;
|
|
10
10
|
value: string;
|
|
11
|
-
}[], parentId?: string, propertyEditorUiAlias?: string): Promise<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
}[], parentId?: string, propertyEditorUiAlias?: string): Promise<string | undefined>;
|
|
12
|
+
update(id: string, dataType: any): Promise<import("playwright-core").APIResponse>;
|
|
13
|
+
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
14
|
+
deleteByNameAtRoot(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
15
|
+
getItems(ids: string[]): Promise<any>;
|
|
16
|
+
getAllAtRoot(): Promise<any>;
|
|
17
|
+
exists(id: string): Promise<boolean>;
|
|
18
|
+
nameExistsAtRoot(name: string): Promise<boolean>;
|
|
19
|
+
moveToFolder(dataTypeId: string, folderId: string): Promise<import("playwright-core").APIResponse>;
|
|
20
|
+
copyToFolder(dataTypeId: string, folderId: string): Promise<string | undefined>;
|
|
21
|
+
getFolder(id: string): Promise<any>;
|
|
22
|
+
folderExists(id: string): Promise<boolean>;
|
|
23
|
+
getFolderByName(name: string): Promise<any>;
|
|
24
|
+
createFolder(name: string, parentId?: string): Promise<string | undefined>;
|
|
25
|
+
updateFolder(id: string, dataTypeFolder: any): Promise<import("playwright-core").APIResponse>;
|
|
26
|
+
deleteFolder(id: string): Promise<import("playwright-core").APIResponse>;
|
|
27
|
+
deleteFolderByName(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
28
|
+
getChildren(id: string): Promise<any>;
|
|
27
29
|
recurseFolderChildren(id: string): Promise<void>;
|
|
28
30
|
}
|
|
@@ -6,7 +6,7 @@ class DataTypeApiHelper {
|
|
|
6
6
|
constructor(api) {
|
|
7
7
|
this.api = api;
|
|
8
8
|
}
|
|
9
|
-
async
|
|
9
|
+
async ensureNameNotExistsAtRoot(name) {
|
|
10
10
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
|
|
11
11
|
const json = await response.json();
|
|
12
12
|
for (const sb of json.items) {
|
|
@@ -26,7 +26,7 @@ class DataTypeApiHelper {
|
|
|
26
26
|
}
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
-
async
|
|
29
|
+
async get(id) {
|
|
30
30
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);
|
|
31
31
|
const json = await response.json();
|
|
32
32
|
if (json !== null) {
|
|
@@ -34,7 +34,7 @@ class DataTypeApiHelper {
|
|
|
34
34
|
}
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
|
-
async
|
|
37
|
+
async getByNameAtRoot(name) {
|
|
38
38
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
|
|
39
39
|
const json = await response.json();
|
|
40
40
|
for (const sb of json.items) {
|
|
@@ -47,7 +47,7 @@ class DataTypeApiHelper {
|
|
|
47
47
|
}
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
|
-
async
|
|
50
|
+
async create(name, propertyEditorAlias, values, parentId, propertyEditorUiAlias) {
|
|
51
51
|
const dataType = {
|
|
52
52
|
"name": name,
|
|
53
53
|
"propertyEditorAlias": propertyEditorAlias,
|
|
@@ -55,15 +55,17 @@ class DataTypeApiHelper {
|
|
|
55
55
|
"values": values,
|
|
56
56
|
"parentId": parentId
|
|
57
57
|
};
|
|
58
|
-
|
|
58
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);
|
|
59
|
+
// Returns the id of the created dataType
|
|
60
|
+
return response.headers().location.split("/").pop();
|
|
59
61
|
}
|
|
60
|
-
async
|
|
62
|
+
async update(id, dataType) {
|
|
61
63
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, dataType);
|
|
62
64
|
}
|
|
63
|
-
async
|
|
65
|
+
async delete(id) {
|
|
64
66
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);
|
|
65
67
|
}
|
|
66
|
-
async
|
|
68
|
+
async deleteByNameAtRoot(name) {
|
|
67
69
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
|
|
68
70
|
const json = await response.json();
|
|
69
71
|
for (const sb of json.items) {
|
|
@@ -75,7 +77,7 @@ class DataTypeApiHelper {
|
|
|
75
77
|
}
|
|
76
78
|
return null;
|
|
77
79
|
}
|
|
78
|
-
async
|
|
80
|
+
async getItems(ids) {
|
|
79
81
|
let idArray = 'id=' + ids[0];
|
|
80
82
|
let i;
|
|
81
83
|
for (i = 1; i < ids.length; ++i) {
|
|
@@ -88,7 +90,7 @@ class DataTypeApiHelper {
|
|
|
88
90
|
}
|
|
89
91
|
return null;
|
|
90
92
|
}
|
|
91
|
-
async
|
|
93
|
+
async getAllAtRoot() {
|
|
92
94
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
|
|
93
95
|
const json = await response.json();
|
|
94
96
|
if (json !== null) {
|
|
@@ -96,7 +98,11 @@ class DataTypeApiHelper {
|
|
|
96
98
|
}
|
|
97
99
|
return null;
|
|
98
100
|
}
|
|
99
|
-
async
|
|
101
|
+
async exists(id) {
|
|
102
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);
|
|
103
|
+
return response.status() === 200;
|
|
104
|
+
}
|
|
105
|
+
async nameExistsAtRoot(name) {
|
|
100
106
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
|
|
101
107
|
const json = await response.json();
|
|
102
108
|
for (const sb of json.items) {
|
|
@@ -106,24 +112,30 @@ class DataTypeApiHelper {
|
|
|
106
112
|
}
|
|
107
113
|
return false;
|
|
108
114
|
}
|
|
109
|
-
async
|
|
115
|
+
async moveToFolder(dataTypeId, folderId) {
|
|
110
116
|
const folderIdBody = {
|
|
111
117
|
"targetId": folderId
|
|
112
118
|
};
|
|
113
119
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);
|
|
114
120
|
}
|
|
115
|
-
async
|
|
121
|
+
async copyToFolder(dataTypeId, folderId) {
|
|
116
122
|
const folderIdBody = {
|
|
117
123
|
"targetId": folderId
|
|
118
124
|
};
|
|
119
|
-
|
|
125
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);
|
|
126
|
+
// Returns the id of the copied dataType
|
|
127
|
+
return response.headers().location.split("/").pop();
|
|
120
128
|
}
|
|
121
129
|
// FOLDER
|
|
122
|
-
async
|
|
130
|
+
async getFolder(id) {
|
|
123
131
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
|
|
124
132
|
return await response.json();
|
|
125
133
|
}
|
|
126
|
-
async
|
|
134
|
+
async folderExists(id) {
|
|
135
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
|
|
136
|
+
return response.status() === 200;
|
|
137
|
+
}
|
|
138
|
+
async getFolderByName(name) {
|
|
127
139
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');
|
|
128
140
|
const json = await response.json();
|
|
129
141
|
for (const sb of json.items) {
|
|
@@ -136,20 +148,22 @@ class DataTypeApiHelper {
|
|
|
136
148
|
}
|
|
137
149
|
return null;
|
|
138
150
|
}
|
|
139
|
-
async
|
|
151
|
+
async createFolder(name, parentId) {
|
|
140
152
|
const folderData = {
|
|
141
153
|
"name": name,
|
|
142
154
|
"parentId": parentId
|
|
143
155
|
};
|
|
144
|
-
|
|
156
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);
|
|
157
|
+
// Returns the id of the created dataTypeFolder
|
|
158
|
+
return response.headers().location.split("/").pop();
|
|
145
159
|
}
|
|
146
|
-
async
|
|
160
|
+
async updateFolder(id, dataTypeFolder) {
|
|
147
161
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, dataTypeFolder);
|
|
148
162
|
}
|
|
149
|
-
async
|
|
163
|
+
async deleteFolder(id) {
|
|
150
164
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
|
|
151
165
|
}
|
|
152
|
-
async
|
|
166
|
+
async deleteFolderByName(name) {
|
|
153
167
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');
|
|
154
168
|
const json = await response.json();
|
|
155
169
|
for (const sb of json.items) {
|
|
@@ -161,7 +175,7 @@ class DataTypeApiHelper {
|
|
|
161
175
|
}
|
|
162
176
|
return null;
|
|
163
177
|
}
|
|
164
|
-
async
|
|
178
|
+
async getChildren(id) {
|
|
165
179
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=100&foldersOnly=false');
|
|
166
180
|
const json = await response.json();
|
|
167
181
|
if (json !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DataTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DataTypeApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureDataTypeNameNotExistsAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.isFolder == false) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);\n } else {\n if (sb.hasChildren == true) {\n return await this.recurseFolderChildren(sb.id);\n } else {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);\n }\n }\n }\n }\n return null;\n }\n\n async getDataTypeById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getDataTypeByNameAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);\n return response.json();\n }\n }\n }\n return null;\n }\n\n async createDataType(name: string, propertyEditorAlias: string, values: { alias: string; value: string; }[], parentId?: string, propertyEditorUiAlias?: string) {\n const dataType = {\n \"name\": name,\n \"propertyEditorAlias\": propertyEditorAlias,\n \"propertyEditorUiAlias\": propertyEditorUiAlias,\n \"values\": values,\n \"parentId\": parentId\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);\n }\n\n async updateDataTypeById(id: string, dataType) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, dataType);\n }\n\n async deleteDataTypeById(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n }\n\n async deleteDataTypeByNameAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async getDataTypeItemsByIds(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllDataTypesAtRoot() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesDataTypeWithNameExistAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async moveDataTypeToFolderById(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"targetId\": folderId\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);\n }\n\n async copyDataTypeToFolderById(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"targetId\": folderId\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);\n }\n\n // FOLDER\n async getDataTypeFolderById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return await response.json();\n }\n\n async getDataTypeFolderByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);\n return response.json();\n }\n }\n }\n return null;\n }\n\n async createDataTypeFolder(name: string, parentId?: string) {\n const folderData = {\n \"name\": name,\n \"parentId\": parentId\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);\n }\n\n async updateDataTypeFolderById(id: string, dataTypeFolder) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, dataTypeFolder);\n }\n\n async deleteDataTypeFolderById(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n }\n\n async deleteDataTypeFolderByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async getDataTypeChildrenById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=100&foldersOnly=false');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async recurseFolderChildren(id: string) {\n const parentDataType = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=10000');\n const itemsJson = await parentDataType.json();\n\n for (const child of itemsJson.items) {\n if (child.path !== null) {\n if (child.isFolder == true) {\n if (child.hasChildren == true) {\n await this.recurseFolderChildren(child.path);\n } else {\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + child.id);\n }\n } else {\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + child.id);\n }\n }\n }\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"DataTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DataTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DataTypeApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExistsAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.isFolder == false) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);\n } else {\n if (sb.hasChildren == true) {\n return await this.recurseFolderChildren(sb.id);\n } else {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);\n }\n }\n }\n }\n return null;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByNameAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);\n return response.json();\n }\n }\n }\n return null;\n }\n\n async create(name: string, propertyEditorAlias: string, values: {alias: string;value: string; }[], parentId?: string, propertyEditorUiAlias?: string) {\n const dataType = {\n \"name\": name,\n \"propertyEditorAlias\": propertyEditorAlias,\n \"propertyEditorUiAlias\": propertyEditorUiAlias,\n \"values\": values,\n \"parentId\": parentId\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);\n // Returns the id of the created dataType\n return response.headers().location.split(\"/\").pop();\n }\n\n async update(id: string, dataType) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, dataType);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n }\n\n async deleteByNameAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);\n return response.status() === 200;\n }\n\n async nameExistsAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async moveToFolder(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"targetId\": folderId\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);\n }\n\n async copyToFolder(dataTypeId: string, folderId: string) {\n const folderIdBody = {\n \"targetId\": folderId\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);\n // Returns the id of the copied dataType\n return response.headers().location.split(\"/\").pop();\n }\n\n // FOLDER\n async getFolder(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return await response.json();\n }\n\n async folderExists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n return response.status() === 200;\n }\n\n async getFolderByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);\n return response.json();\n }\n }\n }\n return null;\n }\n\n async createFolder(name: string, parentId?: string) {\n const folderData = {\n \"name\": name,\n \"parentId\": parentId\n };\n\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);\n // Returns the id of the created dataTypeFolder\n return response.headers().location.split(\"/\").pop();\n }\n\n async updateFolder(id: string, dataTypeFolder) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, dataTypeFolder);\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n }\n\n async deleteFolderByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=100&foldersOnly=false');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async recurseFolderChildren(id: string) {\n const parentDataType = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=10000');\n const itemsJson = await parentDataType.json();\n\n for (const child of itemsJson.items) {\n if (child.path !== null) {\n if (child.isFolder == true) {\n if (child.hasChildren == true) {\n await this.recurseFolderChildren(child.path);\n } else {\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + child.id);\n }\n } else {\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + child.id);\n }\n }\n }\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);\n }\n}"]}
|
|
@@ -2,18 +2,19 @@ import { ApiHelpers } from "./ApiHelpers";
|
|
|
2
2
|
export declare class DictionaryApiHelper {
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
6
|
+
get(id: string): Promise<any>;
|
|
7
|
+
getByName(name: string): Promise<any>;
|
|
8
|
+
create(name: string, translations?: {
|
|
9
9
|
isoCode: string;
|
|
10
10
|
translation: string;
|
|
11
|
-
}[], parentId?: string): Promise<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
}[], parentId?: string): Promise<string | undefined>;
|
|
12
|
+
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
13
|
+
deleteByName(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
14
|
+
update(id: string, dictionary: object): Promise<import("playwright-core").APIResponse>;
|
|
15
|
+
nameExists(name: string): Promise<boolean>;
|
|
16
|
+
exists(id: string): Promise<boolean>;
|
|
17
|
+
getChildren(id: string): Promise<any>;
|
|
18
|
+
getItems(ids: string[]): Promise<any>;
|
|
19
|
+
getAllAtRoot(): Promise<import("playwright-core").APIResponse>;
|
|
19
20
|
}
|
|
@@ -6,7 +6,7 @@ class DictionaryApiHelper {
|
|
|
6
6
|
constructor(api) {
|
|
7
7
|
this.api = api;
|
|
8
8
|
}
|
|
9
|
-
async
|
|
9
|
+
async ensureNameNotExists(name) {
|
|
10
10
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');
|
|
11
11
|
const json = await response.json();
|
|
12
12
|
for (const sb of json.items) {
|
|
@@ -18,7 +18,7 @@ class DictionaryApiHelper {
|
|
|
18
18
|
}
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async get(id) {
|
|
22
22
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
|
|
23
23
|
const json = await response.json();
|
|
24
24
|
if (json !== null) {
|
|
@@ -26,7 +26,7 @@ class DictionaryApiHelper {
|
|
|
26
26
|
}
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
-
async
|
|
29
|
+
async getByName(name) {
|
|
30
30
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');
|
|
31
31
|
const json = await response.json();
|
|
32
32
|
for (const sb of json.items) {
|
|
@@ -39,18 +39,20 @@ class DictionaryApiHelper {
|
|
|
39
39
|
}
|
|
40
40
|
return null;
|
|
41
41
|
}
|
|
42
|
-
async
|
|
42
|
+
async create(name, translations, parentId) {
|
|
43
43
|
const dictionary = {
|
|
44
44
|
"name": name,
|
|
45
45
|
"translations": translations,
|
|
46
46
|
"parentId": parentId
|
|
47
47
|
};
|
|
48
|
-
|
|
48
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);
|
|
49
|
+
// Returns the id of the created dictionary
|
|
50
|
+
return response.headers().location.split("/").pop();
|
|
49
51
|
}
|
|
50
|
-
async
|
|
52
|
+
async delete(id) {
|
|
51
53
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
|
|
52
54
|
}
|
|
53
|
-
async
|
|
55
|
+
async deleteByName(name) {
|
|
54
56
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');
|
|
55
57
|
const json = await response.json();
|
|
56
58
|
for (const sb of json.items) {
|
|
@@ -61,10 +63,10 @@ class DictionaryApiHelper {
|
|
|
61
63
|
}
|
|
62
64
|
return null;
|
|
63
65
|
}
|
|
64
|
-
async
|
|
66
|
+
async update(id, dictionary) {
|
|
65
67
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);
|
|
66
68
|
}
|
|
67
|
-
async
|
|
69
|
+
async nameExists(name) {
|
|
68
70
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');
|
|
69
71
|
const json = await response.json();
|
|
70
72
|
for (const sb of json.items) {
|
|
@@ -74,7 +76,11 @@ class DictionaryApiHelper {
|
|
|
74
76
|
}
|
|
75
77
|
return false;
|
|
76
78
|
}
|
|
77
|
-
async
|
|
79
|
+
async exists(id) {
|
|
80
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
|
|
81
|
+
return response.status() === 200;
|
|
82
|
+
}
|
|
83
|
+
async getChildren(id) {
|
|
78
84
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');
|
|
79
85
|
const json = response.json();
|
|
80
86
|
if (json !== null) {
|
|
@@ -82,7 +88,7 @@ class DictionaryApiHelper {
|
|
|
82
88
|
}
|
|
83
89
|
return null;
|
|
84
90
|
}
|
|
85
|
-
async
|
|
91
|
+
async getItems(ids) {
|
|
86
92
|
let idArray = 'id=' + ids[0];
|
|
87
93
|
let i;
|
|
88
94
|
for (i = 1; i < ids.length; ++i) {
|
|
@@ -95,7 +101,7 @@ class DictionaryApiHelper {
|
|
|
95
101
|
}
|
|
96
102
|
return null;
|
|
97
103
|
}
|
|
98
|
-
async
|
|
104
|
+
async getAllAtRoot() {
|
|
99
105
|
return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');
|
|
100
106
|
}
|
|
101
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DictionaryApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DictionaryApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAC9B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"DictionaryApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DictionaryApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DictionaryApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async create(name: string, translations?: { isoCode: string, translation: string }[], parentId?: string) {\n const dictionary = {\n \"name\": name,\n \"translations\": translations,\n \"parentId\": parentId\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);\n // Returns the id of the created dictionary\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n }\n\n async deleteByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null)\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);\n }\n }\n return null;\n }\n\n async update(id: string, dictionary: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);\n }\n\n async nameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n return response.status() === 200;\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');\n const json = response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');\n }\n}"]}
|