@mikezimm/fps-core-v7 1.0.74 → 1.0.76

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 (72) hide show
  1. package/lib/components/atoms/Permissions/Constants.d.ts +15 -0
  2. package/lib/components/atoms/Permissions/Constants.d.ts.map +1 -0
  3. package/lib/components/atoms/Permissions/Constants.js +34 -0
  4. package/lib/components/atoms/Permissions/Constants.js.map +1 -0
  5. package/lib/components/atoms/Permissions/IMyPermissions.d.ts +121 -0
  6. package/lib/components/atoms/Permissions/IMyPermissions.d.ts.map +1 -0
  7. package/lib/components/atoms/Permissions/IMyPermissions.js +10 -0
  8. package/lib/components/atoms/Permissions/IMyPermissions.js.map +1 -0
  9. package/lib/components/atoms/Permissions/IValueUserInfos.d.ts +12 -0
  10. package/lib/components/atoms/Permissions/IValueUserInfos.d.ts.map +1 -0
  11. package/lib/components/atoms/Permissions/IValueUserInfos.js +2 -0
  12. package/lib/components/atoms/Permissions/IValueUserInfos.js.map +1 -0
  13. package/lib/components/atoms/Permissions/buildValueUserInfoV2.d.ts +26 -0
  14. package/lib/components/atoms/Permissions/buildValueUserInfoV2.d.ts.map +1 -0
  15. package/lib/components/atoms/Permissions/buildValueUserInfoV2.js +66 -0
  16. package/lib/components/atoms/Permissions/buildValueUserInfoV2.js.map +1 -0
  17. package/lib/components/atoms/Permissions/createComparePermissions.d.ts +9 -0
  18. package/lib/components/atoms/Permissions/createComparePermissions.d.ts.map +1 -0
  19. package/lib/components/atoms/Permissions/createComparePermissions.js +27 -0
  20. package/lib/components/atoms/Permissions/createComparePermissions.js.map +1 -0
  21. package/lib/components/atoms/Permissions/createSortedPermissions.d.ts +9 -0
  22. package/lib/components/atoms/Permissions/createSortedPermissions.d.ts.map +1 -0
  23. package/lib/components/atoms/Permissions/createSortedPermissions.js +94 -0
  24. package/lib/components/atoms/Permissions/createSortedPermissions.js.map +1 -0
  25. package/lib/components/atoms/Permissions/deltaPermissions.d.ts +10 -0
  26. package/lib/components/atoms/Permissions/deltaPermissions.d.ts.map +1 -0
  27. package/lib/components/atoms/Permissions/deltaPermissions.js +75 -0
  28. package/lib/components/atoms/Permissions/deltaPermissions.js.map +1 -0
  29. package/lib/components/molecules/AnyContent/IAnyWeb.d.ts +1 -0
  30. package/lib/components/molecules/AnyContent/IAnyWeb.d.ts.map +1 -1
  31. package/lib/components/molecules/source-props/createSources/Sites/createSiteSource.d.ts +20 -1
  32. package/lib/components/molecules/source-props/createSources/Sites/createSiteSource.d.ts.map +1 -1
  33. package/lib/components/molecules/source-props/createSources/Sites/createSiteSource.js +40 -8
  34. package/lib/components/molecules/source-props/createSources/Sites/createSiteSource.js.map +1 -1
  35. package/lib/restAPIs/lists/items/getOnlySharedItems.d.ts +3 -2
  36. package/lib/restAPIs/lists/items/getOnlySharedItems.d.ts.map +1 -1
  37. package/lib/restAPIs/lists/items/getOnlySharedItems.js +5 -48
  38. package/lib/restAPIs/lists/items/getOnlySharedItems.js.map +1 -1
  39. package/lib/restAPIs/logging/Analytics/saveAnalyticsAPI.d.ts +7 -4
  40. package/lib/restAPIs/logging/Analytics/saveAnalyticsAPI.d.ts.map +1 -1
  41. package/lib/restAPIs/logging/Analytics/saveAnalyticsAPI.js +7 -4
  42. package/lib/restAPIs/logging/Analytics/saveAnalyticsAPI.js.map +1 -1
  43. package/lib/restAPIs/logging/Permissions/savePermissionHistory.js +1 -1
  44. package/lib/restAPIs/logging/Permissions/savePermissionHistory.js.map +1 -1
  45. package/lib/restAPIs/permissions/IFpsRoleAssignmentInfo.d.ts +18 -2
  46. package/lib/restAPIs/permissions/IFpsRoleAssignmentInfo.d.ts.map +1 -1
  47. package/lib/restAPIs/permissions/getListRoleAssignmentsAPI.d.ts.map +1 -1
  48. package/lib/restAPIs/permissions/getListRoleAssignmentsAPI.js +11 -8
  49. package/lib/restAPIs/permissions/getListRoleAssignmentsAPI.js.map +1 -1
  50. package/lib/restAPIs/permissions/getUserListRoleAssignmentsAPI.d.ts.map +1 -1
  51. package/lib/restAPIs/permissions/getUserListRoleAssignmentsAPI.js +6 -6
  52. package/lib/restAPIs/permissions/getUserListRoleAssignmentsAPI.js.map +1 -1
  53. package/lib/restAPIs/permissions/getUserWebRoleAssignmentsAPI.d.ts.map +1 -1
  54. package/lib/restAPIs/permissions/getUserWebRoleAssignmentsAPI.js +5 -6
  55. package/lib/restAPIs/permissions/getUserWebRoleAssignmentsAPI.js.map +1 -1
  56. package/lib/restAPIs/permissions/getUserWebRoleAssignmentsInBatchAPI.d.ts.map +1 -1
  57. package/lib/restAPIs/permissions/getUserWebRoleAssignmentsInBatchAPI.js +5 -5
  58. package/lib/restAPIs/permissions/getUserWebRoleAssignmentsInBatchAPI.js.map +1 -1
  59. package/lib/restAPIs/permissions/getWebRoleAssignmentsAPI.d.ts.map +1 -1
  60. package/lib/restAPIs/permissions/getWebRoleAssignmentsAPI.js +4 -2
  61. package/lib/restAPIs/permissions/getWebRoleAssignmentsAPI.js.map +1 -1
  62. package/lib/types/@pnp/@2.14.0/sp/security.d.ts +19 -8
  63. package/lib/types/@pnp/@2.14.0/sp/security.d.ts.map +1 -1
  64. package/lib/types/@pnp/@2.14.0/sp/security.js.map +1 -1
  65. package/lib/types/@pnp/@2.14.0/sp/site-groups.d.ts +11 -0
  66. package/lib/types/@pnp/@2.14.0/sp/site-groups.d.ts.map +1 -1
  67. package/lib/types/@pnp/@2.14.0/sp/site-users.d.ts +11 -1
  68. package/lib/types/@pnp/@2.14.0/sp/site-users.d.ts.map +1 -1
  69. package/lib/types/@pnp/@2.14.0/sp/types.d.ts +1 -0
  70. package/lib/types/@pnp/@2.14.0/sp/types.d.ts.map +1 -1
  71. package/lib/types/@pnp/@2.14.0/sp/types.js.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,15 @@
