@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
|
@@ -6,7 +6,7 @@ class TemplateApiHelper {
|
|
|
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/template/root?skip=0&take=10000');
|
|
11
11
|
const json = await response.json();
|
|
12
12
|
for (const sb of json.items) {
|
|
@@ -18,7 +18,7 @@ class TemplateApiHelper {
|
|
|
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/template/' + id);
|
|
23
23
|
const json = await response.json();
|
|
24
24
|
if (json !== null) {
|
|
@@ -26,7 +26,11 @@ class TemplateApiHelper {
|
|
|
26
26
|
}
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
-
async
|
|
29
|
+
async exists(path) {
|
|
30
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + path);
|
|
31
|
+
return response.status() === 200;
|
|
32
|
+
}
|
|
33
|
+
async getByNameAtRoot(name) {
|
|
30
34
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');
|
|
31
35
|
const json = await response.json();
|
|
32
36
|
for (const sb of json.items) {
|
|
@@ -39,18 +43,20 @@ class TemplateApiHelper {
|
|
|
39
43
|
}
|
|
40
44
|
return null;
|
|
41
45
|
}
|
|
42
|
-
async
|
|
46
|
+
async create(name, alias, content) {
|
|
43
47
|
const templateData = {
|
|
44
48
|
"name": name,
|
|
45
49
|
"alias": alias,
|
|
46
50
|
"content": content
|
|
47
51
|
};
|
|
48
|
-
|
|
52
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);
|
|
53
|
+
// Returns the id of the created template
|
|
54
|
+
return response.headers().location.split("/").pop();
|
|
49
55
|
}
|
|
50
|
-
async
|
|
51
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/
|
|
56
|
+
async delete(id) {
|
|
57
|
+
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);
|
|
52
58
|
}
|
|
53
|
-
async
|
|
59
|
+
async deleteByNameAtRoot(name) {
|
|
54
60
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');
|
|
55
61
|
const json = await response.json();
|
|
56
62
|
for (const sb of json.items) {
|
|
@@ -62,10 +68,10 @@ class TemplateApiHelper {
|
|
|
62
68
|
}
|
|
63
69
|
return null;
|
|
64
70
|
}
|
|
65
|
-
async
|
|
71
|
+
async update(id, template) {
|
|
66
72
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);
|
|
67
73
|
}
|
|
68
|
-
async
|
|
74
|
+
async getChildren(id) {
|
|
69
75
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/children?skip=0&take=10000' + id);
|
|
70
76
|
const json = await response.json();
|
|
71
77
|
if (json !== null) {
|
|
@@ -73,7 +79,7 @@ class TemplateApiHelper {
|
|
|
73
79
|
}
|
|
74
80
|
return null;
|
|
75
81
|
}
|
|
76
|
-
async
|
|
82
|
+
async getItems(ids) {
|
|
77
83
|
let idArray = 'id=' + ids[0];
|
|
78
84
|
let i;
|
|
79
85
|
for (i = 1; i < ids.length; ++i) {
|
|
@@ -86,10 +92,10 @@ class TemplateApiHelper {
|
|
|
86
92
|
}
|
|
87
93
|
return null;
|
|
88
94
|
}
|
|
89
|
-
async
|
|
95
|
+
async getAllAtRoot() {
|
|
90
96
|
return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');
|
|
91
97
|
}
|
|
92
|
-
async
|
|
98
|
+
async nameExistsAtRoot(name) {
|
|
93
99
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');
|
|
94
100
|
const json = await response.json();
|
|
95
101
|
for (const sb of json.items) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC5B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class TemplateApiHelper {\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/template/root?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/template/' + 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/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async exists(path: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + path);\n return response.status() === 200;\n }\n\n async getByNameAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?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/template/' + sb.id);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\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/template/' + id);\n }\n\n async deleteByNameAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?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/template/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/children?skip=0&take=10000' + id);\n const json = await 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\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/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/template/root?skip=0&take=10000');\n }\n\n async nameExistsAtRoot(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\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}"]}
|
|
@@ -2,9 +2,8 @@ import { ApiHelpers } from "./ApiHelpers";
|
|
|
2
2
|
export declare class TemporaryFileApiHelper {
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
doesTemporaryFileWithIdExist(id: string): Promise<boolean>;
|
|
5
|
+
exists(id: string): Promise<boolean>;
|
|
6
|
+
create(id: string, name: string, mimeType: any, filePath: any): Promise<import("playwright-core").APIResponse>;
|
|
7
|
+
get(id: string): Promise<any>;
|
|
8
|
+
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
10
9
|
}
|
|
@@ -6,19 +6,14 @@ class TemporaryFileApiHelper {
|
|
|
6
6
|
constructor(api) {
|
|
7
7
|
this.api = api;
|
|
8
8
|
}
|
|
9
|
-
async
|
|
9
|
+
async exists(id) {
|
|
10
10
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
|
|
11
|
-
|
|
12
|
-
if (json !== null) {
|
|
13
|
-
return json.id;
|
|
14
|
-
}
|
|
15
|
-
return null;
|
|
11
|
+
return response.status() === 200;
|
|
16
12
|
}
|
|
17
|
-
async
|
|
18
|
-
|
|
19
|
-
return await response.text();
|
|
13
|
+
async create(id, name, mimeType, filePath) {
|
|
14
|
+
return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile', id, name, mimeType, filePath);
|
|
20
15
|
}
|
|
21
|
-
async
|
|
16
|
+
async get(id) {
|
|
22
17
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
|
|
23
18
|
const json = await response.json();
|
|
24
19
|
if (json !== null) {
|
|
@@ -26,14 +21,9 @@ class TemporaryFileApiHelper {
|
|
|
26
21
|
}
|
|
27
22
|
return null;
|
|
28
23
|
}
|
|
29
|
-
async
|
|
24
|
+
async delete(id) {
|
|
30
25
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
|
|
31
26
|
}
|
|
32
|
-
async doesTemporaryFileWithIdExist(id) {
|
|
33
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);
|
|
34
|
-
const json = await response.json();
|
|
35
|
-
return json.id == id;
|
|
36
|
-
}
|
|
37
27
|
}
|
|
38
28
|
exports.TemporaryFileApiHelper = TemporaryFileApiHelper;
|
|
39
29
|
//# sourceMappingURL=TemporaryFileApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryFileApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemporaryFileApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"TemporaryFileApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemporaryFileApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACzG,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAY,EAAE,QAAQ,EAAE,QAAQ;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,0CAA0C,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAChI,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACzG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;CACF;AA7BD,wDA6BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class TemporaryFileApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);\n return response.status() === 200;\n }\n\n async create(id: string, name: string, mimeType, filePath) {\n return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile', id, name, mimeType, filePath)\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporaryfile/' + id);\n }\n}"]}
|
|
@@ -2,4 +2,10 @@ import { Page } from "@playwright/test";
|
|
|
2
2
|
export declare class UiHelpers {
|
|
3
3
|
page: Page;
|
|
4
4
|
constructor(page: Page);
|
|
5
|
+
clickButton(buttonName: string): Promise<void>;
|
|
6
|
+
goToSection(sectionName: string): Promise<void>;
|
|
7
|
+
goToSettingsTreeItem(settingsTreeItemName: string): Promise<void>;
|
|
8
|
+
clickDataElement(elementName: string, options?: any): Promise<void>;
|
|
9
|
+
getDataElement(elementName: string): Promise<import("playwright-core").Locator>;
|
|
10
|
+
isNotificationVisible(notificationMessage: string): Promise<void>;
|
|
5
11
|
}
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UiHelpers = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
4
5
|
class UiHelpers {
|
|
5
6
|
page;
|
|
6
7
|
constructor(page) {
|
|
7
8
|
this.page = page;
|
|
8
9
|
}
|
|
10
|
+
async clickButton(buttonName) {
|
|
11
|
+
await this.page.getByRole('button', { name: buttonName }).click();
|
|
12
|
+
}
|
|
13
|
+
async goToSection(sectionName) {
|
|
14
|
+
await this.page.getByRole('tab', { name: sectionName }).click();
|
|
15
|
+
}
|
|
16
|
+
async goToSettingsTreeItem(settingsTreeItemName) {
|
|
17
|
+
await this.goToSection('Settings');
|
|
18
|
+
await this.page.getByLabel(settingsTreeItemName).click();
|
|
19
|
+
}
|
|
20
|
+
async clickDataElement(elementName, options = null) {
|
|
21
|
+
await this.page.click(`[data-element="${elementName}"]`, options);
|
|
22
|
+
}
|
|
23
|
+
async getDataElement(elementName) {
|
|
24
|
+
return this.page.locator(`[data-element="${elementName}"]`);
|
|
25
|
+
}
|
|
26
|
+
async isNotificationVisible(notificationMessage) {
|
|
27
|
+
return (0, test_1.expect)(this.page.locator('uui-toast-notification', { hasText: notificationMessage })).toBeVisible();
|
|
28
|
+
}
|
|
9
29
|
}
|
|
10
30
|
exports.UiHelpers = UiHelpers;
|
|
11
31
|
//# sourceMappingURL=UiHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAE7C,MAAa,SAAS;IAElB,IAAI,CAAO;IAEX,YAAY,IAAU;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAChC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,oBAA4B;QACnD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,UAAe,IAAI;QAC3D,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,WAAW,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,WAAW,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,mBAA2B;QACnD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7G,CAAC;CACJ;AAjCD,8BAiCC","sourcesContent":["import {expect, Page} from \"@playwright/test\"\n\nexport class UiHelpers {\n\n page: Page;\n\n constructor(page: Page) {\n this.page = page;\n }\n \n async clickButton(buttonName: string) {\n await this.page.getByRole('button', {name: buttonName}).click();\n }\n\n async goToSection(sectionName: string) {\n await this.page.getByRole('tab', { name: sectionName }).click();\n\n }\n \n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection('Settings');\n await this.page.getByLabel(settingsTreeItemName).click(); \n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isNotificationVisible(notificationMessage: string) {\n return expect(this.page.locator('uui-toast-notification', {hasText: notificationMessage})).toBeVisible();\n }\n}"]}
|
|
@@ -2,20 +2,21 @@ import { ApiHelpers } from "./ApiHelpers";
|
|
|
2
2
|
export declare class UserApiHelper {
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
5
|
+
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
6
|
+
exists(id: string): Promise<boolean>;
|
|
7
|
+
nameExists(name: string): Promise<boolean>;
|
|
8
|
+
get(id: string): Promise<any>;
|
|
9
|
+
getByName(name: string): Promise<any>;
|
|
10
|
+
create(email: any, name: any, userGroupIds: any): Promise<any>;
|
|
11
|
+
update(id: string, userData: any): Promise<import("playwright-core").APIResponse>;
|
|
12
|
+
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
13
|
+
deleteByName(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
14
|
+
addAvatar(id: string, fileId: any): Promise<import("playwright-core").APIResponse>;
|
|
15
|
+
removeAvatar(id: string): Promise<import("playwright-core").APIResponse>;
|
|
16
|
+
disable(ids: any): Promise<import("playwright-core").APIResponse>;
|
|
17
|
+
enable(ids: any): Promise<import("playwright-core").APIResponse>;
|
|
18
|
+
unlock(ids: any): Promise<import("playwright-core").APIResponse>;
|
|
19
|
+
setUserGroups(userIds: any, userGroupIds: any): Promise<import("playwright-core").APIResponse>;
|
|
20
|
+
updatePassword(newPassword: string, oldPassword: string): Promise<import("playwright-core").APIResponse>;
|
|
21
|
+
invite(email: string, name: string, userGroupIds: any, message: string): Promise<import("playwright-core").APIResponse>;
|
|
21
22
|
}
|
|
@@ -6,7 +6,7 @@ class UserApiHelper {
|
|
|
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/user?skip=0&take=10000');
|
|
11
11
|
const json = await response.json();
|
|
12
12
|
for (const sb of json.items) {
|
|
@@ -18,7 +18,11 @@ class UserApiHelper {
|
|
|
18
18
|
}
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async exists(id) {
|
|
22
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
|
|
23
|
+
return response.status() === 200;
|
|
24
|
+
}
|
|
25
|
+
async nameExists(name) {
|
|
22
26
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
|
|
23
27
|
const json = await response.json();
|
|
24
28
|
for (const sb of json.items) {
|
|
@@ -28,7 +32,7 @@ class UserApiHelper {
|
|
|
28
32
|
}
|
|
29
33
|
return false;
|
|
30
34
|
}
|
|
31
|
-
async
|
|
35
|
+
async get(id) {
|
|
32
36
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
|
|
33
37
|
const json = await response.json();
|
|
34
38
|
if (json !== null) {
|
|
@@ -36,7 +40,7 @@ class UserApiHelper {
|
|
|
36
40
|
}
|
|
37
41
|
return null;
|
|
38
42
|
}
|
|
39
|
-
async
|
|
43
|
+
async getByName(name) {
|
|
40
44
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
|
|
41
45
|
const json = await response.json();
|
|
42
46
|
for (const sb of json.items) {
|
|
@@ -49,22 +53,25 @@ class UserApiHelper {
|
|
|
49
53
|
}
|
|
50
54
|
return null;
|
|
51
55
|
}
|
|
52
|
-
async
|
|
56
|
+
async create(email, name, userGroupIds) {
|
|
53
57
|
const userData = {
|
|
54
58
|
"email": email,
|
|
55
59
|
"userName": email,
|
|
56
60
|
"name": name,
|
|
57
61
|
"userGroupIds": userGroupIds
|
|
58
62
|
};
|
|
59
|
-
|
|
63
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);
|
|
64
|
+
// Returns the id of the user
|
|
65
|
+
const json = await response.json();
|
|
66
|
+
return json.userId;
|
|
60
67
|
}
|
|
61
|
-
async
|
|
68
|
+
async update(id, userData) {
|
|
62
69
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);
|
|
63
70
|
}
|
|
64
|
-
async
|
|
71
|
+
async delete(id) {
|
|
65
72
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
|
|
66
73
|
}
|
|
67
|
-
async
|
|
74
|
+
async deleteByName(name) {
|
|
68
75
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
|
|
69
76
|
const json = await response.json();
|
|
70
77
|
for (const sb of json.items) {
|
|
@@ -77,36 +84,36 @@ class UserApiHelper {
|
|
|
77
84
|
return null;
|
|
78
85
|
}
|
|
79
86
|
// Avatar
|
|
80
|
-
async
|
|
87
|
+
async addAvatar(id, fileId) {
|
|
81
88
|
const avatar = {
|
|
82
89
|
'fileId': fileId
|
|
83
90
|
};
|
|
84
91
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);
|
|
85
92
|
}
|
|
86
|
-
async
|
|
93
|
+
async removeAvatar(id) {
|
|
87
94
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);
|
|
88
95
|
}
|
|
89
96
|
// Enable/Disabled and Unlock
|
|
90
|
-
async
|
|
97
|
+
async disable(ids) {
|
|
91
98
|
const users = {
|
|
92
99
|
"userIds": ids
|
|
93
100
|
};
|
|
94
101
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/disable', users);
|
|
95
102
|
}
|
|
96
|
-
async
|
|
103
|
+
async enable(ids) {
|
|
97
104
|
const users = {
|
|
98
105
|
"userIds": ids
|
|
99
106
|
};
|
|
100
107
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/enable', users);
|
|
101
108
|
}
|
|
102
|
-
async
|
|
109
|
+
async unlock(ids) {
|
|
103
110
|
const users = {
|
|
104
111
|
"userIds": ids
|
|
105
112
|
};
|
|
106
113
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);
|
|
107
114
|
}
|
|
108
115
|
// Set User Groups for Users
|
|
109
|
-
async
|
|
116
|
+
async setUserGroups(userIds, userGroupIds) {
|
|
110
117
|
const userGroupsForUsers = {
|
|
111
118
|
"userIds": userIds,
|
|
112
119
|
"userGroupIds": userGroupIds
|
|
@@ -114,7 +121,7 @@ class UserApiHelper {
|
|
|
114
121
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/set-user-groups', userGroupsForUsers);
|
|
115
122
|
}
|
|
116
123
|
// Password
|
|
117
|
-
async
|
|
124
|
+
async updatePassword(newPassword, oldPassword) {
|
|
118
125
|
const updatePassword = {
|
|
119
126
|
"newPassword": newPassword,
|
|
120
127
|
"oldPassword": oldPassword
|
|
@@ -122,7 +129,7 @@ class UserApiHelper {
|
|
|
122
129
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/change-password/', updatePassword);
|
|
123
130
|
}
|
|
124
131
|
// Invite
|
|
125
|
-
async
|
|
132
|
+
async invite(email, name, userGroupIds, message) {
|
|
126
133
|
const userInvite = {
|
|
127
134
|
"email": email,
|
|
128
135
|
"userName": email,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACxB,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class UserApiHelper {\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/user?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/user/' + sb.id);\n }\n }\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/user/' + id);\n return response.status() === 200;\n }\n\n async nameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\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 get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + 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/user?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/user/' + sb.id);\n return await response.json();\n }\n\n }\n }\n return null;\n }\n\n async create(email, name, userGroupIds) {\n const userData = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);\n // Returns the id of the user\n const json = await response.json();\n return json.userId;\n }\n\n async update(id: string, userData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n }\n\n async deleteByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?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/user/' + sb.id);\n\n }\n }\n }\n return null;\n }\n\n // Avatar\n async addAvatar(id: string, fileId) {\n const avatar = {\n 'fileId': fileId\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);\n }\n\n async removeAvatar(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);\n }\n\n // Enable/Disabled and Unlock\n\n async disable(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/disable', users);\n }\n\n async enable(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/enable', users);\n }\n\n async unlock(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);\n }\n\n // Set User Groups for Users\n async setUserGroups(userIds, userGroupIds) {\n const userGroupsForUsers = {\n \"userIds\": userIds,\n \"userGroupIds\": userGroupIds\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/set-user-groups', userGroupsForUsers);\n }\n\n // Password\n async updatePassword(newPassword: string, oldPassword: string) {\n const updatePassword = {\n \"newPassword\": newPassword,\n \"oldPassword\": oldPassword\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/change-password/', updatePassword);\n }\n\n // Invite\n async invite(email: string, name: string, userGroupIds, message: string) {\n const userInvite = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds,\n \"message\": message\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/invite', userInvite);\n }\n}"]}
|
|
@@ -2,12 +2,13 @@ import { ApiHelpers } from "./ApiHelpers";
|
|
|
2
2
|
export declare class UserGroupApiHelper {
|
|
3
3
|
api: ApiHelpers;
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
6
|
+
exist(id: string): Promise<boolean>;
|
|
7
|
+
create(name: string, hasAccessToAllLanguages: boolean, sections?: string[], languages?: string[], permissions?: string[], icon?: string, documentStartNodeId?: string, mediaStartNodeId?: string): Promise<string | undefined>;
|
|
8
|
+
getByName(name: string): Promise<any>;
|
|
9
|
+
get(id: string): Promise<any>;
|
|
10
|
+
getAll(): Promise<any>;
|
|
11
|
+
update(id: string, userGroup: any): Promise<string>;
|
|
12
|
+
nameExists(name: string): Promise<boolean>;
|
|
13
|
+
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
13
14
|
}
|
|
@@ -6,7 +6,7 @@ class UserGroupApiHelper {
|
|
|
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/user-group?skip=0&take=10000');
|
|
11
11
|
const json = await response.json();
|
|
12
12
|
for (const sb of json.items) {
|
|
@@ -18,7 +18,11 @@ class UserGroupApiHelper {
|
|
|
18
18
|
}
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async exist(id) {
|
|
22
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
23
|
+
return response.status() === 200;
|
|
24
|
+
}
|
|
25
|
+
async create(name, hasAccessToAllLanguages, sections = [], languages = [], permissions = [], icon, documentStartNodeId, mediaStartNodeId) {
|
|
22
26
|
const userGroupData = {
|
|
23
27
|
"name": name,
|
|
24
28
|
"icon": icon,
|
|
@@ -29,9 +33,11 @@ class UserGroupApiHelper {
|
|
|
29
33
|
"mediaStartNodeId": mediaStartNodeId,
|
|
30
34
|
"permissions": permissions
|
|
31
35
|
};
|
|
32
|
-
|
|
36
|
+
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);
|
|
37
|
+
// Returns the id of the userGroup
|
|
38
|
+
return response.headers().location.split("/").pop();
|
|
33
39
|
}
|
|
34
|
-
async
|
|
40
|
+
async getByName(name) {
|
|
35
41
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
|
|
36
42
|
const json = await response.json();
|
|
37
43
|
for (const sb of json.items) {
|
|
@@ -44,7 +50,7 @@ class UserGroupApiHelper {
|
|
|
44
50
|
}
|
|
45
51
|
return null;
|
|
46
52
|
}
|
|
47
|
-
async
|
|
53
|
+
async get(id) {
|
|
48
54
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
49
55
|
const json = await response.json();
|
|
50
56
|
if (json !== null) {
|
|
@@ -52,7 +58,7 @@ class UserGroupApiHelper {
|
|
|
52
58
|
}
|
|
53
59
|
return null;
|
|
54
60
|
}
|
|
55
|
-
async
|
|
61
|
+
async getAll() {
|
|
56
62
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
|
|
57
63
|
const json = await response.json();
|
|
58
64
|
if (json !== null) {
|
|
@@ -60,12 +66,11 @@ class UserGroupApiHelper {
|
|
|
60
66
|
}
|
|
61
67
|
return null;
|
|
62
68
|
}
|
|
63
|
-
|
|
64
|
-
async updateUserGroupById(id, userGroup) {
|
|
69
|
+
async update(id, userGroup) {
|
|
65
70
|
const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);
|
|
66
71
|
return response.text();
|
|
67
72
|
}
|
|
68
|
-
async
|
|
73
|
+
async nameExists(name) {
|
|
69
74
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
|
|
70
75
|
const json = await response.json();
|
|
71
76
|
for (const sb of json.items) {
|
|
@@ -75,7 +80,7 @@ class UserGroupApiHelper {
|
|
|
75
80
|
}
|
|
76
81
|
return false;
|
|
77
82
|
}
|
|
78
|
-
async
|
|
83
|
+
async delete(id) {
|
|
79
84
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
80
85
|
}
|
|
81
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAC7B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class UserGroupApiHelper {\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/user-group?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/user-group/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async exist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, hasAccessToAllLanguages: boolean, sections: string[] = [], languages: string[] = [], permissions: string[] = [], icon?: string, documentStartNodeId?: string, mediaStartNodeId?: string) {\n const userGroupData = {\n \"name\": name,\n \"icon\": icon,\n \"sections\": sections,\n \"languages\": languages,\n \"hasAccessToAllLanguages\": hasAccessToAllLanguages,\n \"documentStartNodeId\": documentStartNodeId,\n \"mediaStartNodeId\": mediaStartNodeId,\n \"permissions\": permissions\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);\n // Returns the id of the userGroup\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?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/user-group/' + sb.id);\n return await response.json();\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/user-group/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async update(id: string, userGroup) {\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);\n return response.text();\n }\n\n async nameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n }\n}"]}
|