@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
@@ -1,66 +1,137 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserApiHelper = void 0;
4
- const JsonHelper_1 = require("./JsonHelper");
5
- const umbraco_config_1 = require("../../umbraco.config");
6
4
  class UserApiHelper {
7
5
  api;
8
6
  constructor(api) {
9
7
  this.api = api;
10
8
  }
11
- async ensureEmailNotExits(email) {
12
- let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/GetPagedUsers?pageNumber=1&pageSize=1&orderBy=Name&orderDirection=Ascending&filter=${email}`);
13
- const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
14
- if (searchBody.totalItems >= 1) {
15
- const userId = searchBody.items[0].id;
16
- await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostDeleteNonLoggedInUser?id=${userId}`);
9
+ async ensureUserNameNotExists(name) {
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?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/user/' + sb.id);
16
+ }
17
+ }
18
+ }
19
+ return null;
20
+ }
21
+ async doesUserWithNameExist(name) {
22
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
23
+ const json = await response.json();
24
+ for (const sb of json.items) {
25
+ if (sb.name === name) {
26
+ return true;
27
+ }
28
+ }
29
+ return false;
30
+ }
31
+ async getUserById(id) {
32
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
33
+ const json = await response.json();
34
+ if (json !== null) {
35
+ return json;
17
36
  }
37
+ return null;
18
38
  }
19
- async ensureUserBelongsToGroup(name) {
20
- let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`);
21
- const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
22
- let userGroup = null;
23
- if (searchBody !== null) {
24
- for (const ug of searchBody.userGroups) {
25
- if (ug == name) {
26
- userGroup = ug;
39
+ async getUserByName(name) {
40
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
41
+ const json = await response.json();
42
+ for (const sb of json.items) {
43
+ if (sb.name === name) {
44
+ if (sb.id !== null) {
45
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);
46
+ return await response.json();
27
47
  }
28
48
  }
29
- if (userGroup == null) {
30
- let params = {};
31
- params["userGroupAliases[0]"] = name;
32
- searchBody.userGroups.forEach(function (alias, i) {
33
- params[`userGroupAliases[${i + 1}]`] = alias;
34
- });
35
- params["userIds"] = searchBody.id;
36
- await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostSetUserGroupsOnUsers`, params);
37
- return;
49
+ }
50
+ return null;
51
+ }
52
+ async createUser(email, name, userGroupIds) {
53
+ const userData = {
54
+ "email": email,
55
+ "userName": email,
56
+ "name": name,
57
+ "userGroupIds": userGroupIds
58
+ };
59
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);
60
+ }
61
+ async updateUserById(id, userData) {
62
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);
63
+ }
64
+ async deleteUserById(id) {
65
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
66
+ }
67
+ async deleteUserByName(name) {
68
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
69
+ const json = await response.json();
70
+ for (const sb of json.items) {
71
+ if (sb.name === name) {
72
+ if (sb.id !== null) {
73
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);
74
+ }
38
75
  }
39
76
  }
77
+ return null;
78
+ }
79
+ // Avatar
80
+ async addAvatarToUserWithId(id, fileId) {
81
+ const avatar = {
82
+ 'fileId': fileId
83
+ };
84
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);
85
+ }
86
+ async removeAvatarFromUserWithId(id) {
87
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);
88
+ }
89
+ // Enable/Disabled and Unlock
90
+ async disableUsersWithIds(ids) {
91
+ const users = {
92
+ "userIds": ids
93
+ };
94
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/disable', users);
40
95
  }
41
- async setCurrentLanguage(language) {
42
- let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`);
43
- const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
44
- const user = {
45
- id: searchBody.id,
46
- parentId: -1,
47
- name: searchBody.name,
48
- username: searchBody.email,
49
- culture: language,
50
- email: searchBody.email,
51
- startContentIds: [],
52
- startMediaIds: [],
53
- userGroups: searchBody.userGroups
96
+ async enableUsersWithIds(ids) {
97
+ const users = {
98
+ "userIds": ids
54
99
  };
55
- await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/users/PostSaveUser`, user);
100
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/enable', users);
56
101
  }
