@umbraco/playwright-testhelpers 2.0.0-beta.3 → 2.0.0-beta.31

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 (151) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +20 -4
  2. package/dist/lib/helpers/ApiHelpers.js +28 -4
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.d.ts +11 -0
  5. package/dist/lib/helpers/ConstantHelper.js +16 -0
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -0
  7. package/dist/lib/helpers/DataTypeApiHelper.d.ts +14 -14
  8. package/dist/lib/helpers/DataTypeApiHelper.js +114 -133
  9. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DataTypeUiHelper.d.ts +140 -0
  11. package/dist/lib/helpers/DataTypeUiHelper.js +439 -0
  12. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -0
  13. package/dist/lib/helpers/DictionaryApiHelper.d.ts +12 -8
  14. package/dist/lib/helpers/DictionaryApiHelper.js +104 -66
  15. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
  16. package/dist/lib/helpers/DictionaryUiHelper.d.ts +31 -0
  17. package/dist/lib/helpers/DictionaryUiHelper.js +92 -0
  18. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -0
  19. package/dist/lib/helpers/DocumentApiHelper.d.ts +2 -0
  20. package/dist/lib/helpers/DocumentApiHelper.js +17 -0
  21. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +25 -0
  23. package/dist/lib/helpers/DocumentTypeApiHelper.js +223 -0
  24. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -0
  25. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
  26. package/dist/lib/helpers/DocumentTypeUiHelper.js +62 -0
  27. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
  28. package/dist/lib/helpers/ExamineManagementUiHelper.d.ts +15 -0
  29. package/dist/lib/helpers/ExamineManagementUiHelper.js +38 -0
  30. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -0
  31. package/dist/lib/helpers/HealthCheckApiHelper.d.ts +13 -0
  32. package/dist/lib/helpers/HealthCheckApiHelper.js +47 -0
  33. package/dist/lib/helpers/HealthCheckApiHelper.js.map +1 -0
  34. package/dist/lib/helpers/HealthCheckUiHelper.d.ts +23 -0
  35. package/dist/lib/helpers/HealthCheckUiHelper.js +59 -0
  36. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -0
  37. package/dist/lib/helpers/IndexerApiHelper.d.ts +7 -0
  38. package/dist/lib/helpers/IndexerApiHelper.js +19 -0
  39. package/dist/lib/helpers/IndexerApiHelper.js.map +1 -0
  40. package/dist/lib/helpers/LanguageApiHelper.d.ts +8 -4
  41. package/dist/lib/helpers/LanguageApiHelper.js +46 -26
  42. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  43. package/dist/lib/helpers/LanguageUiHelper.d.ts +23 -0
  44. package/dist/lib/helpers/LanguageUiHelper.js +64 -0
  45. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -0
  46. package/dist/lib/helpers/LogViewerUiHelper.d.ts +37 -0
  47. package/dist/lib/helpers/LogViewerUiHelper.js +102 -0
  48. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -0
  49. package/dist/lib/helpers/LoginUiHelper.d.ts +11 -0
  50. package/dist/lib/helpers/LoginUiHelper.js +30 -0
  51. package/dist/lib/helpers/LoginUiHelper.js.map +1 -0
  52. package/dist/lib/helpers/MediaApiHelper.d.ts +7 -0
  53. package/dist/lib/helpers/MediaApiHelper.js +28 -0
  54. package/dist/lib/helpers/MediaApiHelper.js.map +1 -0
  55. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +22 -0
  56. package/dist/lib/helpers/MediaTypeApiHelper.js +194 -0
  57. package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -0
  58. package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
  59. package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
  60. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
  61. package/dist/lib/helpers/ModelsBuilderApiHelper.d.ts +6 -0
  62. package/dist/lib/helpers/ModelsBuilderApiHelper.js +15 -0
  63. package/dist/lib/helpers/ModelsBuilderApiHelper.js.map +1 -0
  64. package/dist/lib/helpers/ModelsBuilderUiHelper.d.ts +11 -0
  65. package/dist/lib/helpers/ModelsBuilderUiHelper.js +27 -0
  66. package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -0
  67. package/dist/lib/helpers/ObjectTypesApiHelper.d.ts +7 -0
  68. package/dist/lib/helpers/ObjectTypesApiHelper.js +25 -0
  69. package/dist/lib/helpers/ObjectTypesApiHelper.js.map +1 -0
  70. package/dist/lib/helpers/PackageApiHelper.d.ts +3 -2
  71. package/dist/lib/helpers/PackageApiHelper.js +6 -3
  72. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  73. package/dist/lib/helpers/PackageUiHelper.d.ts +49 -0
  74. package/dist/lib/helpers/PackageUiHelper.js +134 -0
  75. package/dist/lib/helpers/PackageUiHelper.js.map +1 -0
  76. package/dist/lib/helpers/PartialViewApiHelper.d.ts +14 -10
  77. package/dist/lib/helpers/PartialViewApiHelper.js +124 -98
  78. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  79. package/dist/lib/helpers/PartialViewUiHelper.d.ts +19 -0
  80. package/dist/lib/helpers/PartialViewUiHelper.js +57 -0
  81. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -0
  82. package/dist/lib/helpers/ProfilingUiHelper.d.ts +11 -0
  83. package/dist/lib/helpers/ProfilingUiHelper.js +27 -0
  84. package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -0
  85. package/dist/lib/helpers/PublishedCacheApiHelper.d.ts +6 -0
  86. package/dist/lib/helpers/PublishedCacheApiHelper.js +15 -0
  87. package/dist/lib/helpers/PublishedCacheApiHelper.js.map +1 -0
  88. package/dist/lib/helpers/PublishedStatusUiHelper.d.ts +19 -0
  89. package/dist/lib/helpers/PublishedStatusUiHelper.js +47 -0
  90. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -0
  91. package/dist/lib/helpers/RelationTypeApiHelper.d.ts +15 -0
  92. package/dist/lib/helpers/{RelationType.js → RelationTypeApiHelper.js} +45 -58
  93. package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -0
  94. package/dist/lib/helpers/RelationTypeUiHelper.d.ts +21 -0
  95. package/dist/lib/helpers/RelationTypeUiHelper.js +55 -0
  96. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -0
  97. package/dist/lib/helpers/ScriptApiHelper.d.ts +15 -10
  98. package/dist/lib/helpers/ScriptApiHelper.js +144 -97
  99. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  100. package/dist/lib/helpers/ScriptUiHelper.d.ts +16 -0
  101. package/dist/lib/helpers/ScriptUiHelper.js +51 -0
  102. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -0
  103. package/dist/lib/helpers/StylesheetApiHelper.d.ts +15 -10
  104. package/dist/lib/helpers/StylesheetApiHelper.js +139 -103
  105. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  106. package/dist/lib/helpers/StylesheetUiHelper.d.ts +22 -0
  107. package/dist/lib/helpers/StylesheetUiHelper.js +68 -0
  108. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -0
  109. package/dist/lib/helpers/TelemetryDataUiHelper.d.ts +10 -0
  110. package/dist/lib/helpers/TelemetryDataUiHelper.js +25 -0
  111. package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -0
  112. package/dist/lib/helpers/TemplateApiHelper.d.ts +7 -5
  113. package/dist/lib/helpers/TemplateApiHelper.js +75 -51
  114. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  115. package/dist/lib/helpers/TemplateUiHelper.d.ts +21 -0
  116. package/dist/lib/helpers/TemplateUiHelper.js +66 -0
  117. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -0
  118. package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +1 -1
  119. package/dist/lib/helpers/TemporaryFileApiHelper.js +6 -10
  120. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
  121. package/dist/lib/helpers/UiBaseLocators.d.ts +163 -0
  122. package/dist/lib/helpers/UiBaseLocators.js +487 -0
  123. package/dist/lib/helpers/UiBaseLocators.js.map +1 -0
  124. package/dist/lib/helpers/UiHelpers.d.ts +48 -6
  125. package/dist/lib/helpers/UiHelpers.js +75 -16
  126. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  127. package/dist/lib/helpers/UserApiHelper.d.ts +7 -3
  128. package/dist/lib/helpers/UserApiHelper.js +35 -13
  129. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  130. package/dist/lib/helpers/UserGroupApiHelper.d.ts +5 -3
  131. package/dist/lib/helpers/UserGroupApiHelper.js +20 -19
  132. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  133. package/dist/lib/helpers/UserGroupUiHelper.d.ts +20 -0
  134. package/dist/lib/helpers/UserGroupUiHelper.js +56 -0
  135. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -0
  136. package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
  137. package/dist/lib/helpers/UserUiHelper.js +116 -0
  138. package/dist/lib/helpers/UserUiHelper.js.map +1 -0
  139. package/dist/lib/helpers/WelcomeDashboardUiHelper.d.ts +9 -0
  140. package/dist/lib/helpers/WelcomeDashboardUiHelper.js +22 -0
  141. package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -0
  142. package/dist/lib/helpers/index.d.ts +1 -0
  143. package/dist/lib/helpers/index.js +3 -1
  144. package/dist/lib/helpers/index.js.map +1 -1
  145. package/dist/lib/helpers/testExtension.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/dist/umbraco.config.js +1 -1
  148. package/dist/umbraco.config.js.map +1 -1
  149. package/package.json +9 -7
  150. package/dist/lib/helpers/RelationType.d.ts +0 -15
  151. package/dist/lib/helpers/RelationType.js.map +0 -1
