interface AudienceSurveySubmissionRepository {
    modelName: string;
    countDocuments(
        query?: FilterQuery<AudienceSurveySubmission>,
    ): Promise<number>;
    countSubmissions(
        hostId: string,
        options?: SubmissionCountOptions,
    ): Promise<number>;
    create(
        entity: AudienceSurveySubmission,
    ): Promise<Saved<AudienceSurveySubmission>>;
    createMany(
        entity: AudienceSurveySubmission[],
        options?: CreateManyOptions,
    ): Promise<string[]>;
    deleteById(id: string): Promise<null | Saved<AudienceSurveySubmission>>;
    destroyById(id: string): Promise<null | Saved<AudienceSurveySubmission>>;
    findById(
        id: string,
        fields?: SelectQuery<AudienceSurveySubmission>[],
        ListQueryOptions?: ListQueryOptions<AudienceSurveySubmission>,
    ): Promise<null | Saved<AudienceSurveySubmission>>;
    findOne(
        query?: FilterQuery<AudienceSurveySubmission>,
        fields?: SelectQuery<AudienceSurveySubmission>[],
        ListQueryOptions?: ListQueryOptions<AudienceSurveySubmission>,
    ): Promise<null | Saved<AudienceSurveySubmission>>;
    getTopMultipleChoiceAnswers(
        hostId: string,
        answer:
            | "email"
            | "firstName"
            | "lastName"
            | "gender"
            | "address"
            | "age"
            | "preferredDestinations"
            | "otherDestinations"
            | "preferredTimesOfYear"
            | "preferredTripLength"
            | "preferredActivities"
            | "budget"
            | "preferredNumberOfTrips"
            | "occupation"
            | "preferredExperience"
            | "futureTripOptin"
            | "phone"
            | "travelerJoinDecisions",
        limit?: number,
    ): Promise<SurveyAnswerResult[]>;
    getTopSingleChoiceAnswers(
        hostId: string,
        answer:
            | "email"
            | "firstName"
            | "lastName"
            | "gender"
            | "address"
            | "age"
            | "preferredDestinations"
            | "otherDestinations"
            | "preferredTimesOfYear"
            | "preferredTripLength"
            | "preferredActivities"
            | "budget"
            | "preferredNumberOfTrips"
            | "occupation"
            | "preferredExperience"
            | "futureTripOptin"
            | "phone"
            | "travelerJoinDecisions",
        limit?: number,
    ): Promise<SurveyAnswerResult[]>;
    list(
        query?: FilterQuery<AudienceSurveySubmission>,
        fields?: SelectQuery<AudienceSurveySubmission>[],
        ListQueryOptions?: ListQueryOptions<AudienceSurveySubmission>,
    ): Promise<Saved<AudienceSurveySubmission>[]>;
    paginate(
        options?: PaginateQueryOptions<AudienceSurveySubmission>,
    ): Promise<PaginationResponse<Saved<AudienceSurveySubmission>>>;
    setIsAggregatedFlag(ids: string[]): Promise<number>;
    updateById(
        id: string,
        entity: PartialQuery<AudienceSurveySubmission>,
        options?: UpdateOptions,
    ): Promise<null | Saved<AudienceSurveySubmission>>;
    updateMany(
        filter: FilterQuery<AudienceSurveySubmission>,
        update: PartialQuery<AudienceSurveySubmission>,
    ): Promise<number>;
    updateOne(
        filter: FilterQuery<AudienceSurveySubmission>,
        update: PartialQuery<AudienceSurveySubmission>,
        options?: UpdateOneOptions,
    ): Promise<null | Saved<AudienceSurveySubmission>>;
    upsertOne(
        filter: FilterQuery<AudienceSurveySubmission>,
        entity: PartialQuery<AudienceSurveySubmission>,
    ): Promise<null | string>;
}

Hierarchy (View Summary)

  • BaseRepo<AudienceSurveySubmission>
    • AudienceSurveySubmissionRepository

Properties

modelName: string

The name of the model.

Methods

  • Aggregate the answers for the specified multiple choice questions for the specified host. For example, graph the data for the 'Where should we go' question.

    Ties are broken by alphabetical order.

    Parameters

    • hostId: string

      the specified host's Id.

    • answer:
          | "email"
          | "firstName"
          | "lastName"
          | "gender"
          | "address"
          | "age"
          | "preferredDestinations"
          | "otherDestinations"
          | "preferredTimesOfYear"
          | "preferredTripLength"
          | "preferredActivities"
          | "budget"
          | "preferredNumberOfTrips"
          | "occupation"
          | "preferredExperience"
          | "futureTripOptin"
          | "phone"
          | "travelerJoinDecisions"
    • Optionallimit: number

    Returns Promise<SurveyAnswerResult[]>

  • Aggregate the answers for the specified single choice question for the specified host.. For example, graph data for the 'Whats your gender?' question.

    Ties are broken by alphabetical order.

    Parameters

    • hostId: string
    • answer:
          | "email"
          | "firstName"
          | "lastName"
          | "gender"
          | "address"
          | "age"
          | "preferredDestinations"
          | "otherDestinations"
          | "preferredTimesOfYear"
          | "preferredTripLength"
          | "preferredActivities"
          | "budget"
          | "preferredNumberOfTrips"
          | "occupation"
          | "preferredExperience"
          | "futureTripOptin"
          | "phone"
          | "travelerJoinDecisions"
    • Optionallimit: number

    Returns Promise<SurveyAnswerResult[]>