@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.
Files changed (50) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +7 -0
  2. package/dist/lib/helpers/ApiHelpers.js +22 -15
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/DataTypeApiHelper.d.ts +22 -20
  5. package/dist/lib/helpers/DataTypeApiHelper.js +36 -22
  6. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  7. package/dist/lib/helpers/DictionaryApiHelper.d.ts +13 -12
  8. package/dist/lib/helpers/DictionaryApiHelper.js +18 -12
  9. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
  10. package/dist/lib/helpers/LanguageApiHelper.d.ts +6 -7
  11. package/dist/lib/helpers/LanguageApiHelper.js +11 -28
  12. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  13. package/dist/lib/helpers/LogViewerApiHelper.d.ts +15 -0
  14. package/dist/lib/helpers/LogViewerApiHelper.js +112 -0
  15. package/dist/lib/helpers/LogViewerApiHelper.js.map +1 -0
  16. package/dist/lib/helpers/PackageApiHelper.d.ts +10 -9
  17. package/dist/lib/helpers/PackageApiHelper.js +26 -12
  18. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  19. package/dist/lib/helpers/PartialViewApiHelper.d.ts +13 -11
  20. package/dist/lib/helpers/PartialViewApiHelper.js +26 -13
  21. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/RelationType.d.ts +10 -9
  23. package/dist/lib/helpers/RelationType.js +16 -10
  24. package/dist/lib/helpers/RelationType.js.map +1 -1
  25. package/dist/lib/helpers/ScriptApiHelper.d.ts +13 -11
  26. package/dist/lib/helpers/ScriptApiHelper.js +26 -13
  27. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  28. package/dist/lib/helpers/StylesheetApiHelper.d.ts +13 -12
  29. package/dist/lib/helpers/StylesheetApiHelper.js +33 -17
  30. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  31. package/dist/lib/helpers/TelemetryDataApiHelper.d.ts +2 -2
  32. package/dist/lib/helpers/TelemetryDataApiHelper.js +3 -3
  33. package/dist/lib/helpers/TelemetryDataApiHelper.js.map +1 -1
  34. package/dist/lib/helpers/TemplateApiHelper.d.ts +12 -11
  35. package/dist/lib/helpers/TemplateApiHelper.js +19 -13
  36. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  37. package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +4 -5
  38. package/dist/lib/helpers/TemporaryFileApiHelper.js +6 -16
  39. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
  40. package/dist/lib/helpers/UiHelpers.d.ts +6 -0
  41. package/dist/lib/helpers/UiHelpers.js +20 -0
  42. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  43. package/dist/lib/helpers/UserApiHelper.d.ts +17 -16
  44. package/dist/lib/helpers/UserApiHelper.js +24 -17
  45. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  46. package/dist/lib/helpers/UserGroupApiHelper.d.ts +9 -8
  47. package/dist/lib/helpers/UserGroupApiHelper.js +15 -10
  48. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. 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":"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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\";\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\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 }\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 get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const options = {\n headers: {\n 'Authorization': await this.getBearerToken(),\n },\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: {\n 'Authorization': await this.getBearerToken(),\n },\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: {\n 'Authorization': await this.getBearerToken(),\n },\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: {\n 'Authorization': await this.getBearerToken(),\n },\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: {\n 'Authorization': await this.getBearerToken(),\n },\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}"]}
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
- ensureDataTypeNameNotExistsAtRoot(name: string): Promise<void | import("playwright-core").APIResponse | null>;
6
- getDataTypeById(id: string): Promise<any>;
7
- getDataTypeByNameAtRoot(name: string): Promise<any>;
8
- createDataType(name: string, propertyEditorAlias: string, values: {
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<import("playwright-core").APIResponse>;
12
- updateDataTypeById(id: string, dataType: any): Promise<import("playwright-core").APIResponse>;
13
- deleteDataTypeById(id: string): Promise<import("playwright-core").APIResponse>;
14
- deleteDataTypeByNameAtRoot(name: string): Promise<import("playwright-core").APIResponse | null>;
15
- getDataTypeItemsByIds(ids: string[]): Promise<any>;
16
- getAllDataTypesAtRoot(): Promise<any>;
17
- doesDataTypeWithNameExistAtRoot(name: string): Promise<boolean>;
18
- moveDataTypeToFolderById(dataTypeId: string, folderId: string): Promise<import("playwright-core").APIResponse>;
19
- copyDataTypeToFolderById(dataTypeId: string, folderId: string): Promise<import("playwright-core").APIResponse>;
20
- getDataTypeFolderById(id: string): Promise<any>;
21
- getDataTypeFolderByName(name: string): Promise<any>;
22
- createDataTypeFolder(name: string, parentId?: string): Promise<import("playwright-core").APIResponse>;
23
- updateDataTypeFolderById(id: string, dataTypeFolder: any): Promise<import("playwright-core").APIResponse>;
24
- deleteDataTypeFolderById(id: string): Promise<import("playwright-core").APIResponse>;
25
- deleteDataTypeFolderByName(name: string): Promise<import("playwright-core").APIResponse | null>;
26
- getDataTypeChildrenById(id: string): Promise<any>;
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 ensureDataTypeNameNotExistsAtRoot(name) {
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 getDataTypeById(id) {
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 getDataTypeByNameAtRoot(name) {
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 createDataType(name, propertyEditorAlias, values, parentId, propertyEditorUiAlias) {
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
- return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);
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 updateDataTypeById(id, dataType) {
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 deleteDataTypeById(id) {
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 deleteDataTypeByNameAtRoot(name) {
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 getDataTypeItemsByIds(ids) {
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 getAllDataTypesAtRoot() {
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 doesDataTypeWithNameExistAtRoot(name) {
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 moveDataTypeToFolderById(dataTypeId, folderId) {
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 copyDataTypeToFolderById(dataTypeId, folderId) {
121
+ async copyToFolder(dataTypeId, folderId) {
116
122
  const folderIdBody = {
117
123
  "targetId": folderId
118
124
  };
119
- return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);
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 getDataTypeFolderById(id) {
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 getDataTypeFolderByName(name) {
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 createDataTypeFolder(name, parentId) {
151
+ async createFolder(name, parentId) {
140
152
  const folderData = {
141
153
  "name": name,
142
154
  "parentId": parentId
143
155
  };
144
- return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);
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 updateDataTypeFolderById(id, dataTypeFolder) {
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 deleteDataTypeFolderById(id) {
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 deleteDataTypeFolderByName(name) {
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 getDataTypeChildrenById(id) {
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
- ensureDictionaryNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
6
- getDictionaryById(id: string): Promise<any>;
7
- getDictionaryByName(name: string): Promise<any>;
8
- createDictionary(name: string, translations?: {
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<import("playwright-core").APIResponse>;
12
- deleteDictionaryById(id: string): Promise<import("playwright-core").APIResponse>;
13
- deleteDictionaryByName(name: string): Promise<import("playwright-core").APIResponse | null>;
14
- updateDictionaryById(id: string, dictionary: object): Promise<import("playwright-core").APIResponse>;
15
- doesDictionaryWithNameExists(name: string): Promise<boolean>;
16
- getDictionaryChildrenById(id: string): Promise<any>;
17
- getDictionaryItemsByIds(ids: string[]): Promise<any>;
18
- getAllDictionariesAtRoot(): Promise<import("playwright-core").APIResponse>;
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 ensureDictionaryNameNotExists(name) {
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 getDictionaryById(id) {
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 getDictionaryByName(name) {
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 createDictionary(name, translations, parentId) {
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
- return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);
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 deleteDictionaryById(id) {
52
+ async delete(id) {
51
53
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
52
54
  }
53
- async deleteDictionaryByName(name) {
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 updateDictionaryById(id, dictionary) {
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 doesDictionaryWithNameExists(name) {
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 getDictionaryChildrenById(id) {
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 getDictionaryItemsByIds(ids) {
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 getAllDictionariesAtRoot() {
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":"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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 ensureDictionaryNameNotExists(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 getDictionaryById(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 getDictionaryByName(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 createDictionary(name: string, translations?: { isoCode: string, translation: string }[], parentId?: string) {\n const dictionary = {\n \"name\": name,\n \"translations\":\n translations,\n \"parentId\": parentId\n }\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);\n }\n\n async deleteDictionaryById(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n }\n\n async deleteDictionaryByName(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 updateDictionaryById(id: string, dictionary: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);\n }\n\n async doesDictionaryWithNameExists(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 getDictionaryChildrenById(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 getDictionaryItemsByIds(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/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 getAllDictionariesAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');\n }\n}"]}
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}"]}