UNPKG

@mikezimm/fps-core-v7

Version:

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

112 lines (111 loc) 3.39 kB
/** * CodeAnalizerComment: Updated 1 imports on 2024-09-21 23:07:24 * Update:: import { IAnyFileItem } to '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent;' */ /** * COPIED FROM PIVOT TILES ON 2023-12-09 */ import { IAnyFileItem } from "../../../components/molecules/AnyContent/IAnyContent"; import { IJsxElement } from "../../../types/react/IFPSJSX_Element"; import { IBasicIconInfo } from "../Icons/stdECStorage"; import { IKnownMeta } from "./IKnownMeta"; export interface IItemWithSharingInfo extends IAnyFileItem { ItemSharingInfo: IItemSharingInfo; SharedWithDetails: string; SharedWithUsers: ISharedWithUser[]; SharedWithUsersId: number[]; GUID: string; AuthorId: number; EditorId: number; odataEditLink: string; } export interface IMySharingInfoSet { items: IItemWithSharingInfo[]; elements: IJsxElement[]; isLoaded: boolean; errMessage: string; } export interface IMySharingInfo { history: IMySharingInfoSet; details: IMySharingInfoSet; } export interface ISharedWithUser { Title: string; Name: string; Id: number; 'odata.type': string; 'odata.id': string; } /** * This is details of one sharing event: one person sharing with another person * It should be nexted under the item's IItemSharingInfo which has other item relavant info for later use like FileLeafRef * Should be nested under an item as an array of events */ export interface ISharingEvent extends IBasicIconInfo { key: string; keys: string[]; sharedWith: string; sharedBy: string; sharedWithShort: string; sharedByShort: string; DateTime: string; TimeMS: number; LoginName: string; SharedTime: Date; FileRef?: string; FileLeafRef?: string; FileSystemObjectType: number; GUID: string; odataEditLink: string; ServerRedirectedEmbedUrl?: string; parentFolder: string; AuthorId: number; Created: string; Modified: string; EditorId: number; CheckoutUserId: number; id: number; meta: IKnownMeta[]; } /** * Typical example of ISharedDetail * "i:0#.f|membership|jr@tenant.onmicrosoft.com": { "DateTime": "/Date(1675650083579)/", "LoginName": "user1.tenant@mcclickster.onmicrosoft.com" }, */ export interface ISharedDetail { [key: string]: { DateTime: string; LoginName: string; }; } /** * IItemSharingInfo is intended to be a sub-object on an item that has sharing. * It is used to then contain all the sharing details in a usable object */ export interface IItemSharingInfo { SharedDetails: ISharedDetail[]; SharedEvents: ISharingEvent[]; SharedWithUsers: ISharedWithUser[]; SharedWithUsersId: number[]; Title: string; Id: number; ID: number; GUID: string; odataEditLink: string; HasUniqueRoleAssignments: boolean; FileRef: string; FileLeafRef: string; FileSystemObjectType: number; ServerRedirectedEmbedUrl: string; ContentTypeId: string; AuthorId: number; Created: string; Modified: string; EditorId: number; CheckoutUserId: number; } export declare function createEmptyItemSharingInfo(item: IItemWithSharingInfo): IItemSharingInfo; //# sourceMappingURL=IItemWithSharingInfo.d.ts.map