1
+ import { IPerm } from "./IMyPermissions";
2
+ export declare const GroupTitlePrefix = "groupTitle-";
3
+ export declare const GroupIdPrefix = "groupId-";
4
+ export declare const ListSystemGroup = "Limited Access System Group For List";
5
+ export declare const WebSystemGroup = "Limited Access System Group For Web";
6
+ export declare const PermNames: IPerm[];
7
+ export declare const UnknownPerm: IPerm;
8
+ export declare const PermPriorityStyles: ({
9
+ color: string;
10
+ fontWeight?: undefined;
11
+ } | {
12
+ color: string;
13
+ fontWeight: number;
14
+ })[];
15
+ //# sourceMappingURL=Constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/Constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,eAAO,MAAM,eAAe,yCAAyC,CAAC;AACtE,eAAO,MAAM,cAAc,wCAAwC,CAAC;AAEpE,eAAO,MAAM,SAAS,EAAE,KAAK,EAkB5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;IAO9B,CAAC"}
@@ -0,0 +1,34 @@
1
+ export const GroupTitlePrefix = "groupTitle-";
2
+ export const GroupIdPrefix = "groupId-";
3
+ export const ListSystemGroup = 'Limited Access System Group For List';
4
+ export const WebSystemGroup = 'Limited Access System Group For Web';
5
+ export const PermNames = [
6
+ { Name: 'Full Control', simple: 3, medium: 4, complex: 5, common: true, teams: true, known: 'Exact' },
7
+ { Name: 'Manage Hierarchy', simple: 3, medium: 4, complex: 5, common: false, teams: false, known: 'Exact' },
8
+ { Name: 'Design', simple: 3, medium: 3, complex: 4, common: true, teams: false, known: 'Exact' },
9
+ { Name: 'Edit', simple: 3, medium: 3, complex: 4, common: true, teams: true, known: 'Exact' },
10
+ { Name: 'Approve', simple: 3, medium: 3, complex: 3, common: true, teams: false, known: 'Exact' },
11
+ { Name: 'Contribute', simple: 2, medium: 2, complex: 2, common: true, teams: false, known: 'Exact' },
12
+ // { Name: 'Restricted Read', simple: 1, medium: 1, complex: 1, common: false, teams: false, known: 'Exact' },
13
+ { Name: 'Read', simple: 1, medium: 1, complex: 1, common: true, teams: true, known: 'Exact' },
14
+ { Name: 'View', simple: 1, medium: 1, complex: 1, common: false, teams: false, known: 'Exact' },
15
+ { Name: 'Limited Access', simple: 0, medium: 0, complex: 0, common: true, teams: false, known: 'Exact' },
16
+ //Restricted Interfaces: Give this on site when they only have list permissions so they can still get to the list UI
17
+ // https://social.technet.microsoft.com/Forums/ie/en-US/9a6f7e55-fc39-4c47-a23b-7d709233b86d/giving-list-permission-to-users-with-no-access-to-the-main-site?forum=sharepointgeneral
18
+ // https://sharepoint.stackexchange.com/a/223593
19
+ { Name: 'Restricted Interfaces for Translation', simple: 0, medium: 0, complex: 0, common: false, teams: false, known: 'Exact' },
20
+ { Name: 'Web-Only Limited Access', simple: 0, medium: 0, complex: 0, common: false, teams: false, known: 'Exact' }, //"Can only view the web when given permissions." -- This is what you get when you share with specific person.
21
+ //
22
+ ];
23
+ export const UnknownPerm = {
24
+ Name: 'Unknown Permission', simple: 6, medium: 6, complex: 6, common: false, teams: false, known: 'Unknown'
25
+ };
26
+ export const PermPriorityStyles = [
27
+ { color: '' },
28
+ { color: 'green' },
29
+ { color: 'brown' },
30
+ { color: 'red', fontWeight: 700 },
31
+ { color: 'blue', fontWeight: 700 },
32
+ { color: 'purple', fontWeight: 700 }, //priority 5
33
+ ];
34
+ //# sourceMappingURL=Constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/Constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { ISiteGroupInfo } from "../../../types/@pnp/@2.14.0/sp/site-groups";
2
+ import { ISiteUserInfo } from "../../../types/@pnp/@2.14.0/sp/site-users";
3
+ export type IPermKnown = 'Exact' | 'Similar' | 'Unknown';
4
+ export interface IUserPermissionLevel {
5
+ Name: IPermName;
6
+ Description: string;
7
+ simple?: number;
8
+ medium?: number;
9
+ complex?: number;
10
+ color?: string;
11
+ common?: boolean;
12
+ teams?: boolean;
13
+ known?: IPermKnown;
14
+ }
15
+ export type IPrincipalTypeText = 'None' | 'User' | 'DistributionList' | 'SecurityGroup' | 'SharePointGroup' | 'All' | 'Unknown';
16
+ export declare const PrincipalTypes: any;
17
+ export interface IThisPermissionUser {
18
+ Id: number;
19
+ Title: string;
20
+ shortTitle: string;
21
+ Description: string;
22
+ PrincipalType: number;
23
+ PrincipalText: IPrincipalTypeText;
24
+ IsSiteAdmin: boolean;
25
+ UserPrincipalName: string;
26
+ }
27
+ export interface IThisPermissionDelta {
28
+ Id: number;
29
+ Title: string;
30
+ shortTitle: string;
31
+ Description: string;
32
+ PrincipalType: number;
33
+ PrincipalText: IPrincipalTypeText;
34
+ IsSiteAdmin: boolean;
35
+ UserPrincipalName: string;
36
+ parentHighPriority: number;
37
+ parentPermissions: IUserPermissionLevel[];
38
+ childHighPriority: number;
39
+ childPermissions: IUserPermissionLevel[];
40
+ direction: 'up' | 'down' | 'equal';
41
+ dirIcon: 'ArrowUpRight8' | 'ArrowDownRight8' | 'CalculatorEqualTo';
42
+ color: string;
43
+ }
44
+ export interface IAllUserPermission {
45
+ userId: number;
46
+ userTitle: string;
47
+ permissions: IUserPermissionLevel[];
48
+ userInfo: IThisPermissionUser;
49
+ highPriority: number;
50
+ allPriorities: number[];
51
+ onlyLimited: boolean;
52
+ common?: boolean;
53
+ known?: IPermKnown;
54
+ }
55
+ export interface IAllComparePermission {
56
+ userId: number;
57
+ permNames: string[];
58
+ highPriority: number;
59
+ }
60
+ export interface IGroupedPermission {
61
+ name: string;
62
+ description: string;
63
+ priority: number;
64
+ users: IAllUserPermission[];
65
+ }
66
+ export interface IMyPermissions {
67
+ idsToGet: number[];
68
+ isLoading: boolean;
69
+ errMessage: string;
70
+ HasUniqueRoleAssignments: boolean;
71
+ theseUsers: (ISiteGroupInfo | ISiteUserInfo)[];
72
+ allUserPermissions: IAllUserPermission[];
73
+ sortedPermissions: IAllUserPermission[];
74
+ comparePermissions: IAllComparePermission[];
75
+ groupedPermissions: IGroupedPermission[];
76
+ limtedPermissions: boolean;
77
+ }
78
+ export type IPermName = 'Full Control' | 'Manage Hierarchy' | 'Design' | 'Edit' | 'Approve' | 'Contribute' | 'Read' | 'Restricted Read' | 'View' | 'Limited Access' | 'Web-Only Limited Access' | 'Restricted Interfaces for Translation' | 'Unknown Permission';
79
+ export interface IPerm {
80
+ Name: IPermName;
81
+ simple: number;
82
+ medium: number;
83
+ complex: number;
84
+ color?: string;
85
+ common: boolean;
86
+ teams: boolean;
87
+ known: IPermKnown;
88
+ }
89
+ export interface IPermissionLists {
90
+ idsToGet: string[];
91
+ isLoading: boolean;
92
+ errMessage: string;
93
+ restFilter: string;
94
+ selectString: string;
95
+ titles: string[];
96
+ lists: IPermissionList[];
97
+ }
98
+ export interface IPermissionList {
99
+ Title: string;
100
+ Id: string;
101
+ ItemCount: number;
102
+ EntityTypeName: string;
103
+ HasUniqueRoleAssignments: boolean;
104
+ Hidden: boolean;
105
+ BaseType: number;
106
+ BaseTemplate: number;
107
+ AllowContentTypes: boolean;
108
+ LastItemModifiedDate: string;
109
+ ForceCheckout: boolean;
110
+ EnableVersioning: boolean;
111
+ EnableMinorVersions: boolean;
112
+ MajorVersionLimit: number;
113
+ MajorWithMinorVersionsLimit: number;
114
+ NoCrawl: boolean;
115
+ Created: string;
116
+ listURL: string;
117
+ }
118
+ export interface IRoleAssignment {
119
+ PrincipalId: number;
120
+ }
121
+ //# sourceMappingURL=IMyPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMyPermissions.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/IMyPermissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export const PrincipalTypes = {
3
+ '0': 'None',
4
+ '1': 'User',
5
+ '2': 'DistributionList',
6
+ '4': 'SecurityGroup',
7
+ '8': 'SharePointGroup',
8
+ '15': 'All',
9
+ };
10
+ //# sourceMappingURL=IMyPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMyPermissions.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/IMyPermissions.ts"],"names":[],"mappings":"AAoBA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAQ;IACjC,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,KAAK;CACZ,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { IFpsUsersReturn } from "../../../types/fps-returns/sites/users/IFpsUsersReturn";
2
+ export type IValidUserProp = 'Id' | 'Title' | 'Name' | 'Email';
3
+ export interface IValueUserInfos {
4
+ Ids: number[];
5
+ Titles: string[];
6
+ Names: string[];
7
+ Emails: string[];
8
+ Users: any[];
9
+ Props: IValidUserProp[];
10
+ result: IFpsUsersReturn;
11
+ }
12
+ //# sourceMappingURL=IValueUserInfos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IValueUserInfos.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/IValueUserInfos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAEzF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IValueUserInfos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IValueUserInfos.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/IValueUserInfos.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 2025-01-04: MOVE THIS TO fps-core-v7
3
+ *
4
+ * Refactored from node_modules\@mikezimm\fps-library-v2\lib\pnpjs\Users\calls\buildValueUserInfos
5
+ *
6
+ * node_modules\@mikezimm\fps-library-v2\lib\pnpjs\Users\interfaces\IValueUserInfos
7
+ *
8
+ */
9
+ import { IFpsRoleAssignmentInfo } from '../../../restAPIs/permissions/IFpsRoleAssignmentInfo';
10
+ import { ISiteGroupInfo } from '../../../types/@pnp/@2.14.0/sp/site-groups';
11
+ import { ISiteUserInfo } from '../../../types/@pnp/@2.14.0/sp/site-users';
12
+ import { PrincipalType } from '../../../types/@pnp/@2.14.0/sp/types';
13
+ import { IPrincipalTypeText } from '../../../types/@pnp/@2.14.0/sp/types';
14
+ export declare function getPrinicpalTypeText(type: PrincipalType): IPrincipalTypeText;
15
+ export type IValidUserProp = 'Id' | 'Title' | 'Name' | 'Email';
16
+ export interface IValueUserInfos {
17
+ Ids: number[];
18
+ Titles: string[];
19
+ Names: string[];
20
+ Emails: string[];
21
+ Users: (ISiteGroupInfo | ISiteUserInfo)[];
22
+ Props: IValidUserProp[];
23
+ result: IFpsRoleAssignmentInfo;
24
+ }
25
+ export declare function buildValueUserInfosV2(theseUsers: (ISiteGroupInfo | ISiteUserInfo)[], props: IValidUserProp[], realPeopleOnly: boolean): IValueUserInfos;
26
+ //# sourceMappingURL=buildValueUserInfoV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildValueUserInfoV2.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/buildValueUserInfoV2.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,aAAa,GAAI,kBAAkB,CAQ9E;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,cAAc,GAAG,aAAa,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CAAE,UAAU,EAAE,CAAC,cAAc,GAAG,aAAa,CAAC,EAAE,EAAG,KAAK,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,OAAO,GAAG,eAAe,CA8CzJ"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * 2025-01-04: MOVE THIS TO fps-core-v7
3
+ *
4
+ * Refactored from node_modules\@mikezimm\fps-library-v2\lib\pnpjs\Users\calls\buildValueUserInfos
5
+ *
6
+ * node_modules\@mikezimm\fps-library-v2\lib\pnpjs\Users\interfaces\IValueUserInfos
7
+ *
8
+ */
9
+ export function getPrinicpalTypeText(type) {
10
+ if (type === 0)
11
+ return 'None';
12
+ if (type === 1)
13
+ return 'User';
14
+ if (type === 2)
15
+ return 'DistributionList';
16
+ if (type === 4)
17
+ return 'SecurityGroup';
18
+ if (type === 8)
19
+ return 'SharePointGroup';
20
+ if (type === 15)
21
+ return 'All';
22
+ return 'Unknown';
23
+ }
24
+ export function buildValueUserInfosV2(theseUsers, props, realPeopleOnly) {
25
+ const validUserInfos = {
26
+ Ids: [],
27
+ Titles: [],
28
+ Names: [],
29
+ Emails: [],
30
+ Users: [],
31
+ Props: props,
32
+ result: null,
33
+ };
34
+ theseUsers.map(Member => {
35
+ //UserId is typically an object with keys: NameIdIssuer & NameId. Only getting users with that
36
+ const { Id, Title, LoginName, PrincipalType } = Member;
37
+ /**
38
+ * 2024-01-04:
39
+ * enum: PrincipalType is on both ISiteGroupInfo and ISiteUserProps
40
+ * Going forward, going to use PrincipalType = 1 to verify if it's a user per the docs.
41
+ *
42
+ * NOTES from PRIOR Logic:
43
+ * Through testing, found that system accounts have a LoginName but NOT UserPrincipalName
44
+ * So for "real test", I'm using UserPrincipalName to check.
45
+ */
46
+ const isReal = PrincipalType === 1 ? true : false;
47
+ const Email = Member['Email'];
48
+ if (isReal === true || realPeopleOnly === false) {
49
+ if (props.indexOf('Id') > -1 && Id && Id > -1) {
50
+ validUserInfos.Ids.push(Id);
51
+ }
52
+ if (props.indexOf('Title') > -1 && Title) {
53
+ validUserInfos.Titles.push(Title);
54
+ }
55
+ if (props.indexOf('Name') > -1 && LoginName) {
56
+ validUserInfos.Names.push(LoginName);
57
+ }
58
+ if (props.indexOf('Email') > -1 && Email) {
59
+ validUserInfos.Emails.push(Email);
60
+ }
61
+ validUserInfos.Users.push(Member);
62
+ }
63
+ });
64
+ return validUserInfos;
65
+ }
66
+ //# sourceMappingURL=buildValueUserInfoV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildValueUserInfoV2.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/buildValueUserInfoV2.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAQH,MAAM,UAAU,oBAAoB,CAAE,IAAmB;IACvD,IAAK,IAAI,KAAK,CAAC;QAAG,OAAO,MAAM,CAAC;IAChC,IAAK,IAAI,KAAK,CAAC;QAAG,OAAO,MAAM,CAAC;IAChC,IAAK,IAAI,KAAK,CAAC;QAAG,OAAO,kBAAkB,CAAC;IAC5C,IAAK,IAAI,KAAK,CAAC;QAAG,OAAO,eAAe,CAAC;IACzC,IAAK,IAAI,KAAK,CAAC;QAAG,OAAO,iBAAiB,CAAC;IAC3C,IAAK,IAAI,KAAK,EAAE;QAAG,OAAO,KAAK,CAAC;IAChC,OAAO,SAAS,CAAC;AACnB,CAAC;AAcD,MAAM,UAAU,qBAAqB,CAAE,UAA8C,EAAG,KAAuB,EAAE,cAAuB;IAEtI,MAAM,cAAc,GAAoB;QACpC,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAW;KACtB,CAAC;IAEF,UAAU,CAAC,GAAG,CAAE,MAAM,CAAC,EAAE;QACvB,gGAAgG;QAC9F,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAEvD;;;;;;;;WAQG;QACH,MAAM,MAAM,GAAG,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAElD,MAAM,KAAK,GAAG,MAAM,CAAE,OAAkB,CAAE,CAAC;QAE3C,IAAI,MAAM,KAAK,IAAI,IAAI,cAAc,KAAK,KAAK,EAAE;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAG;gBAC5C,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC/B;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,EAAG;gBACvC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,EAAG;gBAC1C,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,EAAG;gBACvC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC;YACD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;SACvC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { IMyPermissions } from "./IMyPermissions";
2
+ /**
3
+ * 2025-01-04: Migrated from PivotTiles/Permissions
4
+ *
5
+ * @param myPermissions
6
+ * @returns
7
+ */
8
+ export declare function createComparePermissions(myPermissions: IMyPermissions): IMyPermissions;
9
+ //# sourceMappingURL=createComparePermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createComparePermissions.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/createComparePermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA6C,MAAM,kBAAkB,CAAC;AAE7F;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,cAAc,GAAG,cAAc,CAuBtF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 2025-01-04: Migrated from PivotTiles/Permissions
3
+ *
4
+ * @param myPermissions
5
+ * @returns
6
+ */
7
+ export function createComparePermissions(myPermissions) {
8
+ const sortedPermissions = myPermissions.sortedPermissions;
9
+ const comparePermissions = [];
10
+ sortedPermissions.map(user => {
11
+ //Loop through this user's permissions and get highest level
12
+ const userCompare = {
13
+ highPriority: user.highPriority,
14
+ permNames: [],
15
+ userId: user.userId,
16
+ };
17
+ user.permissions.map(userPerm => {
18
+ //Add highest level to the user
19
+ userCompare.permNames.push(userPerm.Name);
20
+ });
21
+ //Push User info to Sorted Users group
22
+ comparePermissions.push(userCompare);
23
+ });
24
+ myPermissions.comparePermissions = comparePermissions;
25
+ return myPermissions;
26
+ }
27
+ //# sourceMappingURL=createComparePermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createComparePermissions.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/createComparePermissions.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAA6B;IACpE,MAAM,iBAAiB,GAAyB,aAAa,CAAC,iBAAiB,CAAC;IAChF,MAAM,kBAAkB,GAA4B,EAAE,CAAC;IAEvD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC3B,4DAA4D;QAC5D,MAAM,WAAW,GAA0B;YACzC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC9B,+BAA+B;YAC/B,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAEtD,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { IMyPermissions } from "./IMyPermissions";
2
+ /**
3
+ * 2025-01-04: Migrated from PivotTiles/Permissions
4
+ *
5
+ * @param myPermissions
6
+ * @returns
7
+ */
8
+ export declare function createSortedPermissions(myPermissions: IMyPermissions): IMyPermissions;
9
+ //# sourceMappingURL=createSortedPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSortedPermissions.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/createSortedPermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAyC,MAAM,kBAAkB,CAAC;AAEzF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,cAAc,GAAG,cAAc,CA8ErF"}
@@ -0,0 +1,94 @@
1
+ import { sortObjectArrayByNumberKey } from "../../../logic/Arrays/sorting/numbers";
2
+ import { sortObjectArrayByStringKey } from "../../../logic/Arrays/sorting/objects";
3
+ import { PermNames, UnknownPerm } from "./Constants";
4
+ /**
5
+ * 2025-01-04: Migrated from PivotTiles/Permissions
6
+ *
7
+ * @param myPermissions
8
+ * @returns
9
+ */
10
+ export function createSortedPermissions(myPermissions) {
11
+ let limtedPermissions = false;
12
+ const complexity = 'complex';
13
+ let sortedPermissions = [];
14
+ // let groupedPermissions: IGroupedPermission[] = [];
15
+ const allUserPermissions = myPermissions.allUserPermissions;
16
+ // export interface IAllUserPermission {
17
+ // userId: number;
18
+ // permissions: any[];
19
+ // userInfo: IThisPermissionUser;
20
+ // highPriority: number;
21
+ // allPriorities: number[];
22
+ // }
23
+ //Loop through all users
24
+ allUserPermissions.map(user => {
25
+ //Loop through this user's permissions and get highest level
26
+ let onlyLimited = true;
27
+ let common = false;
28
+ let known = 'Unknown';
29
+ user.permissions.map(userPerm => {
30
+ //Add highest level to the user
31
+ let thisPerm = null;
32
+ PermNames.map(permName => {
33
+ if (permName.Name === userPerm.Name) {
34
+ thisPerm = JSON.parse(JSON.stringify(permName));
35
+ }
36
+ });
37
+ if (thisPerm === null) { //Check for similarly named permission levels.
38
+ PermNames.map(permName => {
39
+ if (userPerm.Name.toLowerCase().indexOf(permName.Name.toLowerCase()) > -1) {
40
+ thisPerm = JSON.parse(JSON.stringify(permName));
41
+ // thisPerm.Name = userPerm.Name;
42
+ thisPerm.common = false;
43
+ thisPerm.teams = false;
44
+ thisPerm.known = 'Similar';
45
+ }
46
+ });
47
+ if (thisPerm === null) { //Check for similarly named permission levels.
48
+ thisPerm = JSON.parse(JSON.stringify(UnknownPerm));
49
+ // thisPerm.Name = userPerm.Name;
50
+ }
51
+ }
52
+ if (thisPerm[complexity] > user.highPriority) {
53
+ user.highPriority = thisPerm[complexity];
54
+ }
55
+ user.allPriorities.push(thisPerm[complexity]);
56
+ if (userPerm.Name.toLowerCase().indexOf('limited') > -1) {
57
+ limtedPermissions = true;
58
+ }
59
+ else {
60
+ onlyLimited = false;
61
+ }
62
+ //Add all thisPerm props to userPerm except Name
63
+ Object.keys(thisPerm).map(key => {
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+ const thisPermAny = thisPerm;
66
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ const userPermAny = userPerm;
68
+ if (key !== 'Name') {
69
+ userPermAny[key] = thisPermAny[key];
70
+ }
71
+ });
72
+ if (thisPerm.common === true) {
73
+ common = true;
74
+ }
75
+ if (thisPerm.known === 'Exact') {
76
+ known = 'Exact';
77
+ }
78
+ else if (thisPerm.known === 'Similar' && known === 'Unknown') {
79
+ known = 'Similar';
80
+ }
81
+ });
82
+ user.onlyLimited = onlyLimited;
83
+ user.known = known;
84
+ user.common = common;
85
+ //Push User info to Sorted Users group
86
+ sortedPermissions.push(user);
87
+ });
88
+ sortedPermissions = sortObjectArrayByStringKey(sortedPermissions, 'asc', 'userTitle'); // https://github.com/mikezimm/pivottiles7/issues/142
89
+ sortedPermissions = sortObjectArrayByNumberKey(sortedPermissions, 'desc', 'highPriority');
90
+ myPermissions.sortedPermissions = sortedPermissions;
91
+ myPermissions.limtedPermissions = limtedPermissions;
92
+ return myPermissions;
93
+ }
94
+ //# sourceMappingURL=createSortedPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSortedPermissions.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/createSortedPermissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { IMyPermissions, IThisPermissionDelta, IAllUserPermission } from "./IMyPermissions";
2
+ /**
3
+ *
4
+ * @param webPermissions
5
+ * @param myPermissions
6
+ * @param addDownToNoChild //This is added so that if there are no child permissions, a 'down' arrow is added. For Libraries, set to false to make it cleaner.
7
+ */
8
+ export declare function deltaPermissions(webPermissions: IMyPermissions, myPermissions: IMyPermissions, addDownToNoChild: boolean): IThisPermissionDelta[];
9
+ export declare function createUserDelta(user: IAllUserPermission, parentOrChild: 'parent' | 'child'): IThisPermissionDelta;
10
+ //# sourceMappingURL=deltaPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaPermissions.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/deltaPermissions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE5F;;;;;GAKG;AAEH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAoDjJ;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,oBAAoB,CAoBjH"}
@@ -0,0 +1,75 @@
1
+ import { doesObjectExistInArrayInt } from "../../../logic/Arrays/searching/objectfind";
2
+ /**
3
+ *
4
+ * @param webPermissions
5
+ * @param myPermissions
6
+ * @param addDownToNoChild //This is added so that if there are no child permissions, a 'down' arrow is added. For Libraries, set to false to make it cleaner.
7
+ */
8
+ export function deltaPermissions(webPermissions, myPermissions, addDownToNoChild) {
9
+ const delta = [];
10
+ //Add web permissions to delta
11
+ webPermissions.allUserPermissions.map(user => {
12
+ delta.push(createUserDelta(user, 'parent'));
13
+ });
14
+ myPermissions.allUserPermissions.map(user => {
15
+ const Id = user.userId;
16
+ const parentIndex = doesObjectExistInArrayInt(delta, 'Id', Id, true);
17
+ if (parentIndex < 0) {
18
+ //user was not on parent
19
+ const newUser = createUserDelta(user, 'child');
20
+ newUser.direction = 'up';
21
+ newUser.dirIcon = 'ArrowUpRight8';
22
+ delta.push(newUser);
23
+ }
24
+ else {
25
+ //User was on parent
26
+ const thisUser = delta[parentIndex];
27
+ thisUser.childHighPriority = user.highPriority;
28
+ thisUser.childPermissions = user.permissions;
29
+ if (thisUser.childHighPriority > thisUser.parentHighPriority) {
30
+ thisUser.direction = 'up';
31
+ thisUser.dirIcon = 'ArrowUpRight8';
32
+ }
33
+ else if (thisUser.childHighPriority === thisUser.parentHighPriority) {
34
+ thisUser.direction = 'equal';
35
+ thisUser.dirIcon = 'CalculatorEqualTo';
36
+ }
37
+ else {
38
+ thisUser.direction = 'down';
39
+ thisUser.dirIcon = 'ArrowDownRight8';
40
+ }
41
+ }
42
+ });
43
+ //Now go back and check for ones where the direction was not set
44
+ if (addDownToNoChild === true) {
45
+ delta.map(thisUser => {
46
+ if (thisUser.childPermissions.length === 0) {
47
+ thisUser.direction = 'down';
48
+ thisUser.dirIcon = 'ArrowDownRight8';
49
+ }
50
+ });
51
+ }
52
+ // console.log('webPermissionAllDetla', delta );
53
+ return delta;
54
+ }
55
+ export function createUserDelta(user, parentOrChild) {
56
+ const delta = {
57
+ Id: user.userId,
58
+ Title: user.userInfo.Title,
59
+ shortTitle: user.userInfo.shortTitle,
60
+ Description: user.userInfo.Description,
61
+ PrincipalType: user.userInfo.PrincipalType,
62
+ PrincipalText: user.userInfo.PrincipalText,
63
+ IsSiteAdmin: user.userInfo.IsSiteAdmin,
64
+ UserPrincipalName: user.userInfo.UserPrincipalName,
65
+ parentHighPriority: parentOrChild === 'parent' ? user.highPriority : null,
66
+ parentPermissions: parentOrChild === 'parent' ? user.permissions : [],
67
+ childHighPriority: parentOrChild === 'child' ? user.highPriority : null,
68
+ childPermissions: parentOrChild === 'child' ? user.permissions : [],
69
+ direction: null,
70
+ dirIcon: null,
71
+ color: null,
72
+ };
73
+ return delta;
74
+ }
75
+ //# sourceMappingURL=deltaPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaPermissions.js","sourceRoot":"","sources":["../../../../src/components/atoms/Permissions/deltaPermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAGvF;;;;;GAKG;AAEH,MAAM,UAAU,gBAAgB,CAAC,cAA8B,EAAE,aAA6B,EAAE,gBAAyB;IACvH,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,8BAA8B;IAC9B,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAE3C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9C,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,wBAAwB;YACxB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAErB;aAAM;YACL,oBAAoB;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/C,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;YAE7C,IAAI,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,EAAE;gBAC5D,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;aACpC;iBAAM,IAAI,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,CAAC,kBAAkB,EAAE;gBACrE,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;gBAC7B,QAAQ,CAAC,OAAO,GAAG,mBAAmB,CAAC;aACxC;iBAAM;gBACL,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;gBAC5B,QAAQ,CAAC,OAAO,GAAG,iBAAiB,CAAC;aACtC;SACF;IAEH,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,IAAI,gBAAgB,KAAK,IAAI,EAAE;QAC7B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1C,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;gBAC5B,QAAQ,CAAC,OAAO,GAAG,iBAAiB,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;KACJ;IAED,gDAAgD;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE,aAAiC;IACzF,MAAM,KAAK,GAAyB;QAClC,EAAE,EAAE,IAAI,CAAC,MAAM;QACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;QAC1B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;QACpC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;QAClD,kBAAkB,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAW;QAChF,iBAAiB,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QACrE,iBAAiB,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAW;QAC9E,gBAAgB,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QACnE,SAAS,EAAE,IAAW;QACtB,OAAO,EAAE,IAAW;QACpB,KAAK,EAAE,IAAW;KACnB,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -13,6 +13,7 @@ export interface IAnyWeb extends IAnySecurableItem {
13
13
  SiteLogo?: string;
14
14
  PictureThumbnailURL?: string;
15
15
  ServerRelativeUrl?: string;
16
+ Url?: string;
16
17
  WebTemplate?: string;
17
18
  WebTemplateId?: number;
18
19
  Id?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"IAnyWeb.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/AnyContent/IAnyWeb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,mBAAmB,EAAG,MAAM,EAExC,CAAC;AAEF,MAAM,WAAW,OAAQ,SAAQ,iBAAiB;IAChD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;CACV"}
1
+ {"version":3,"file":"IAnyWeb.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/AnyContent/IAnyWeb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,mBAAmB,EAAG,MAAM,EAExC,CAAC;AAEF,MAAM,WAAW,OAAQ,SAAQ,iBAAiB;IAChD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;CACV"}