@@ -1,28 +1,36 @@
1
1
  import { Page } from "@playwright/test";
2
2
  import { ReportHelper } from "./ReportHelper";
3
3
  import { TelemetryDataApiHelper } from "./TelemetryDataApiHelper";
4
- import { LanguagesApiHelper } from "./LanguageApiHelper";
4
+ import { LanguageApiHelper } from "./LanguageApiHelper";
5
5
  import { DictionaryApiHelper } from "./DictionaryApiHelper";
6
- import { RelationTypeApiHelper } from "./RelationType";
6
+ import { RelationTypeApiHelper } from "./RelationTypeApiHelper";
7
7
  import { UserGroupApiHelper } from "./UserGroupApiHelper";
8
8
  import { TemplateApiHelper } from "./TemplateApiHelper";
9
9
  import { AliasHelper } from "./AliasHelper";
10
10
  import { DataTypeApiHelper } from "./DataTypeApiHelper";
11
11
  import { UserApiHelper } from "./UserApiHelper";
12
12
  import { TemporaryFileApiHelper } from "./TemporaryFileApiHelper";
13
- import { DocumentApiHelper } from "./DocumentApiHelper";
14
13
  import { PackageApiHelper } from "./PackageApiHelper";
15
14
  import { ScriptApiHelper } from "./ScriptApiHelper";
