UNPKG

iracing-api

Version:

Javascript client for iracing API

81 lines (80 loc) 4.03 kB
import { API } from './api'; import { GetMemberAwardsParams, GetMemberAwardsResponse, GetMemberChartDataParams, GetMemberChartDataResponse, GetMemberDataParams, GetMemberDataResponse, GetMemberProfileParams, GetMemberProfileResponse, MemberInfo, GetMemberAwardInstancesParams } from '../types'; /** * Provides methods for interacting with member-related endpoints (awards, stats, profile, etc.). */ export declare class MemberAPI extends API { /** * Get the awards earned by a member. * * @param {GetMemberAwardsParams} [params] - Optional parameters to specify the member. * @param {number} [params.customerId] - Customer ID. Defaults to the authenticated member. * * @returns A promise resolving to the member awards data, or undefined on error. */ getMemberAwards: (params?: GetMemberAwardsParams) => Promise<GetMemberAwardsResponse | undefined>; /** * Get chart data (iRating, TT Rating, License/SR) for a member in a specific category. * * @param {GetMemberChartDataParams} params - Parameters for the request. * @param {number} [params.customerId] - Customer ID. Defaults to the authenticated member. * @param {number} params.categoryId - Category ID: 1=Oval, 2=Road, 3=Dirt Oval, 4=Dirt Road. * @param {number} params.chartType - Chart type: 1=iRating, 2=TT Rating, 3=License/SR. * * @returns A promise resolving to the member chart data, or undefined on error. */ getMemberChartData: (params: GetMemberChartDataParams) => Promise<GetMemberChartDataResponse | undefined>; /** * Get basic data for one or more members. * * @param {GetMemberDataParams} params - Parameters for the request. * @param {string[]} params.customerIds - An array of customer IDs (as strings) to retrieve data for. * @param {boolean} [params.includeLicenses=false] - Include license information in the response. * * @returns A promise resolving to the member data, or undefined on error. */ getMemberData: (params: GetMemberDataParams) => Promise<GetMemberDataResponse | undefined>; /** * Get detailed information about the **authenticated** member. * * @returns A promise resolving to the authenticated member's info, or undefined on error. */ getMemberInfo: () => Promise<MemberInfo | undefined>; /** * Get the participation credits earned by the **authenticated** member. * * @returns A promise resolving to an array of participation credit objects, or undefined on error. */ getMemberParticipationCredits: () => Promise<{ weeks: number; custId: number; seasonId: number; licenseGroup: number; participationCredits: number; seriesId: number; seriesName: string; licenseGroupName: string; minWeeks: number; earnedCredits: number; totalCredits: number; }[] | undefined>; /** * Get profile data for a member, including recent awards, activity, licenses, etc. * * @param {GetMemberProfileParams} [params] - Optional parameters to specify the member. * @param {number} [params.customerId] - Customer ID. Defaults to the authenticated member. * * @returns A promise resolving to the member profile data, or undefined on error. */ getMemberProfile: (params?: GetMemberProfileParams) => Promise<GetMemberProfileResponse | undefined>; /** * Get specific award instances for a member. * * @param {GetMemberAwardInstancesParams} params - Parameters for the request. * @param {number} params.awardId - The ID of the award to get instances for. * @param {number} [params.customerId] - The customer ID to get award instances for. Defaults to the authenticated member. * * @returns A promise resolving to the member's award instances, or undefined on error. */ getMemberAwardInstances: (params: GetMemberAwardInstancesParams) => Promise<Record<string, unknown> | undefined>; }