Member Junction
    Preparing search index...

    Contract implemented by per-resource adapters that plug into GenericShareDialogComponent. The dialog owns the UX (user search, level selector, mark-for-removal); the adapter owns persistence.

    interface ResourceShareAdapter {
        AfterSave?(context: ResourceShareContext): Promise<void>;
        CreateShare(
            context: ResourceShareContext,
            user: MJUserEntity,
        ): Promise<ResourceSharePermissionModel>;
        LoadShares(
            context: ResourceShareContext,
        ): Promise<ResourceSharePermissionModel[]>;
        SyncLevelToEntity(row: ResourceSharePermissionModel): void;
    }

    Implemented by

    Index

    Methods