16
15
  import { PartialViewApiHelper } from "./PartialViewApiHelper";
17
16
  import { StylesheetApiHelper } from "./StylesheetApiHelper";
18
17
  import { LogViewerApiHelper } from "./LogViewerApiHelper";
18
+ import { DocumentTypeApiHelper } from "./DocumentTypeApiHelper";
19
+ import { DocumentApiHelper } from "./DocumentApiHelper";
20
+ import { MediaTypeApiHelper } from "./MediaTypeApiHelper";
21
+ import { MediaApiHelper } from "./MediaApiHelper";
22
+ import { ObjectTypesApiHelper } from "./ObjectTypesApiHelper";
23
+ import { ModelsBuilderApiHelper } from "./ModelsBuilderApiHelper";
24
+ import { HealthCheckApiHelper } from "./HealthCheckApiHelper";
25
+ import { IndexerApiHelper } from "./IndexerApiHelper";
26
+ import { PublishedCacheApiHelper } from "./PublishedCacheApiHelper";
19
27
  export declare class ApiHelpers {
20
28
  baseUrl: string;
21
29
  page: Page;
22
30
  alias: AliasHelper;
23
31
  report: ReportHelper;
24
32
  telemetry: TelemetryDataApiHelper;
25
- language: LanguagesApiHelper;
33
+ language: LanguageApiHelper;
26
34
  dictionary: DictionaryApiHelper;
27
35
  relationType: RelationTypeApiHelper;
28
36
  userGroup: UserGroupApiHelper;
@@ -30,12 +38,20 @@ export declare class ApiHelpers {
30
38
  dataType: DataTypeApiHelper;
31
39
  user: UserApiHelper;
32
40
  temporaryFile: TemporaryFileApiHelper;
41
+ documentType: DocumentTypeApiHelper;
33
42
  document: DocumentApiHelper;
34
43
  package: PackageApiHelper;
35
44
  script: ScriptApiHelper;
36
45
  partialView: PartialViewApiHelper;
37
46
  stylesheet: StylesheetApiHelper;
38
47
  logViewer: LogViewerApiHelper;
48
+ mediaType: MediaTypeApiHelper;
49
+ media: MediaApiHelper;
50
+ objectTypes: ObjectTypesApiHelper;
51
+ modelsBuilder: ModelsBuilderApiHelper;
52
+ healthCheck: HealthCheckApiHelper;
53
+ indexer: IndexerApiHelper;
54
+ publishedCache: PublishedCacheApiHelper;
39
55
  constructor(page: Page);
40
56
  getBearerToken(): Promise<string>;
41
57
  getCookie(): Promise<string>;
@@ -6,20 +6,28 @@ const ReportHelper_1 = require("./ReportHelper");
6
6
  const TelemetryDataApiHelper_1 = require("./TelemetryDataApiHelper");
7
7
  const LanguageApiHelper_1 = require("./LanguageApiHelper");
8
8
  const DictionaryApiHelper_1 = require("./DictionaryApiHelper");
9
- const RelationType_1 = require("./RelationType");
9
+ const RelationTypeApiHelper_1 = require("./RelationTypeApiHelper");
10
10
  const UserGroupApiHelper_1 = require("./UserGroupApiHelper");
11
11
  const TemplateApiHelper_1 = require("./TemplateApiHelper");
12
12
  const AliasHelper_1 = require("./AliasHelper");
13
13
  const DataTypeApiHelper_1 = require("./DataTypeApiHelper");
14
14
  const UserApiHelper_1 = require("./UserApiHelper");
15
15
  const TemporaryFileApiHelper_1 = require("./TemporaryFileApiHelper");
16
- const DocumentApiHelper_1 = require("./DocumentApiHelper");
17
16
  const PackageApiHelper_1 = require("./PackageApiHelper");
18
17
  const ScriptApiHelper_1 = require("./ScriptApiHelper");
19
18
  const PartialViewApiHelper_1 = require("./PartialViewApiHelper");
20
19
  const StylesheetApiHelper_1 = require("./StylesheetApiHelper");
21
20
  const fs = require("fs");
22
21
  const LogViewerApiHelper_1 = require("./LogViewerApiHelper");
22
+ const DocumentTypeApiHelper_1 = require("./DocumentTypeApiHelper");
23
+ const DocumentApiHelper_1 = require("./DocumentApiHelper");
24
+ const MediaTypeApiHelper_1 = require("./MediaTypeApiHelper");
25
+ const MediaApiHelper_1 = require("./MediaApiHelper");
26
+ const ObjectTypesApiHelper_1 = require("./ObjectTypesApiHelper");
27
+ const ModelsBuilderApiHelper_1 = require("./ModelsBuilderApiHelper");
28
+ const HealthCheckApiHelper_1 = require("./HealthCheckApiHelper");
29
+ const IndexerApiHelper_1 = require("./IndexerApiHelper");
30
+ const PublishedCacheApiHelper_1 = require("./PublishedCacheApiHelper");
23
31
  class ApiHelpers {
24
32
  baseUrl = umbraco_config_1.umbracoConfig.environment.baseUrl;
25
33
  page;
@@ -34,31 +42,47 @@ class ApiHelpers {
34
42
  dataType;
35
43
  user;
36
44
  temporaryFile;
45
+ documentType;
37
46
  document;
38
47
  package;
39
48
  script;
40
49
  partialView;
41
50
  stylesheet;
42
51
  logViewer;
52
+ mediaType;
53
+ media;
54
+ objectTypes;
55
+ modelsBuilder;
56
+ healthCheck;
57
+ indexer;
58
+ publishedCache;
43
59
  constructor(page) {
44
60
  this.page = page;
45
61
  this.alias = new AliasHelper_1.AliasHelper();
46
62
  this.report = new ReportHelper_1.ReportHelper(this);
47
63
  this.telemetry = new TelemetryDataApiHelper_1.TelemetryDataApiHelper(this);
48
- this.language = new LanguageApiHelper_1.LanguagesApiHelper(this);
64
+ this.language = new LanguageApiHelper_1.LanguageApiHelper(this);
49
65
  this.dictionary = new DictionaryApiHelper_1.DictionaryApiHelper(this);
50
- this.relationType = new RelationType_1.RelationTypeApiHelper(this);
66
+ this.relationType = new RelationTypeApiHelper_1.RelationTypeApiHelper(this);
51
67
  this.userGroup = new UserGroupApiHelper_1.UserGroupApiHelper(this);
52
68
  this.template = new TemplateApiHelper_1.TemplateApiHelper(this);
53
69
  this.dataType = new DataTypeApiHelper_1.DataTypeApiHelper(this);
54
70
  this.user = new UserApiHelper_1.UserApiHelper(this);
55
71
  this.temporaryFile = new TemporaryFileApiHelper_1.TemporaryFileApiHelper(this);
72
+ this.documentType = new DocumentTypeApiHelper_1.DocumentTypeApiHelper(this);
56
73
  this.document = new DocumentApiHelper_1.DocumentApiHelper(this);
57
74
  this.package = new PackageApiHelper_1.PackageApiHelper(this);
58
75
  this.script = new ScriptApiHelper_1.ScriptApiHelper(this);
59
76
  this.partialView = new PartialViewApiHelper_1.PartialViewApiHelper(this);
60
77
  this.stylesheet = new StylesheetApiHelper_1.StylesheetApiHelper(this);
61
78
  this.logViewer = new LogViewerApiHelper_1.LogViewerApiHelper(this);
79
+ this.mediaType = new MediaTypeApiHelper_1.MediaTypeApiHelper(this);
80
+ this.media = new MediaApiHelper_1.MediaApiHelper(this);
81
+ this.objectTypes = new ObjectTypesApiHelper_1.ObjectTypesApiHelper(this);
82
+ this.modelsBuilder = new ModelsBuilderApiHelper_1.ModelsBuilderApiHelper(this);
83
+ this.healthCheck = new HealthCheckApiHelper_1.HealthCheckApiHelper(this);
84
+ this.indexer = new IndexerApiHelper_1.IndexerApiHelper(this);
85
+ this.publishedCache = new PublishedCacheApiHelper_1.PublishedCacheApiHelper(this);
62
86
  }
63
87
  async getBearerToken() {
64
88
  let someStorage = await this.page.context().storageState();
@@ -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\";\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}"]}
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 {LanguageApiHelper} from \"./LanguageApiHelper\";\nimport {DictionaryApiHelper} from \"./DictionaryApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\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 {PackageApiHelper} from \"./PackageApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport * as fs from \"fs\";\nimport {LogViewerApiHelper} from \"./LogViewerApiHelper\";\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {DocumentApiHelper} from \"./DocumentApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {ObjectTypesApiHelper} from \"./ObjectTypesApiHelper\";\nimport {ModelsBuilderApiHelper} from \"./ModelsBuilderApiHelper\";\nimport {HealthCheckApiHelper} from \"./HealthCheckApiHelper\";\nimport {IndexerApiHelper} from \"./IndexerApiHelper\";\nimport {PublishedCacheApiHelper} from \"./PublishedCacheApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n page: Page;\n alias: AliasHelper;\n report: ReportHelper;\n telemetry: TelemetryDataApiHelper;\n language: LanguageApiHelper;\n dictionary: DictionaryApiHelper;\n relationType: RelationTypeApiHelper;\n userGroup: UserGroupApiHelper;\n template: TemplateApiHelper;\n dataType: DataTypeApiHelper;\n user: UserApiHelper;\n temporaryFile: TemporaryFileApiHelper;\n documentType: DocumentTypeApiHelper;\n document: DocumentApiHelper;\n package: PackageApiHelper;\n script: ScriptApiHelper;\n partialView: PartialViewApiHelper;\n stylesheet: StylesheetApiHelper;\n logViewer: LogViewerApiHelper;\n mediaType: MediaTypeApiHelper;\n media: MediaApiHelper;\n objectTypes: ObjectTypesApiHelper;\n modelsBuilder: ModelsBuilderApiHelper;\n healthCheck: HealthCheckApiHelper;\n indexer: IndexerApiHelper;\n publishedCache: PublishedCacheApiHelper;\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 LanguageApiHelper(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.documentType = new DocumentTypeApiHelper(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 this.mediaType = new MediaTypeApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.objectTypes = new ObjectTypesApiHelper(this);\n this.modelsBuilder = new ModelsBuilderApiHelper(this);\n this.healthCheck = new HealthCheckApiHelper(this);\n this.indexer = new IndexerApiHelper(this);\n this.publishedCache = new PublishedCacheApiHelper(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 let cookieString = \"\";\n for (let cookie of someStorage.cookies) {\n cookieString += cookie.name + '=' + cookie.value + ';';\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 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}"]}
@@ -0,0 +1,11 @@
1
+ export declare class ConstantHelper {
2
+ static readonly sections: {
3
+ content: string;
4
+ media: string;
5
+ settings: string;
6
+ packages: string;
7
+ members: string;
8
+ dictionary: string;
9
+ users: string;
10
+ };
11
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConstantHelper = void 0;
4
+ class ConstantHelper {
5
+ static sections = {
6
+ content: "Content",
7
+ media: "Media",
8
+ settings: "Settings",
9
+ packages: "Packages",
10
+ members: "Members",
11
+ dictionary: "Translation",
12
+ users: "Users"
13
+ };
14
+ }
15
+ exports.ConstantHelper = ConstantHelper;
16
+ //# sourceMappingURL=ConstantHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConstantHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ConstantHelper.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAElB,MAAM,CAAU,QAAQ,GAAG;QAChC,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE,OAAO;KACf,CAAA;;AAVH,wCAWC","sourcesContent":["export class ConstantHelper {\n\n public static readonly sections = {\n content: \"Content\",\n media: \"Media\",\n settings: \"Settings\",\n packages: \"Packages\",\n members: \"Members\",\n dictionary: \"Translation\",\n users: \"Users\"\n }\n}"]}
@@ -2,29 +2,29 @@ import { ApiHelpers } from "./ApiHelpers";
2
2
  export declare class DataTypeApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
- ensureNameNotExistsAtRoot(name: string): Promise<void | import("playwright-core").APIResponse | null>;
6
5
  get(id: string): Promise<any>;
7
- getByNameAtRoot(name: string): Promise<any>;
8
- create(name: string, propertyEditorAlias: string, values: {
6
+ create(name: string, editorAlias: string, values: {
9
7
  alias: string;
10
8
  value: string;
11
- }[], parentId?: string, propertyEditorUiAlias?: string): Promise<string | undefined>;
9
+ }[], parentId?: string, editorUiAlias?: string, id?: string): Promise<string | undefined>;
12
10
  update(id: string, dataType: any): Promise<import("playwright-core").APIResponse>;
13
11
  delete(id: string): Promise<import("playwright-core").APIResponse>;
14
- deleteByNameAtRoot(name: string): Promise<import("playwright-core").APIResponse | null>;
12
+ getAllAtRoot(): Promise<import("playwright-core").APIResponse>;
13
+ doesExist(id: string): Promise<boolean>;
15
14
  getItems(ids: string[]): Promise<any>;
16
- getAllAtRoot(): Promise<any>;
17
- exists(id: string): Promise<boolean>;
18
- nameExistsAtRoot(name: string): Promise<boolean>;
15
+ getByName(name: string): Promise<any>;
16
+ ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
17
+ doesNameExist(name: string): Promise<any>;
19
18
  moveToFolder(dataTypeId: string, folderId: string): Promise<import("playwright-core").APIResponse>;
20
19
  copyToFolder(dataTypeId: string, folderId: string): Promise<string | undefined>;
21
20
  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>;
21
+ createFolder(name: string, id?: string, parentId?: string): Promise<string | undefined>;
22
+ renameFolder(id: string, name: string): Promise<import("playwright-core").APIResponse>;
26
23
  deleteFolder(id: string): Promise<import("playwright-core").APIResponse>;
27
- deleteFolderByName(name: string): Promise<import("playwright-core").APIResponse | null>;
24
+ doesFolderExist(id: string): Promise<boolean>;
28
25
  getChildren(id: string): Promise<any>;
29
- recurseFolderChildren(id: string): Promise<void>;
26
+ private recurseDeleteChildren;
27
+ private recurseChildren;
28
+ save(dataType: any): Promise<string | undefined>;
29
+ createDateTypeDataType(name: string): Promise<string | undefined>;
30
30
  }
@@ -1,81 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataTypeApiHelper = void 0;
4
+ const json_models_builders_1 = require("@umbraco/json-models-builders");
4
5
  class DataTypeApiHelper {
5
6
  api;
6
7
  constructor(api) {
7
8
  this.api = api;
8
9
  }
9
- async ensureNameNotExistsAtRoot(name) {
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
- 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/data-type/' + sb.id);
16
- }
17
- else {
18
- if (sb.hasChildren == true) {
19
- return await this.recurseFolderChildren(sb.id);
20
- }
21
- else {
22
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);
23
- }
24
- }
25
- }
26
- }
27
- return null;
28
- }
29
10
  async get(id) {
30
11
  const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);