57
- async deleteContentById(id) {
58
- await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`);
102
+ async unlockUsersWithIds(ids) {
103
+ const users = {
104
+ "userIds": ids
105
+ };
106
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);
107
+ }
108
+ // Set User Groups for Users
109
+ async setUserGroupsForUsers(userIds, userGroupIds) {
110
+ const userGroupsForUsers = {
111
+ "userIds": userIds,
112
+ "userGroupIds": userGroupIds
113
+ };
114
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/set-user-groups', userGroupsForUsers);
59
115
  }
60
- async postCreateUser(user) {
61
- await this.api.post(`${umbraco_config_1.umbracoConfig.environment.baseUrl}/umbraco/backoffice/umbracoapi/users/PostCreateUser`, user);
116
+ // Password
117
+ async updateUserPassword(newPassword, oldPassword) {
118
+ const updatePassword = {
119
+ "newPassword": newPassword,
120
+ "oldPassword": oldPassword
121
+ };
122
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/change-password/', updatePassword);
123
+ }
124
+ // Invite
125
+ async inviteUser(email, name, userGroupIds, message) {
126
+ const userInvite = {
127
+ "email": email,
128
+ "userName": email,
129
+ "name": name,
130
+ "userGroupIds": userGroupIds,
131
+ "message": message
132
+ };
133
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/invite', userInvite);
62
134
  }
63
- ;
64
135
  }
65
136
  exports.UserApiHelper = UserApiHelper;
66
137
  //# sourceMappingURL=UserApiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class UserApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureEmailNotExits(email: string) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/GetPagedUsers?pageNumber=1&pageSize=1&orderBy=Name&orderDirection=Ascending&filter=${email}`)\n const searchBody = await JsonHelper.getBody(response);\n if (searchBody.totalItems >= 1) {\n const userId = searchBody.items[0].id;\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostDeleteNonLoggedInUser?id=${userId}`)\n }\n }\n\n async ensureUserBelongsToGroup(name: string) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`)\n const searchBody = await JsonHelper.getBody(response);\n let userGroup = null;\n if (searchBody !== null) {\n for (const ug of searchBody.userGroups) {\n if (ug == name) {\n userGroup = ug;\n }\n }\n\n if (userGroup == null) {\n let params:{ [key: string]: string | number | boolean; } = {};\n params[\"userGroupAliases[0]\"] = name;\n searchBody.userGroups.forEach(function (alias, i) {\n params[`userGroupAliases[${i + 1}]`] = alias;\n });\n params[\"userIds\"] = searchBody.id;\n await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostSetUserGroupsOnUsers`, params);\n return;\n }\n }\n }\n\n async setCurrentLanguage(language) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`)\n const searchBody = await JsonHelper.getBody(response);\n const user = {\n id: searchBody.id,\n parentId: -1,\n name: searchBody.name,\n username: searchBody.email,\n culture: language,\n email: searchBody.email,\n startContentIds: [],\n startMediaIds: [],\n userGroups: searchBody.userGroups\n }\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/users/PostSaveUser`, user)\n }\n\n async deleteContentById(id) {\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n \n async postCreateUser(user){\n await this.api.post(`${umbracoConfig.environment.baseUrl}/umbraco/backoffice/umbracoapi/users/PostCreateUser`, user)\n };\n \n \n \n}"]}
1
+ {"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class UserApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureUserNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async doesUserWithNameExist(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async getUserById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getUserByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n return await response.json();\n }\n\n }\n }\n return null;\n }\n\n async createUser(email, name, userGroupIds) {\n const userData = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds\n }\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);\n }\n\n async updateUserById(id: string, userData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);\n }\n\n async deleteUserById(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n }\n\n async deleteUserByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n\n }\n }\n }\n return null;\n }\n\n // Avatar\n\n async addAvatarToUserWithId(id: string, fileId) {\n const avatar = {\n 'fileId': fileId\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);\n }\n\n async removeAvatarFromUserWithId(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);\n }\n\n // Enable/Disabled and Unlock\n\n async disableUsersWithIds(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/disable', users);\n }\n\n async enableUsersWithIds(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/enable', users);\n }\n\n async unlockUsersWithIds(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);\n }\n\n // Set User Groups for Users\n async setUserGroupsForUsers(userIds, userGroupIds) {\n const userGroupsForUsers = {\n \"userIds\": userIds,\n \"userGroupIds\": userGroupIds\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/set-user-groups', userGroupsForUsers);\n }\n\n // Password\n async updateUserPassword(newPassword: string, oldPassword: string) {\n const updatePassword = {\n \"newPassword\": newPassword,\n \"oldPassword\": oldPassword\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/change-password/', updatePassword);\n }\n\n // Invite\n async inviteUser(email: string, name: string, userGroupIds, message: string) {\n const userInvite = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds,\n \"message\": message\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/invite', userInvite);\n }\n}"]}
@@ -2,6 +2,12 @@ import { ApiHelpers } from "./ApiHelpers";
2
2
  export declare class UserGroupApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
- ensureNameNotExits(name: string): Promise<void>;
6
- save(userGroup: any): Promise<void>;
5
+ ensureUserGroupNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
6
+ createUserGroup(name: string, hasAccessToAllLanguages: boolean, sections?: string[], languages?: string[], permissions?: string[], icon?: string, documentStartNodeId?: string, mediaStartNodeId?: string): Promise<import("playwright-core").APIResponse>;
7
+ getUserGroupByName(name: string): Promise<any>;
8
+ getUserGroupById(id: string): Promise<any>;
9
+ getAllUserGroups(): Promise<any>;
10
+ updateUserGroupById(id: string, userGroup: any): Promise<string>;
11
+ doesUserGroupWithNameExists(name: string): Promise<boolean>;
12
+ deleteUserGroupById(id: string): Promise<import("playwright-core").APIResponse>;
7
13
  }
