Vana SDK - v2.2.2
    Preparing search index...

    Interface Repository<TEntity, TKey>

    Defines a repository pattern for data access abstraction.

    Provides CRUD operations with filtering, sorting, and pagination for consistent data access across different storage backends.

    interface Repository<TEntity, TKey = string | number> {
        findById(id: TKey): Promise<TEntity | undefined>;
        findAll(
            options?: {
                limit?: number;
                offset?: number;
                filter?: Partial<TEntity>;
                sort?: { field: keyof TEntity; direction: "asc" | "desc" }[];
            },
        ): Promise<{ entities: TEntity[]; total: number; hasMore: boolean }>;
        create(entity: Omit<TEntity, "id">): Promise<TEntity>;
        update(id: TKey, updates: Partial<TEntity>): Promise<TEntity>;
        delete(id: TKey): Promise<boolean>;
        exists(id: TKey): Promise<boolean>;
    }

    Type Parameters

    • TEntity

      Type of entities managed by the repository

    • TKey = string | number

      Type of entity identifiers

    Index

    Methods

    • Find all entities

      Parameters

      • Optionaloptions: {
            limit?: number;
            offset?: number;
            filter?: Partial<TEntity>;
            sort?: { field: keyof TEntity; direction: "asc" | "desc" }[];
        }

      Returns Promise<{ entities: TEntity[]; total: number; hasMore: boolean }>