31
- const json = await response.json();
32
- if (json !== null) {
33
- return json;
34
- }
35
- return null;
36
- }
37
- async getByNameAtRoot(name) {
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
- const json = await response.json();
40
- for (const sb of json.items) {
41
- if (sb.name === name) {
42
- if (sb.id !== null) {
43
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);
44
- return response.json();
45
- }
46
- }
47
- }
48
- return null;
12
+ return await response.json();
49
13
  }
50
- async create(name, propertyEditorAlias, values, parentId, propertyEditorUiAlias) {
14
+ async create(name, editorAlias, values, parentId, editorUiAlias, id) {
51
15
  const dataType = {
52
16
  "name": name,
53
- "propertyEditorAlias": propertyEditorAlias,
54
- "propertyEditorUiAlias": propertyEditorUiAlias,
17
+ "editorAlias": editorAlias,
18
+ "editorUiAlias": editorUiAlias,
55
19
  "values": values,
56
- "parentId": parentId
20
+ "id": id,
21
+ "parent": parentId ? { "id": parentId } : null
57
22
  };
58
23
  const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);
59
24
  // Returns the id of the created dataType
60
- return response.headers().location.split("/").pop();
25
+ return response.headers().location.split("v1/data-type/").pop();
61
26
  }
62
27
  async update(id, dataType) {
63
- return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, dataType);
28
+ const updateDataType = {
29
+ "name": dataType.name,
30
+ "editorAlias": dataType.editorAlias,
31
+ "editorUiAlias": dataType.editorUiAlias,
32
+ "values": dataType.values,
33
+ };
34
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id, updateDataType);
64
35
  }
