@umbraco/playwright-testhelpers 1.0.21 → 2.0.0-beta

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 (103) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +31 -40
  2. package/dist/lib/helpers/ApiHelpers.js +64 -100
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/DataTypeApiHelper.d.ts +28 -0
  5. package/dist/lib/helpers/DataTypeApiHelper.js +194 -0
  6. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -0
  7. package/dist/lib/helpers/DictionaryApiHelper.d.ts +19 -0
  8. package/dist/lib/helpers/DictionaryApiHelper.js +103 -0
  9. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -0
  10. package/dist/lib/helpers/{FolderApiHelper.d.ts → DocumentApiHelper.d.ts} +1 -2
  11. package/dist/lib/helpers/DocumentApiHelper.js +11 -0
  12. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -0
  13. package/dist/lib/helpers/LanguageApiHelper.d.ts +12 -0
  14. package/dist/lib/helpers/LanguageApiHelper.js +71 -0
  15. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -0
  16. package/dist/lib/helpers/PackageApiHelper.d.ts +9 -4
  17. package/dist/lib/helpers/PackageApiHelper.js +86 -24
  18. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  19. package/dist/lib/helpers/PartialViewApiHelper.d.ts +12 -4
  20. package/dist/lib/helpers/PartialViewApiHelper.js +101 -23
  21. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/RelationType.d.ts +14 -0
  23. package/dist/lib/helpers/RelationType.js +94 -0
  24. package/dist/lib/helpers/RelationType.js.map +1 -0
  25. package/dist/lib/helpers/ScriptApiHelper.d.ts +12 -6
  26. package/dist/lib/helpers/ScriptApiHelper.js +101 -35
  27. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  28. package/dist/lib/helpers/StylesheetApiHelper.d.ts +13 -2
  29. package/dist/lib/helpers/StylesheetApiHelper.js +113 -12
  30. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  31. package/dist/lib/helpers/TelemetryDataApiHelper.d.ts +7 -0
  32. package/dist/lib/helpers/TelemetryDataApiHelper.js +22 -0
  33. package/dist/lib/helpers/TelemetryDataApiHelper.js.map +1 -0
  34. package/dist/lib/helpers/TemplateApiHelper.d.ts +16 -0
  35. package/dist/lib/helpers/TemplateApiHelper.js +104 -0
  36. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -0
  37. package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +10 -0
  38. package/dist/lib/helpers/TemporaryFileApiHelper.js +50 -0
  39. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -0
  40. package/dist/lib/helpers/UiHelpers.d.ts +1 -33
  41. package/dist/lib/helpers/UiHelpers.js +0 -196
  42. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  43. package/dist/lib/helpers/UserApiHelper.d.ts +16 -5
  44. package/dist/lib/helpers/UserApiHelper.js +115 -44
  45. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  46. package/dist/lib/helpers/UserGroupApiHelper.d.ts +8 -2
  47. package/dist/lib/helpers/UserGroupApiHelper.js +66 -15
  48. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  49. package/dist/lib/helpers/index.d.ts +1 -3
  50. package/dist/lib/helpers/index.js +3 -7
  51. package/dist/lib/helpers/index.js.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +3 -3
  54. package/dist/lib/helpers/ConstantHelper.d.ts +0 -40
  55. package/dist/lib/helpers/ConstantHelper.js +0 -45
  56. package/dist/lib/helpers/ConstantHelper.js.map +0 -1
  57. package/dist/lib/helpers/ContentApiHelper.d.ts +0 -12
  58. package/dist/lib/helpers/ContentApiHelper.js +0 -126
  59. package/dist/lib/helpers/ContentApiHelper.js.map +0 -1
  60. package/dist/lib/helpers/DatatypeApiHelper.d.ts +0 -8
  61. package/dist/lib/helpers/DatatypeApiHelper.js +0 -42
  62. package/dist/lib/helpers/DatatypeApiHelper.js.map +0 -1
  63. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +0 -8
  64. package/dist/lib/helpers/DocumentTypeApiHelper.js +0 -52
  65. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +0 -1
  66. package/dist/lib/helpers/DomainApiHelper.d.ts +0 -7
  67. package/dist/lib/helpers/DomainApiHelper.js +0 -31
  68. package/dist/lib/helpers/DomainApiHelper.js.map +0 -1
  69. package/dist/lib/helpers/FolderApiHelper.js +0 -16
  70. package/dist/lib/helpers/FolderApiHelper.js.map +0 -1
  71. package/dist/lib/helpers/JsonHelper.d.ts +0 -12
  72. package/dist/lib/helpers/JsonHelper.js +0 -29
  73. package/dist/lib/helpers/JsonHelper.js.map +0 -1
  74. package/dist/lib/helpers/LanguagesApiHelper.d.ts +0 -10
  75. package/dist/lib/helpers/LanguagesApiHelper.js +0 -67
  76. package/dist/lib/helpers/LanguagesApiHelper.js.map +0 -1
  77. package/dist/lib/helpers/MacroApiHelper.d.ts +0 -9
  78. package/dist/lib/helpers/MacroApiHelper.js +0 -56
  79. package/dist/lib/helpers/MacroApiHelper.js.map +0 -1
  80. package/dist/lib/helpers/MediaApiHelper.d.ts +0 -75
  81. package/dist/lib/helpers/MediaApiHelper.js +0 -267
  82. package/dist/lib/helpers/MediaApiHelper.js.map +0 -1
  83. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +0 -7
  84. package/dist/lib/helpers/MediaTypeApiHelper.js +0 -29
  85. package/dist/lib/helpers/MediaTypeApiHelper.js.map +0 -1
  86. package/dist/lib/helpers/MemberApiHelper.d.ts +0 -6
  87. package/dist/lib/helpers/MemberApiHelper.js +0 -22
  88. package/dist/lib/helpers/MemberApiHelper.js.map +0 -1
  89. package/dist/lib/helpers/MemberGroupApiHelper.d.ts +0 -6
  90. package/dist/lib/helpers/MemberGroupApiHelper.js +0 -25
  91. package/dist/lib/helpers/MemberGroupApiHelper.js.map +0 -1
  92. package/dist/lib/helpers/MemberTypeApiHelper.d.ts +0 -6
  93. package/dist/lib/helpers/MemberTypeApiHelper.js +0 -28
  94. package/dist/lib/helpers/MemberTypeApiHelper.js.map +0 -1
  95. package/dist/lib/helpers/RelationTypeApiHelper.d.ts +0 -6
  96. package/dist/lib/helpers/RelationTypeApiHelper.js +0 -28
  97. package/dist/lib/helpers/RelationTypeApiHelper.js.map +0 -1
  98. package/dist/lib/helpers/TemplatesApiHelper.d.ts +0 -8
  99. package/dist/lib/helpers/TemplatesApiHelper.js +0 -47
  100. package/dist/lib/helpers/TemplatesApiHelper.js.map +0 -1
  101. package/dist/lib/helpers/TranslationApiHelper.d.ts +0 -6
  102. package/dist/lib/helpers/TranslationApiHelper.js +0 -25
  103. package/dist/lib/helpers/TranslationApiHelper.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DictionaryApiHelper = void 0;
