@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
122 lines • 3.8 kB
TypeScript
import { ISiteGroupInfo } from "../../../types/@pnp/@2.14.0/sp/site-groups";
import { ISiteUserInfo } from "../../../types/@pnp/@2.14.0/sp/site-users";
export type IPermKnown = 'Exact' | 'Similar' | 'Unknown';
export interface IUserPermissionLevel {
Name: IPermName;
Description: string;
simple?: number;
medium?: number;
complex?: number;
color?: string;
common?: boolean;
teams?: boolean;
known?: IPermKnown;
}
export type IPrincipalTypeText = 'None' | 'User' | 'DistributionList' | 'SecurityGroup' | 'SharePointGroup' | 'All' | 'Unknown';
export declare const PrincipalTypes: any;
export interface IThisPermissionUser {
Id: number;
Title: string;
shortTitle: string;
Description: string;
PrincipalType: number;
PrincipalText: IPrincipalTypeText;
IsSiteAdmin: boolean;
UserPrincipalName: string;
}
export interface IThisPermissionDelta {
Id: number;
Title: string;
shortTitle: string;
Description: string;
PrincipalType: number;
PrincipalText: IPrincipalTypeText;
IsSiteAdmin: boolean;
UserPrincipalName: string;
parentHighPriority: number;
parentPermissions: IUserPermissionLevel[];
childHighPriority: number;
childPermissions: IUserPermissionLevel[];
direction: 'up' | 'down' | 'equal';
dirIcon: 'ArrowUpRight8' | 'ArrowDownRight8' | 'CalculatorEqualTo';
color: string;
}
export interface IAllUserPermission {
userId: number;
userTitle: string;
permissions: IUserPermissionLevel[];
userInfo: IThisPermissionUser;
highPriority: number;
allPriorities: number[];
onlyLimited: boolean;
common?: boolean;
known?: IPermKnown;
}
export interface IAllComparePermission {
userId: number;
permNames: string[];
highPriority: number;
}
export interface IGroupedPermission {
name: string;
description: string;
priority: number;
users: IAllUserPermission[];
}
export interface IMyPermissions {
idsToGet: number[];
isLoading: boolean;
errMessage: string;
HasUniqueRoleAssignments: boolean;
theseUsers: (ISiteGroupInfo | ISiteUserInfo)[];
allUserPermissions: IAllUserPermission[];
sortedPermissions: IAllUserPermission[];
comparePermissions: IAllComparePermission[];
groupedPermissions: IGroupedPermission[];
limtedPermissions: boolean;
}
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';
export interface IPerm {
Name: IPermName;
simple: number;
medium: number;
complex: number;
color?: string;
common: boolean;
teams: boolean;
known: IPermKnown;
}
export interface IPermissionLists {
idsToGet: string[];
isLoading: boolean;
errMessage: string;
restFilter: string;
selectString: string;
titles: string[];
lists: IPermissionList[];
}
export interface IPermissionList {
Title: string;
Id: string;
ItemCount: number;
EntityTypeName: string;
HasUniqueRoleAssignments: boolean;
Hidden: boolean;
BaseType: number;
BaseTemplate: number;
AllowContentTypes: boolean;
LastItemModifiedDate: string;
ForceCheckout: boolean;
EnableVersioning: boolean;
EnableMinorVersions: boolean;
MajorVersionLimit: number;
MajorWithMinorVersionsLimit: number;
NoCrawl: boolean;
Created: string;
listURL: string;
}
/**
* 2025-02-21: Duplicate... use one at
* src\types\@pnp\@2.14.0\sp\security.ts
*/
//# sourceMappingURL=IMyPermissions.d.ts.map