@@ -1,31 +1,82 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserGroupApiHelper = void 0;
4
- const JsonHelper_1 = require("./JsonHelper");
5
- const umbraco_config_1 = require("../../umbraco.config");
6
4
  class UserGroupApiHelper {
7
5
  api;
8
6
  constructor(api) {
9
7
  this.api = api;
10
8
  }
11
- async ensureNameNotExits(name) {
12
- let response = await this.api.get(`${umbraco_config_1.umbracoConfig.environment.baseUrl}/umbraco/backoffice/UmbracoApi/UserGroups/GetUserGroups?onlyCurrentUserGroups=false`);
13
- const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
14
- if (searchBody.length > 0) {
15
- let userGroupId = null;
16
- for (const sb of searchBody) {
17
- if (sb.name === name) {
18
- userGroupId = sb.id;
9
+ async ensureUserGroupNameNotExists(name) {
10
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?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/user-group/' + sb.id);
19
16
  }
20
17
  }
21
- if (userGroupId !== null) {
22
- await this.api.post(`${umbraco_config_1.umbracoConfig.environment.baseUrl}/umbraco/backoffice/UmbracoApi/UserGroups/PostDeleteUserGroups?userGroupIds=${userGroupId}`);
23
- return;
18
+ }
19
+ return null;
20
+ }
21
+ async createUserGroup(name, hasAccessToAllLanguages, sections = [], languages = [], permissions = [], icon, documentStartNodeId, mediaStartNodeId) {
22
+ const userGroupData = {
23
+ "name": name,
24
+ "icon": icon,
25
+ "sections": sections,
26
+ "languages": languages,
27
+ "hasAccessToAllLanguages": hasAccessToAllLanguages,
28
+ "documentStartNodeId": documentStartNodeId,
29
+ "mediaStartNodeId": mediaStartNodeId,
30
+ "permissions": permissions
31
+ };
32
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);
33
+ }
34
+ async getUserGroupByName(name) {
35
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
36
+ const json = await response.json();
37
+ for (const sb of json.items) {
38
+ if (sb.name === name) {
39
+ if (sb.id !== null) {
40
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);
41
+ return await response.json();
42
+ }
43
+ }
44
+ }
45
+ return null;
46
+ }
47
+ async getUserGroupById(id) {
48
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
49
+ const json = await response.json();
50
+ if (json !== null) {
51
+ return json;
52
+ }
53
+ return null;
54
+ }
55
+ async getAllUserGroups() {
56
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
57
+ const json = await response.json();
58
+ if (json !== null) {
59
+ return json;
60
+ }
61
+ return null;
62
+ }
63
+ // Does not work yet
64
+ async updateUserGroupById(id, userGroup) {
65
+ const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);
66
+ return response.text();
67
+ }
68
+ async doesUserGroupWithNameExists(name) {
69
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
70
+ const json = await response.json();
71
+ for (const sb of json.items) {
72
+ if (sb.name === name) {
73
+ return true;
24
74
  }
25
75
  }
76
+ return false;
26
77
  }
27
- async save(userGroup) {
28
- await this.api.post(`${umbraco_config_1.umbracoConfig.environment.baseUrl}/umbraco/backoffice/umbracoapi/usergroups/PostSaveUserGroup`, userGroup);
78
+ async deleteUserGroupById(id) {
79
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
29
80
  }
30
81
  }
31
82
  exports.UserGroupApiHelper = UserGroupApiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,yDAAqD;AAErD,MAAa,kBAAkB;IAC7B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAW;QAClC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,8BAAa,CAAC,WAAW,CAAC,OAAO,qFAAqF,CAAC,CAAC;QAC7J,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;gBAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE;oBACpB,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC;iBACrB;aACF;YAED,IAAI,WAAW,KAAK,IAAI,EAAE;gBACxB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAa,CAAC,WAAW,CAAC,OAAO,+EAA+E,WAAW,EAAE,CAAC,CAAC;gBACtJ,OAAO;aACR;SACF;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAS;QAClB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAa,CAAC,WAAW,CAAC,OAAO,6DAA6D,EAAE,SAAS,CAAC,CAAA;IACnI,CAAC;CACF;AA5BD,gDA4BC","sourcesContent":["import { ApiHelpers } from \"./ApiHelpers\";\nimport { JsonHelper } from \"./JsonHelper\";\nimport { umbracoConfig } from \"../../umbraco.config\";\n\nexport class UserGroupApiHelper{\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExits(name:string){\n let response = await this.api.get(`${umbracoConfig.environment.baseUrl}/umbraco/backoffice/UmbracoApi/UserGroups/GetUserGroups?onlyCurrentUserGroups=false`);\n const searchBody = await JsonHelper.getBody(response);\n if (searchBody.length > 0) {\n let userGroupId = null;\n for (const sb of searchBody) {\n if (sb.name === name) {\n userGroupId = sb.id;\n }\n }\n\n if (userGroupId !== null) {\n await this.api.post(`${umbracoConfig.environment.baseUrl}/umbraco/backoffice/UmbracoApi/UserGroups/PostDeleteUserGroups?userGroupIds=${userGroupId}`);\n return;\n }\n }\n }\n \n async save(userGroup){\n await this.api.post(`${umbracoConfig.environment.baseUrl}/umbraco/backoffice/umbracoapi/usergroups/PostSaveUserGroup`, userGroup)\n }\n}"]}