4
+ class DictionaryApiHelper {
5
+ api;
6
+ constructor(api) {
7
+ this.api = api;
8
+ }
9
+ async ensureDictionaryNameNotExists(name) {
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');
11
+ const json = await response.json();
12
+ for (const sb of json.items) {
13
+ if (sb.name === name) {
14
+ if (sb.id !== null) {
15
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);
16
+ }
17
+ }
18
+ }
19
+ return null;
20
+ }
21
+ async getDictionaryById(id) {
22
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
23
+ const json = await response.json();
24
+ if (json !== null) {
25
+ return json;
26
+ }
27
+ return null;
28
+ }
29
+ async getDictionaryByName(name) {
30
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');
31
+ const json = await response.json();
32
+ for (const sb of json.items) {
33
+ if (sb.name === name) {
34
+ if (sb.id !== null) {
35
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);
36
+ return await response.json();
37
+ }
38
+ }
39
+ }
40
+ return null;
41
+ }
42
+ async createDictionary(name, translations, parentId) {
43
+ const dictionary = {
44
+ "name": name,
45
+ "translations": translations,
46
+ "parentId": parentId
47
+ };
48
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);
49
+ }
50
+ async deleteDictionaryById(id) {
51
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
52
+ }
53
+ async deleteDictionaryByName(name) {
54
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');
55
+ const json = await response.json();
56
+ for (const sb of json.items) {
57
+ if (sb.name === name) {
58
+ if (sb.id !== null)
59
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);
60
+ }
61
+ }
62
+ return null;
63
+ }
64
+ async updateDictionaryById(id, dictionary) {
65
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);
66
+ }
67
+ async doesDictionaryWithNameExists(name) {
68
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');
69
+ const json = await response.json();
70
+ for (const sb of json.items) {
71
+ if (sb.name === name) {
72
+ return true;
73
+ }
74
+ }
75
+ return false;
76
+ }
77
+ async getDictionaryChildrenById(id) {
78
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');
79
+ const json = response.json();
80
+ if (json !== null) {
81
+ return json;
82
+ }
83
+ return null;
84
+ }
85
+ async getDictionaryItemsByIds(ids) {
86
+ let idArray = 'id=' + ids[0];
87
+ let i;
88
+ for (i = 1; i < ids.length; ++i) {
89
+ idArray += '&id=' + ids[i];
90
+ }
91
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/item?' + idArray);
92
+ const json = await response.json();
93
+ if (json !== null) {
94
+ return json;
95
+ }
96
+ return null;
97
+ }
98
+ async getAllDictionariesAtRoot() {
99
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');
100
+ }
101
+ }
102
+ exports.DictionaryApiHelper = DictionaryApiHelper;
103
+ //# sourceMappingURL=DictionaryApiHelper.js.map
@@ -0,0 +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,6 +1,5 @@
1
1
  import { ApiHelpers } from "./ApiHelpers";
