interface IUserAreasClient {
    addCollectionEntries(
        args: {
            collectionId: string;
            repositoryId: string;
            request: LfRepositoryClientV2.EntryIdsRequest;
        },
    ): Promise<LfRepositoryClientV2.PersonalCollection>;
    addUserAreaEntries(
        args: {
            areaId: number;
            repositoryId: string;
            request: LfRepositoryClientV2.EntryIdsRequest;
        },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    createPersonalCollection(
        args: {
            repositoryId: string;
            request: LfRepositoryClientV2.CreatePersonalCollectionRequest;
        },
    ): Promise<LfRepositoryClientV2.PersonalCollection>;
    createUserArea(
        args: {
            repositoryId: string;
            request: LfRepositoryClientV2.CreateUserAreaRequest;
        },
    ): Promise<LfRepositoryClientV2.UserArea>;
    deletePersonalCollection(
        args: { collectionId: string; repositoryId: string },
    ): Promise<void>;
    deleteUserArea(
        args: { areaId: number; repositoryId: string },
    ): Promise<void>;
    getPersonalCollection(
        args: {
            collectionId: string;
            repositoryId: string;
            select?: null | string;
        },
    ): Promise<LfRepositoryClientV2.PersonalCollection>;
    getPersonalCollections(
        args: { repositoryId: string },
    ): Promise<LfRepositoryClientV2.PersonalCollection[]>;
    getRecentDocuments(
        args: { documentLimit?: null | number; repositoryId: string },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    getRecentFolders(
        args: { repositoryId: string },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    getStarredEntries(
        args: { repositoryId: string },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    getUserArea(
        args: { areaId: number; repositoryId: string; select?: null | string },
    ): Promise<LfRepositoryClientV2.UserArea>;
    getUserAreaEntries(
        args: { areaId: number; repositoryId: string },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    getUserAreas(
        args: { repositoryId: string },
    ): Promise<LfRepositoryClientV2.UserArea[]>;
    removeCollectionEntries(
        args: {
            collectionId: string;
            repositoryId: string;
            request: LfRepositoryClientV2.EntryIdsRequest;
        },
    ): Promise<LfRepositoryClientV2.PersonalCollection>;
    removeUserAreaEntries(
        args: {
            areaId: number;
            repositoryId: string;
            request: LfRepositoryClientV2.EntryIdsRequest;
        },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    renamePersonalCollection(
        args: {
            collectionId: string;
            repositoryId: string;
            request: LfRepositoryClientV2.RenamePersonalCollectionRequest;
        },
    ): Promise<LfRepositoryClientV2.PersonalCollection>;
    starEntries(
        args: {
            repositoryId: string;
            request: LfRepositoryClientV2.StarEntriesRequest;
        },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    unstarEntries(
        args: {
            repositoryId: string;
            request: LfRepositoryClientV2.StarEntriesRequest;
        },
    ): Promise<LfRepositoryClientV2.UserAreaEntry[]>;
    updateUserArea(
        args: {
            areaId: number;
            repositoryId: string;
            request: LfRepositoryClientV2.UpdateUserAreaRequest;
        },
    ): Promise<LfRepositoryClientV2.UserArea>;
}

Implemented by

Methods

    • Adds the supplied entries to the collection and returns the updated collection. Idempotent for entries already present.
    • Required OAuth scope: repository.Write

    Parameters

    Returns Promise<LfRepositoryClientV2.PersonalCollection>

    Successfully added the entries to the personal collection. Returns the updated collection.

    • Adds the supplied entries to the user area and returns the updated entries. Idempotent for entries already present.
    • Required OAuth scope: repository.Write

    Parameters

    Returns Promise<LfRepositoryClientV2.UserAreaEntry[]>

    Successfully added the entries to the user area. Returns the updated entries.

    • Deletes the collection. Idempotent — deleting a non-existent collection succeeds.
    • Required OAuth scope: repository.Write

    Parameters

    • args: { collectionId: string; repositoryId: string }
      • collectionId: string

        The ID of the personal collection to delete.

      • repositoryId: string

        The requested repository ID.

    Returns Promise<void>

    Successfully deleted the personal collection.

    • Deletes the user area. Application-managed areas cannot be deleted through this surface (404).
    • Required OAuth scope: repository.Write

    Parameters

    • args: { areaId: number; repositoryId: string }
      • areaId: number

        The ID of the user area to delete.

      • repositoryId: string

        The requested repository ID.

    Returns Promise<void>

    Successfully deleted the user area.

    • Returns the requested personal collection with its display name and member entry IDs.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { collectionId: string; repositoryId: string; select?: null | string }
      • collectionId: string

        The ID of the personal collection.

      • repositoryId: string

        The requested repository ID.

      • Optionalselect?: null | string

        (optional) Limits the properties returned in the result.

    Returns Promise<LfRepositoryClientV2.PersonalCollection>

    Successfully returned the requested personal collection.

    • Returns the authenticated user's personal collections, each with its display name and member entry IDs.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { repositoryId: string }
      • repositoryId: string

        The requested repository ID.

    Returns Promise<LfRepositoryClientV2.PersonalCollection[]>

    Successfully returned the user's personal collections.

    • Returns the documents in the authenticated user's Recent Documents list, most-recently-accessed first.
    • The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only and reflects the persisted recent-documents area, so it may briefly lag an app's in-memory recent view.
    • If the user has no recent documents, an empty collection is returned.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { documentLimit?: null | number; repositoryId: string }
      • OptionaldocumentLimit?: null | number

        (optional) An optional maximum number of recent documents to return. When omitted, all entries in the user's recent-documents list are returned. A value of 0 returns an empty list; negative values are rejected.

      • repositoryId: string

        The requested repository ID.

    Returns Promise<LfRepositoryClientV2.UserAreaEntry[]>

    Successfully returned the user's recently accessed documents.

    • Returns the folders in the authenticated user's Recent Folders list, most-recently-accessed first.
    • The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only.
    • If the user has no recent folders, an empty collection is returned.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { repositoryId: string }
      • repositoryId: string

        The requested repository ID.

    Returns Promise<LfRepositoryClientV2.UserAreaEntry[]>

    Successfully returned the user's recently accessed folders.

    • Returns the entries in the authenticated user's Starred list.
    • The list is per-user; if the user has starred nothing, an empty collection is returned.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { repositoryId: string }
      • repositoryId: string

        The requested repository ID.

    Returns Promise<LfRepositoryClientV2.UserAreaEntry[]>

    Successfully returned the user's starred entries.

    • Returns the requested user area. Application-managed areas are not accessible through this surface (404).
    • Required OAuth scope: repository.Read

    Parameters

    • args: { areaId: number; repositoryId: string; select?: null | string }
      • areaId: number

        The ID of the user area.

      • repositoryId: string

        The requested repository ID.

      • Optionalselect?: null | string

        (optional) Limits the properties returned in the result.

    Returns Promise<LfRepositoryClientV2.UserArea>

    Successfully returned the requested user area.

    • Returns the entries contained in the user area.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { areaId: number; repositoryId: string }
      • areaId: number

        The ID of the user area.

      • repositoryId: string

        The requested repository ID.

    Returns Promise<LfRepositoryClientV2.UserAreaEntry[]>

    Successfully returned the user area's entries.

    • Returns the caller's generic user areas. Application-managed areas (Personal Collections, Starred, Recent) are excluded from this surface.
    • Required OAuth scope: repository.Read

    Parameters

    • args: { repositoryId: string }
      • repositoryId: string

        The requested repository ID.

    Returns Promise<LfRepositoryClientV2.UserArea[]>

    Successfully returned the user's user areas.

    • Removes the supplied entries from the collection and returns the updated collection. Idempotent for entries not present.
    • Required OAuth scope: repository.Write

    Parameters

    Returns Promise<LfRepositoryClientV2.PersonalCollection>

    Successfully removed the entries from the personal collection. Returns the updated collection.

    • Removes the supplied entries from the user area and returns the updated entries. Idempotent for entries not present.
    • Required OAuth scope: repository.Write

    Parameters

    Returns Promise<LfRepositoryClientV2.UserAreaEntry[]>

    Successfully removed the entries from the user area. Returns the updated entries.