UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

122 lines 3.8 kB
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