2
- export declare class FolderApiHelper {
2
+ export declare class DocumentApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
- save(section: string, name: string): Promise<any>;
6
5
  }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentApiHelper = void 0;
4
+ class DocumentApiHelper {
5
+ api;
6
+ constructor(api) {
7
+ this.api = api;
8
+ }
9
+ }
10
+ exports.DocumentApiHelper = DocumentApiHelper;
11
+ //# sourceMappingURL=DocumentApiHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC5B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CAEF;AAPD,8CAOC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DocumentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n \n}"]}
@@ -0,0 +1,12 @@
1
+ import { ApiHelpers } from "./ApiHelpers";
2
+ export declare class LanguagesApiHelper {
3
+ api: ApiHelpers;
4
+ constructor(api: ApiHelpers);
5
+ ensureIsoCodeNotExists(isoCode: string): Promise<void>;
6
+ createLanguage(name: string, isDefault: boolean | undefined, isMandatory: boolean | undefined, isoCode: string, fallbackIsoCode?: string): Promise<void>;
7
+ getLanguageByIsoCode(isoCode: string): Promise<any>;
8
+ getLanguageByName(name: string): Promise<any>;
9
+ doesLanguageWithIsoCodeExist(isoCode: string): Promise<boolean>;
10
+ updateLanguageWithIsoCode(isoCode: string, language: object): Promise<import("playwright-core").APIResponse>;
11
+ deleteLanguageWithIsoCode(isoCode: string): Promise<import("playwright-core").APIResponse>;
12
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LanguagesApiHelper = void 0;
4
+ class LanguagesApiHelper {
5
+ api;
6
+ constructor(api) {
7
+ this.api = api;
8
+ }
9
+ async ensureIsoCodeNotExists(isoCode) {
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?skip=0&take=10000');
11
+ const json = await response.json();
12
+ let langISO = null;
13
+ for (const sb of json.items) {
14
+ if (sb.isoCode === isoCode) {
15
+ langISO = sb.isoCode;
16
+ }
17
+ }
18
+ if (langISO !== null) {
19
+ await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/language/' + langISO);
20
+ }
21
+ }
22
+ async createLanguage(name, isDefault = false, isMandatory = false, isoCode, fallbackIsoCode = "en-US") {
23
+ const langData = {
24
+ "name": name,
25
+ "isDefault": isDefault,
26
+ "isMandatory": isMandatory,
27
+ "fallbackIsoCode": fallbackIsoCode,
28
+ "isoCode": isoCode
29
+ };
30
+ await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/language', langData);
31
+ }
32
+ async getLanguageByIsoCode(isoCode) {
33
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode);
34
+ const json = await response.json();
35
+ if (json !== null) {
36
+ return json;
37
+ }
38
+ return null;
39
+ }
40
+ async getLanguageByName(name) {
41
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?skip=0&take=100000');
42
+ const json = await response.json();
43
+ for (const sb of json.items) {
44
+ if (sb.name === name) {
45
+ if (sb.isoCode !== null) {
46
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language/' + sb.isoCode);
47
+ return await response.json();
48
+ }
49
+ }
50
+ }
51
+ return null;
52
+ }
53
+ async doesLanguageWithIsoCodeExist(isoCode) {
54
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?skip=0&take=100000');
55
+ const json = await response.json();
56
+ for (const sb of json.items) {
57
+ if (sb.isoCode === isoCode) {
58
+ return true;
59
+ }
60
+ }
61
+ return false;
62
+ }
63
+ async updateLanguageWithIsoCode(isoCode, language) {
64
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode, language);
65
+ }
66
+ async deleteLanguageWithIsoCode(isoCode) {
67
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode);
68
+ }
69
+ }
70
+ exports.LanguagesApiHelper = LanguagesApiHelper;
71
+ //# sourceMappingURL=LanguageApiHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class LanguagesApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureIsoCodeNotExists(isoCode: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?skip=0&take=10000');\n const json = await response.json();\n\n let langISO = null;\n\n for (const sb of json.items) {\n if (sb.isoCode === isoCode) {\n langISO = sb.isoCode;\n }\n }\n\n if (langISO !== null) {\n await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/language/' + langISO);\n }\n }\n\n async createLanguage(name: string, isDefault = false, isMandatory = false, isoCode: string, fallbackIsoCode = \"en-US\") {\n const langData = {\n \"name\": name,\n \"isDefault\": isDefault,\n \"isMandatory\": isMandatory,\n \"fallbackIsoCode\": fallbackIsoCode,\n \"isoCode\": isoCode\n };\n\n await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/language', langData);\n }\n\n async getLanguageByIsoCode(isoCode: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getLanguageByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?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.isoCode !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language/' + sb.isoCode);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async doesLanguageWithIsoCodeExist(isoCode: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?skip=0&take=100000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.isoCode === isoCode) {\n return true;\n }\n }\n return false;\n }\n\n async updateLanguageWithIsoCode(isoCode: string, language: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode, language);\n }\n\n async deleteLanguageWithIsoCode(isoCode: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode);\n }\n}"]}
@@ -1,9 +1,14 @@
1
1
  import { ApiHelpers } from "./ApiHelpers";
