interface AudienceReportsRepository {
    modelName: string;
    countDocuments(query?: FilterQuery<AudienceReport>): Promise<number>;
    create(entity: AudienceReport): Promise<Saved<AudienceReport>>;
    createMany(
        entity: AudienceReport[],
        options?: CreateManyOptions,
    ): Promise<string[]>;
    deleteById(id: string): Promise<null | Saved<AudienceReport>>;
    destroyById(id: string): Promise<null | Saved<AudienceReport>>;
    findById(
        id: string,
        fields?: SelectQuery<AudienceReport>[],
        ListQueryOptions?: ListQueryOptions<AudienceReport>,
    ): Promise<null | Saved<AudienceReport>>;
    findOne(
        query?: FilterQuery<AudienceReport>,
        fields?: SelectQuery<AudienceReport>[],
        ListQueryOptions?: ListQueryOptions<AudienceReport>,
    ): Promise<null | Saved<AudienceReport>>;
    getUserReport(userId: string): Promise<null | AudienceReport>;
    list(
        query?: FilterQuery<AudienceReport>,
        fields?: SelectQuery<AudienceReport>[],
        ListQueryOptions?: ListQueryOptions<AudienceReport>,
    ): Promise<Saved<AudienceReport>[]>;
    paginate(
        options?: PaginateQueryOptions<AudienceReport>,
    ): Promise<PaginationResponse<Saved<AudienceReport>>>;
    updateById(
        id: string,
        entity: PartialQuery<AudienceReport>,
        options?: UpdateOptions,
    ): Promise<null | Saved<AudienceReport>>;
    updateMany(
        filter: FilterQuery<AudienceReport>,
        update: PartialQuery<AudienceReport>,
    ): Promise<number>;
    updateOne(
        filter: FilterQuery<AudienceReport>,
        update: PartialQuery<AudienceReport>,
        options?: UpdateOneOptions,
    ): Promise<null | Saved<AudienceReport>>;
    upsertOne(
        filter: FilterQuery<AudienceReport>,
        entity: PartialQuery<AudienceReport>,
    ): Promise<null | string>;
    upsertUserReport(
        hostId: string,
        userData: Record<string, number>,
    ): Promise<void>;
}

Hierarchy (View Summary)

Properties

modelName: string

The name of the model.

Methods

  • Upsert a single record based on certain criteria.

    Parameters

    • filter: FilterQuery<AudienceReport>

      The filter to find the record to update or insert.

    • entity: PartialQuery<AudienceReport>

      The entity to upsert.

    Returns Promise<null | string>

    The return types of this method align with the MongoDB UpdateResult interface

    • Returns models.baseModel.Saved<T>['_id'] if the document did not exist (an upsert took place).
    • Returns null if the document did exist before the upsert operation.