65
36
  async delete(id) {
66
37
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);
67
38
  }
68
- async deleteByNameAtRoot(name) {
69
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
70
- const json = await response.json();
71
- for (const sb of json.items) {
72
- if (sb.name === name) {
73
- if (sb.id !== null) {
74
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + sb.id);
75
- }
76
- }
77
- }
78
- return null;
39
+ async getAllAtRoot() {
40
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
41
+ }
42
+ async doesExist(id) {
43
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + id);
44
+ return response.status() === 200;
79
45
  }
80
46
  async getItems(ids) {
81
47
  let idArray = 'id=' + ids[0];
@@ -84,124 +50,139 @@ class DataTypeApiHelper {
84
50
  idArray += '&id=' + ids[i];
85
51
  }
86
52
  const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/item?' + idArray);
87
- const json = await response.json();
88
- if (json !== null) {
89
- return json;
90
- }
91
- return null;
53
+ return await response.json();
92
54
  }
93
- async getAllAtRoot() {
94
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
95
- const json = await response.json();
96
- if (json !== null) {
97
- return json;
55
+ async getByName(name) {
56
+ const rootDataTypes = await this.getAllAtRoot();
57
+ const jsonDataTypes = await rootDataTypes.json();
58
+ for (const dataType of jsonDataTypes.items) {
59
+ if (dataType.name === name) {
60
+ return this.get(dataType.id);
61
+ }
62
+ else if (dataType.isContainer || dataType.hasChildren) {
63
+ const result = await this.recurseChildren(name, dataType.id, false);
64
+ if (result) {
65
+ return result;
66
+ }
67
+ }
98
68
  }
99
- return null;
100
- }
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;
69
+ return false;
104
70
  }
105
- async nameExistsAtRoot(name) {
106
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=false');
107
- const json = await response.json();
108
- for (const sb of json.items) {
109
- if (sb.name === name) {
110
- return true;
71
+ async ensureNameNotExists(name) {
72
+ const rootDataTypes = await this.getAllAtRoot();
73
+ const jsonDataTypes = await rootDataTypes.json();
74
+ for (const dataType of jsonDataTypes.items) {
75
+ if (dataType.name === name) {
76
+ if (dataType.isFolder) {
77
+ return await this.recurseDeleteChildren(dataType);
78
+ }
79
+ return await this.delete(dataType.id);
80
+ }
81
+ else if (dataType.hasChildren) {
82
+ await this.recurseChildren(name, dataType.id, true);
111
83
  }
112
84
  }
113
- return false;
85
+ return null;
86
+ }
87
+ async doesNameExist(name) {
88
+ return await this.getByName(name);
114
89
  }
115
90
  async moveToFolder(dataTypeId, folderId) {
116
91
  const folderIdBody = {
117
- "targetId": folderId
92
+ "target": { id: folderId }
118
93
  };
119
- return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);
94
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/move', folderIdBody);
120
95
  }
121
96
  async copyToFolder(dataTypeId, folderId) {
122
97
  const folderIdBody = {
123
- "targetId": folderId
98
+ "target": { id: folderId }
124
99
  };
125
100
  const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + dataTypeId + '/copy', folderIdBody);
126
101
  // Returns the id of the copied dataType
127
- return response.headers().location.split("/").pop();
102
+ return response.headers().location.split("v1/data-type/").pop();
128
103
  }
129
104
  // FOLDER
130
105
  async getFolder(id) {
131
106
  const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
132
107
  return await response.json();
133
108
  }
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) {
139
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');
140
- const json = await response.json();
141
- for (const sb of json.items) {
142
- if (sb.name === name) {
143
- if (sb.id !== null) {
144
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);
145
- return response.json();
146
- }
147
- }
148
- }
149
- return null;
150
- }
151
- async createFolder(name, parentId) {
109
+ async createFolder(name, id, parentId) {
152
110
  const folderData = {
153
111
  "name": name,
154
- "parentId": parentId
112
+ "id": id,
113
+ "parent": parentId ? { "id": parentId } : null
155
114
  };
156
115
  const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder', folderData);
157
116
  // Returns the id of the created dataTypeFolder
158
- return response.headers().location.split("/").pop();
117
+ return response.headers().location.split("v1/data-type/folder/").pop();
159
118
  }
160
- async updateFolder(id, dataTypeFolder) {
161
- return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, dataTypeFolder);
119
+ async renameFolder(id, name) {
120
+ const folderData = {
121
+ "name": name,
122
+ };
123
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id, folderData);
162
124
  }