2
- import { Package } from "@umbraco/json-models-builders";
3
2
  export declare class PackageApiHelper {
4
3
  api: ApiHelpers;
5
4
  constructor(api: ApiHelpers);
6
- ensureNameNotExists(name: string): Promise<void>;
7
- doesNameExist(name: string): Promise<boolean>;
8
- save(packageToSave: Package): Promise<void>;
5
+ ensurePackageNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
6
+ doesPackageWithNameExist(name: string): Promise<boolean>;
7
+ createPackage(name: string, contentLoadChildNodes?: boolean, mediaLoadChildNodes?: boolean, contentNodeId?: string, mediaIds?: string[], documentTypes?: any, mediaTypes?: any, dataTypes?: any, templates?: any, partialViews?: any, stylesheets?: any, scripts?: any, languages?: any, dictionaryItems?: any): Promise<import("playwright-core").APIResponse>;
8
+ getPackageByName(name: string): Promise<any>;
9
+ getPackageById(id: string): Promise<any>;
10
+ getAllPackages(): Promise<any>;
11
+ updatePackageById(id: string, packageData: any): Promise<import("playwright-core").APIResponse>;
12
+ deletePackageById(id: string): Promise<import("playwright-core").APIResponse>;
13
+ downloadPackageById(id: string): Promise<string>;
9
14
  }
