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

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

        The ID of the personal collection.

      • repositoryId: string

        The requested repository ID.

      • request: EntryIdsRequest

        The entry IDs to add.

    Returns Promise<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

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

        The ID of the user area.

      • repositoryId: string

        The requested repository ID.

      • request: EntryIdsRequest

        The entry IDs to add.

    Returns Promise<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<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<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<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<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<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<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<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<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

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

        The ID of the personal collection.

      • repositoryId: string

        The requested repository ID.

      • request: EntryIdsRequest

        The entry IDs to remove.

    Returns Promise<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

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

        The ID of the user area.

      • repositoryId: string

        The requested repository ID.

      • request: EntryIdsRequest

        The entry IDs to remove.

    Returns Promise<UserAreaEntry[]>

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

    • Adds the supplied entries to the authenticated user's Starred list and returns the updated list.
    • Creates the user's Starred area on first use.
    • Required OAuth scope: repository.Write

    Parameters

    • args: { repositoryId: string; request: StarEntriesRequest }
      • repositoryId: string

        The requested repository ID.

      • request: StarEntriesRequest

        The entry IDs to star. Already-starred entries are left unchanged (idempotent).

    Returns Promise<UserAreaEntry[]>

    Successfully starred the requested entries. Returns the updated list of starred entries.

    • Removes the supplied entries from the authenticated user's Starred list and returns the updated list.
    • Required OAuth scope: repository.Write

    Parameters

    • args: { repositoryId: string; request: StarEntriesRequest }
      • repositoryId: string

        The requested repository ID.

      • request: StarEntriesRequest

        The entry IDs to unstar. Entries that are not starred are ignored (idempotent).

    Returns Promise<UserAreaEntry[]>

    Successfully unstarred the requested entries. Returns the updated list of starred entries.

    • Updates the name, comment, and/or data of the user area. A renamed area cannot take a reserved name.
    • Required OAuth scope: repository.Write

    Parameters

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

        The ID of the user area to update.

      • repositoryId: string

        The requested repository ID.

      • request: UpdateUserAreaRequest

        The properties to change. Null properties are left unchanged.

    Returns Promise<UserArea>

    Successfully updated the user area.