1
+ {"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class UserGroupApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureUserGroupNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async createUserGroup(name: string, hasAccessToAllLanguages: boolean, sections: string[] = [], languages: string[] = [], permissions: string[] = [], icon?: string, documentStartNodeId?: string, mediaStartNodeId?: string) {\n const userGroupData = {\n \"name\": name,\n \"icon\": icon,\n \"sections\": sections,\n \"languages\": languages,\n \"hasAccessToAllLanguages\": hasAccessToAllLanguages,\n \"documentStartNodeId\": documentStartNodeId,\n \"mediaStartNodeId\": mediaStartNodeId,\n \"permissions\": permissions\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);\n }\n\n async getUserGroupByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async getUserGroupById(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllUserGroups() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n // Does not work yet\n async updateUserGroupById(id: string, userGroup) {\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);\n return response.text();\n }\n\n async doesUserGroupWithNameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async deleteUserGroupById(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n }\n}"]}
@@ -1,6 +1,4 @@
1
- export { JsonHelper } from './JsonHelper';
2
1
  export { ApiHelpers } from './ApiHelpers';
3
2
  export { UiHelpers } from './UiHelpers';
4
- export { test } from './testExtension';
5
- export { ConstantHelper } from './ConstantHelper';
6
3
  export { AliasHelper } from './AliasHelper';
4
+ export { test } from './testExtension';
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AliasHelper = exports.ConstantHelper = exports.test = exports.UiHelpers = exports.ApiHelpers = exports.JsonHelper = void 0;
4
- var JsonHelper_1 = require("./JsonHelper");
5
- Object.defineProperty(exports, "JsonHelper", { enumerable: true, get: function () { return JsonHelper_1.JsonHelper; } });
3
+ exports.test = exports.AliasHelper = exports.UiHelpers = exports.ApiHelpers = void 0;
6
4
  var ApiHelpers_1 = require("./ApiHelpers");
7
5
  Object.defineProperty(exports, "ApiHelpers", { enumerable: true, get: function () { return ApiHelpers_1.ApiHelpers; } });
8
6
  var UiHelpers_1 = require("./UiHelpers");
9
7
  Object.defineProperty(exports, "UiHelpers", { enumerable: true, get: function () { return UiHelpers_1.UiHelpers; } });
10
- var testExtension_1 = require("./testExtension");
11
- Object.defineProperty(exports, "test", { enumerable: true, get: function () { return testExtension_1.test; } });
12
- var ConstantHelper_1 = require("./ConstantHelper");
13
- Object.defineProperty(exports, "ConstantHelper", { enumerable: true, get: function () { return ConstantHelper_1.ConstantHelper; } });
14
8
  var AliasHelper_1 = require("./AliasHelper");
15
9
  Object.defineProperty(exports, "AliasHelper", { enumerable: true, get: function () { return AliasHelper_1.AliasHelper; } });
10
+ var testExtension_1 = require("./testExtension");
11
+ Object.defineProperty(exports, "test", { enumerable: true, get: function () { return testExtension_1.test; } });
16
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/helpers/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,iDAAuC;AAA9B,qGAAA,IAAI,OAAA;AACb,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA","sourcesContent":["export { JsonHelper} from './JsonHelper';\nexport { ApiHelpers } from './ApiHelpers';\nexport { UiHelpers } from './UiHelpers';\nexport { test } from './testExtension';\nexport { ConstantHelper } from './ConstantHelper';\nexport { AliasHelper } from './AliasHelper';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/helpers/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,iDAAuC;AAA9B,qGAAA,IAAI,OAAA","sourcesContent":["export { ApiHelpers } from './ApiHelpers';\nexport { UiHelpers } from './UiHelpers';\nexport { AliasHelper} from './AliasHelper';\nexport { test } from './testExtension';\n"]}