@@ -1,42 +1,104 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PackageApiHelper = void 0;
4
- const JsonHelper_1 = require("./JsonHelper");
5
4
  class PackageApiHelper {
6
5
  api;
7
6
  constructor(api) {
8
7
  this.api = api;
9
8
  }
10
- async ensureNameNotExists(name) {
11
- const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/GetCreatedPackages');
12
- const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
13
- let packageId = null;
14
- for (const sb of searchBody) {
15
- if (sb.name == name) {
16
- packageId = sb.id;
9
+ async ensurePackageNameNotExists(name) {
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
11
+ const json = await response.json();
12
+ for (const sb of json.items) {
13
+ if (sb.name === name) {
14
+ if (sb.id !== null) {
15
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);
16
+ }
17
17
  }
18
18
  }
19
- if (packageId !== null) {
20
- await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/DeleteCreatedPackage?packageId=' + packageId);
21
- }
19
+ return null;
22
20
  }
23
- async doesNameExist(name) {
24
- const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/GetCreatedPackages');
25
- const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
26
- let packageId = null;
27
- let doesExist = false;
28
- for (const sb of searchBody) {
29
- if (sb.name == name) {
30
- packageId = sb.id;
21
+ async doesPackageWithNameExist(name) {
22
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
23
+ const json = await response.json();
24
+ if (name !== null) {
25
+ for (const sb of json.items) {
26
+ if (sb.name === name) {
27
+ return true;
28
+ }
31
29
  }
32
30
  }
33
- if (packageId !== null) {
34
- doesExist = true;
31
+ return false;
32
+ }
33
+ async createPackage(name, contentLoadChildNodes = true, mediaLoadChildNodes = true, contentNodeId, mediaIds, documentTypes, mediaTypes, dataTypes, templates, partialViews, stylesheets, scripts, languages, dictionaryItems) {
34
+ const packageData = {
35
+ "name": name,
36
+ "contentNodeId": contentNodeId,
37
+ "contentLoadChildNodes": contentLoadChildNodes,
38
+ "mediaIds": mediaIds,
39
+ "mediaLoadChildNodes": mediaLoadChildNodes,
40
+ "documentTypes": [
41
+ documentTypes
42
+ ],
43
+ "mediaTypes": [
44
+ mediaTypes
45
+ ],
46
+ "dataTypes": [
47
+ dataTypes
48
+ ],
49
+ "templates": [
50
+ templates
51
+ ],
52
+ "partialViews": [
53
+ partialViews
54
+ ],
55
+ "stylesheets": [
56
+ stylesheets
57
+ ],
58
+ "scripts": [
59
+ scripts
60
+ ],
61
+ "languages": [
62
+ languages
63
+ ],
64
+ "dictionaryItems": [
65
+ dictionaryItems
66
+ ]
67
+ };
68
+ return this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/package/created', packageData);
69
+ }
70
+ async getPackageByName(name) {
71
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
72
+ const json = await response.json();
73
+ if (name !== null) {
74
+ for (const sb of json.items) {
75
+ if (sb.name === name) {
76
+ if (sb.id !== null) {
77
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);
78
+ return await response.json();
79
+ }
80
+ }
81
+ }
35
82
  }
36
- return doesExist;
83
+ return null;
84
+ }
85
+ async getPackageById(id) {
86
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
87
+ return await response.json();
88
+ }
89
+ async getAllPackages() {
90
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
91
+ return await response.json();
92
+ }
93
+ async updatePackageById(id, packageData) {
94
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id, packageData);
95
+ }
96
+ async deletePackageById(id) {
97
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
37
98
  }
38
- async save(packageToSave) {
39
- await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/PostSavePackage', packageToSave);
99
+ async downloadPackageById(id) {
100
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');
101
+ return await response.text();
40
102
  }
41
103
  }
42
104
  exports.PackageApiHelper = PackageApiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AAGxC,MAAa,gBAAgB;IAC3B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2DAA2D,CAAC,CAAC;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE;gBACnB,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;aACnB;SACF;QAED,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wEAAwE,GAAG,SAAS,CAAC,CAAC;SAC9H;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2DAA2D,CAAC,CAAC;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE;gBACnB,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;aACnB;SACF;QAED,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,SAAS,GAAG,IAAI,CAAC;SAClB;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAsB;QAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wDAAwD,EAAE,aAAa,CAAC,CAAC;IAClH,CAAC;CACF;AA9CD,4CA8CC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport {Package} from \"@umbraco/json-models-builders\";\n\nexport class PackageApiHelper {\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/backoffice/umbracoapi/package/GetCreatedPackages');\n const searchBody = await JsonHelper.getBody(response);\n\n let packageId = null;\n\n for (const sb of searchBody) {\n if (sb.name == name) {\n packageId = sb.id;\n }\n }\n\n if (packageId !== null) {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/DeleteCreatedPackage?packageId=' + packageId);\n }\n }\n\n async doesNameExist(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/GetCreatedPackages');\n const searchBody = await JsonHelper.getBody(response);\n\n let packageId = null;\n let doesExist = false;\n \n for (const sb of searchBody) {\n if (sb.name == name) {\n packageId = sb.id;\n }\n }\n\n if (packageId !== null) {\n doesExist = true;\n }\n return doesExist\n }\n\n async save(packageToSave: Package) {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/PostSavePackage', packageToSave);\n }\n}"]}
1
+ {"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class PackageApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensurePackageNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?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/package/created/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async doesPackageWithNameExist(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (name !== null) {\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n }\n return false;\n }\n\n async createPackage(name: string, contentLoadChildNodes = true, mediaLoadChildNodes = true, contentNodeId?: string, mediaIds?: string[], documentTypes?, mediaTypes?, dataTypes?, templates?, partialViews?, stylesheets?, scripts?, languages?, dictionaryItems?) {\n const packageData = {\n \"name\": name,\n \"contentNodeId\": contentNodeId,\n \"contentLoadChildNodes\": contentLoadChildNodes,\n \"mediaIds\": mediaIds,\n \"mediaLoadChildNodes\": mediaLoadChildNodes,\n \"documentTypes\": [\n documentTypes\n ],\n \"mediaTypes\": [\n mediaTypes\n ],\n \"dataTypes\": [\n dataTypes\n ],\n \"templates\": [\n templates\n ],\n \"partialViews\": [\n partialViews\n ],\n \"stylesheets\": [\n stylesheets\n ],\n \"scripts\": [\n scripts\n ],\n \"languages\": [\n languages\n ],\n \"dictionaryItems\": [\n dictionaryItems\n ]\n };\n\n return this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/package/created', packageData);\n }\n\n async getPackageByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (name !== null) {\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/package/created/' + sb.id);\n return await response.json();\n }\n }\n }\n }\n return null;\n }\n\n async getPackageById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);\n return await response.json();\n }\n\n async getAllPackages() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n return await response.json();\n }\n\n async updatePackageById(id: string, packageData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id, packageData);\n }\n\n async deletePackageById(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);\n }\n\n async downloadPackageById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');\n return await response.text();\n }\n}"]}
@@ -2,8 +2,16 @@ import { ApiHelpers } from "./ApiHelpers";
2
2
  export declare class PartialViewApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
- ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
6
- ensureMacroFileNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
7
- save(partialView: any): Promise<void>;
8
- savePartialViewMacro(partialViewMacro: any): Promise<import("playwright-core").APIResponse | undefined>;
5
+ ensurePartialViewNameNotExistsAtRoot(name: string): Promise<void | import("playwright-core").APIResponse | null>;
6
+ doesPartialViewWithNameExistAtRoot(name: string): Promise<boolean>;
7
+ getPartialViewByPath(path: string): Promise<any>;
8
+ getPartialViewByNameAtRoot(name: string): Promise<any>;
9
+ createPartialView(name: string, content: string, parentPath?: string): Promise<import("playwright-core").APIResponse>;
10
+ updatePartialView(partialView: any): Promise<import("playwright-core").APIResponse>;
11
+ deletePartialViewByPath(path: string): Promise<import("playwright-core").APIResponse>;
12
+ getPartialViewFolderByPath(path: any): Promise<any>;
13
+ getChildrenInPartialViewFolderByPath(path: any): Promise<any>;
14
+ createPartialViewFolder(name: string, parentPath?: string): Promise<import("playwright-core").APIResponse>;
15
+ deletePartialViewFolder(path: string): Promise<import("playwright-core").APIResponse>;
16
+ recurseFolderChildren(path: string): Promise<void>;
9
17
  }
@@ -1,45 +1,123 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PartialViewApiHelper = void 0;
4
- const JsonHelper_1 = require("./JsonHelper");
5
4
  class PartialViewApiHelper {
6
5
  api;
7
6
  constructor(api) {
8
7
  this.api = api;
9
8
  }
10
- async ensureNameNotExists(name) {
11
- const response = await this.api.get(this.api.baseUrl + "/umbraco/backoffice/UmbracoTrees/PartialViewsTree/GetNodes?id=-1");
12
- const content = await JsonHelper_1.JsonHelper.getBody(response);
13
- if (content.length > 0) {
14
- for (const node of content) {
15
- if (node.name === name) {
16
- return this.api.post(this.api.baseUrl + "/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=partialViews&virtualPath=" + name);
9
+ async ensurePartialViewNameNotExistsAtRoot(name) {
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/partial-view/root?skip=0&take=10000');
11
+ const json = await response.json();
12
+ for (const sb of json.items) {
13
+ if (sb.name === name) {
14
+ if (sb.isFolder == false) {
15
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view?path=' + sb.path);
16
+ }
17
+ else {
18
+ if (sb.hasChildren == true) {
19
+ return await this.recurseFolderChildren(sb.path);
20
+ }
21
+ else {
22
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder?path=' + sb.path);
23
+ }
17
24
  }
18
25
  }
19
26
  }
20
27
  return null;
21
28
  }
22
- async ensureMacroFileNameNotExists(name) {
23
- const response = await this.api.get(this.api.baseUrl + "/umbraco/backoffice/UmbracoTrees/PartialViewMacrosTree/GetNodes?id=-1");
24
- const content = await JsonHelper_1.JsonHelper.getBody(response);
25
- if (content.length > 0) {
26
- let partialViewMacroId = null;
27
- for (const node of content) {
28
- if (node.name === name) {
29
- partialViewMacroId = node.id;
30
- }
29
+ async doesPartialViewWithNameExistAtRoot(name) {
30
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/partial-view/root?skip=0&take=10000');
31
+ const json = await response.json();
32
+ for (const sb of json.items) {
33
+ if (sb.name === name) {
34
+ return true;
31
35
  }
32
- if (partialViewMacroId !== null) {
33
- return this.api.post(this.api.baseUrl + "/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=partialViewMacros&virtualPath=" + partialViewMacroId);
36
+ }
37
+ return false;
38
+ }
39
+ async getPartialViewByPath(path) {
40
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/partial-view?path=' + path);
41
+ return await response.json();
42
+ }
43
+ async getPartialViewByNameAtRoot(name) {
44
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/partial-view/root?skip=0&take=10000');
45
+ const json = await response.json();
46
+ for (const sb of json.items) {
47
+ if (sb.name === name) {
48
+ if (sb.isFolder === false) {
49
+ const partialView = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/partial-view?path=' + sb.path);
50
+ return await partialView.json();
51
+ }
52
+ else {
53
+ const partialViewFolder = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder?path=' + sb.path);
54
+ return await partialViewFolder.json();
55
+ }
34
56
  }
35
57
  }
36
58
  return null;
37
59
  }
38
- async save(partialView) {
39
- await this.api.post(this.api.baseUrl + "/umbraco/backoffice/UmbracoApi/CodeFile/PostSave", partialView);
60
+ async createPartialView(name, content, parentPath = "") {
61
+ const partialViewData = {
62
+ "name": name,
63
+ "content": content,
64
+ "parentPath": parentPath
65
+ };
66
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/partial-view', partialViewData);
67
+ }
68
+ async updatePartialView(partialView) {
69
+ const partialViewData = {
70
+ "name": partialView.name,
71
+ "content": partialView.content,
72
+ "existingPath": partialView.path
73
+ };
74
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/partial-view', partialViewData);
75
+ }
76
+ async deletePartialViewByPath(path) {
77
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view?path=' + path);
78
+ }
79
+ // Folder
80
+ async getPartialViewFolderByPath(path) {
81
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder?path=' + path);
82
+ return await response.json();
40
83
  }
41
- async savePartialViewMacro(partialViewMacro) {
42
- return await this.api.saveCodeFile(partialViewMacro);
84
+ async getChildrenInPartialViewFolderByPath(path) {
85
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/partial-view/children?path=' + path + '&skip=0&take=10000');
86
+ const json = await response.json();
87
+ if (json !== null) {
88
+ return json;
89
+ }
90
+ return null;
91
+ }
92
+ async createPartialViewFolder(name, parentPath = "") {
93
+ const partialViewFolderData = {
94
+ "name": name,
95
+ "parentPath": parentPath
96
+ };
97
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder', partialViewFolderData);
98
+ }
99
+ async deletePartialViewFolder(path) {
100
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder?path=' + path);
101
+ }
102
+ async recurseFolderChildren(path) {
103
+ const parentPartialView = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/partial-view/children?path=' + path + '&skip=0&take=10000');
104
+ const itemsJson = await parentPartialView.json();
105
+ for (const child of itemsJson.items) {
106
+ if (child.path !== null) {
107
+ if (child.isFolder == true) {
108
+ if (child.hasChildren == true) {
109
+ await this.recurseFolderChildren(child.path);
110
+ }
111
+ else {
112
+ await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder?path=' + child.path);
113
+ }
114
+ }
115
+ else {
116
+ await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/?path=' + child.path);
117
+ }
118
+ }
119
+ }
120
+ await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/partial-view/folder?path=' + path);
43
121
  }
44
122
  }
45
123
  exports.PartialViewApiHelper = PartialViewApiHelper;