163
125
  async deleteFolder(id) {
164
126
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
165
127
  }
166
- async deleteFolderByName(name) {
167
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/root?skip=0&take=10000&foldersOnly=true');
168
- const json = await response.json();
169
- for (const sb of json.items) {
170
- if (sb.name === name) {
171
- if (sb.id !== null) {
172
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + sb.id);
173
- }
174
- }
175
- }
176
- return null;
128
+ async doesFolderExist(id) {
129
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
130
+ return response.status() === 200;
177
131
  }
178
132
  async getChildren(id) {
179
133
  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');
180
- const json = await response.json();
181
- if (json !== null) {
182
- return json;
183
- }
184
- return null;
134
+ const items = await response.json();
135
+ return items.items;
185
136
  }
186
- async recurseFolderChildren(id) {
187
- const parentDataType = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/data-type/children?parentId=' + id + '&skip=0&take=10000');
188
- const itemsJson = await parentDataType.json();
189
- for (const child of itemsJson.items) {
190
- if (child.path !== null) {
191
- if (child.isFolder == true) {
192
- if (child.hasChildren == true) {
193
- await this.recurseFolderChildren(child.path);
194
- }
195
- else {
196
- await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + child.id);
137
+ async recurseDeleteChildren(dataFolder) {
138
+ if (!dataFolder.hasChildren) {
139
+ return await this.deleteFolder(dataFolder.id);
140
+ }
141
+ const items = await this.getChildren(dataFolder.id);
142
+ for (const child of items) {
143
+ if (child.hasChildren) {
144
+ await this.recurseDeleteChildren(child);
145
+ }
146
+ else if (child.isFolder) {
147
+ await this.deleteFolder(child.id);
148
+ }
149
+ else {
150
+ await this.delete(child.id);
151
+ }
152
+ }
153
+ return await this.deleteFolder(dataFolder.id);
154
+ }
155
+ async recurseChildren(name, id, toDelete) {
156
+ const items = await this.getChildren(id);
157
+ for (const child of items) {
158
+ if (child.name === name) {
159
+ if (!toDelete) {
160
+ if (child.isFolder) {
161
+ return await this.getFolder(child.id);
197
162
  }
163
+ return await this.get(child.id);
198
164
  }
199
- else {
200
- await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/' + child.id);
165
+ if (child.isFolder) {
166
+ return await this.recurseDeleteChildren(child);
201
167
  }
168
+ return await this.delete(child.id);
169
+ }
170
+ else if (child.hasChildren) {
171
+ return await this.recurseChildren(name, child.id, toDelete);
202
172
  }
203
173
  }
204
- await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/data-type/folder/' + id);
174
+ return false;
175
+ }
176
+ async save(dataType) {
177
+ const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/data-type', dataType);
178
+ return response.headers().location.split("v1/data-type/").pop();
179
+ }
180
+ async createDateTypeDataType(name) {
181
+ await this.ensureNameNotExists(name);
182
+ const dataType = new json_models_builders_1.DatePickerDataTypeBuilder()
183
+ .withName(name)
184
+ .build();
185
+ return await this.save(dataType);
205
186
  }
206
187
  }
207
188
  exports.DataTypeApiHelper = DataTypeApiHelper;