@vertikalx/vtx-backend-client
Version:
GraphQL API generated client for VTX
350 lines (349 loc) • 26.1 kB
TypeScript
import { GraphQLClient } from 'graphql-request';
import { Sdk } from '../generated/graphql';
import { User, AddValuesResponse, UserToken, UserWithToken, Athlete, RegisterAthleteDto, Brand, CreateBrandDto, AWSS3UploadUrl, AWSS3GetUploadDto, CreateTenantInput, Tenant, TenantWithUserLogin, RegisterUserToDomainFromEmailInput, DecodedToken, Sponsorship, CreateSponsorshipDto, SponsorAthleteInvitation, InviteAthletesDto, RegisterUserDto, VerificationCode, FindSponsorAthleteInvitationDto, FindVtxUserDto, City, SportLevel, Sport, EditValueResponse, CreateAthleteCompetitionDto, AthleteCompetition, GetSportEventsDto, SportsEvent, CreateSportEventDto, UpdateSportEventDto, GetAthleteCompetitionsDto, AthleteMembership, MembershipOrganizationReference, CreateMembershipOrganizationDto, CreateAthleteMembershipDto, DeleteSingleValueDto, DeleteSingleValueResponse, FundRaisingCampaign, CreateFundingCampaignDto, AthleteQueryDto, AthleteQueryResponse, CreateStripeAccountDto, StripeSession, StripeAccountReference, StripeCheckoutSession, DonationCheckoutDto, GetDatabaseFileDto, TextDatabaseFile, StripeQueryDto, StripeObject, SetFundingStatusDto, EditPictureResponse, UploadAlbumsPicturesDto, UpdateUserSuspendedStatusDto, EditPictureDto, Album, State, Country, AWSS3DeleteUseTypeKeyDto, AthleteIntegrationReference, AWSS3CallResult, SetCompetitionResultDto, AthleteCompetitionResult, CodeVerificationResponse, resetPasswordDto, DeleteValuesDto, DeleteValuesResponse, ExistValueResponse, Receipt, ReceiptUrl, GetReceiptDto, BudgetData, AddCompetitionBudgetDto, EditCompetitionBudgetDto, EditCampaignBudgetDto, SetCurrentCampaignDto, GetAthleteCampaignsDto, BrowseCampaignsDto, BrowseCampaignsResult, UpdateFundingCampaignDto, EditDisplayIndexDto, MergeEventsResponse, MergeSportsEventsDto, BudgetConcept, BudgetItemUnit, CompetitionDeleteVerificationResponse, RegisterMemberDto, Member, Donation, GetHistoricalScoresDto, HistoricalScore, GetMyHistoricalScoresDto, HistoricalScoresPeriod, GetTransactionDetailsDto, TransactionDetails, AdminUserView, AdminTransactionView, PaginatedTransactions, TransactionQueryDto, PaginatedUsers, UserQueryDto, EventQueryDto, PaginatedSports, SportQueryDto, StripeBalance, DeleteVtxUserDto, DeleteVtxUserResponse, ForceScoreRefreshResponse, Offer, CreateOfferDto, Sponsor, CreateSponsorDto, PaginatedBrands, BrandQueryDto, PaginatedEvents, SponsorQueryDto, PaginatedSponsors, OfferQueryDto, PaginatedOffers, PaginatedOffersWithEligibility, UploadResult, OfferClaim, OfferClaimQueryDto, LeaderboardResponse, UserRank, LeaderboardQueryDto, UserRankQueryDto, DashboardSummary, ScoreHistoryEntry, RankHistoryEntry, RankContext, ActivitiesResponse, ActivityDetail, ComponentSummary, ScoreHistoryQueryDto, RankHistoryQueryDto, RankContextQueryDto, ActivitiesQueryDto, ActivityDetailQueryDto, ComponentSummaryQueryDto, ActivityDatesResponse, Platform, PeriodType, ContentType, PostSortOption, Notification, NotificationListResponse, UnreadCountResponse, NotificationPreference, DeviceTokenType, FollowedAthletesListResponse, IsFollowingResponse, DonationDates, PaginatedDonations, DonationQueryDto, existValueDto, VerifyCodeDto } from '../client';
import { ITypedBackendResponse } from './backend-response';
import { APICallHeaders } from './api-call-headers';
import { VerificationCodeType } from '@vertikalx/common-types';
export declare class VTXBaseAPI {
protected headers: APICallHeaders;
protected backendUrl: string;
protected gqlClient: GraphQLClient;
protected sdk: Sdk;
protected static Logger: {
debug: (str: any) => void;
log: (str: any) => void;
warn: (str: any) => void;
error: (str: any) => void;
};
constructor(backendUrl: string, headers?: APICallHeaders, requestConfig?: {
fetch?: typeof fetch;
});
getHeaders(): APICallHeaders;
setHeader(key: string, value: string): void;
static getVersion(): string;
static isBrowser(): boolean;
protected execute<T>(sdkCall: () => Promise<any>, rootProperty: string, checker: (response: any) => boolean, logPrefix: string): Promise<ITypedBackendResponse<T>>;
findUserByEmail(email: string): Promise<ITypedBackendResponse<User>>;
loginUserFromEmail(loginEmail: string, loginMethod?: string): Promise<ITypedBackendResponse<UserToken>>;
createUserAndLogin(loginEmail: string): Promise<ITypedBackendResponse<UserWithToken>>;
registerMember(dto: RegisterMemberDto): Promise<ITypedBackendResponse<Member>>;
registerAthlete(payload: RegisterAthleteDto): Promise<ITypedBackendResponse<Athlete>>;
findBrandByName(name: string, translations?: boolean): Promise<ITypedBackendResponse<Brand>>;
createBrand(dto: CreateBrandDto): Promise<ITypedBackendResponse<Brand>>;
createSponsorship(dto: CreateSponsorshipDto, _desiredFields?: any): Promise<ITypedBackendResponse<Sponsorship>>;
getS3UploadUrl(dto: AWSS3GetUploadDto): Promise<ITypedBackendResponse<AWSS3UploadUrl>>;
getVtxS3UploadUrl(dto: AWSS3GetUploadDto): Promise<ITypedBackendResponse<AWSS3UploadUrl>>;
refreshToken(currentToken: string, refreshToken: string): Promise<ITypedBackendResponse<UserToken>>;
registerNewDomainTenant(input: CreateTenantInput): Promise<ITypedBackendResponse<Tenant>>;
registerNewDomainTenantWithLogin(input: CreateTenantInput): Promise<ITypedBackendResponse<TenantWithUserLogin>>;
registerUserToDomainFromEmail(input: RegisterUserToDomainFromEmailInput): Promise<ITypedBackendResponse<User>>;
getPublicSponsorships(): Promise<ITypedBackendResponse<Sponsorship[]>>;
getTenantSponsorshipsFromUri(tenantUri: string, token: DecodedToken): Promise<ITypedBackendResponse<Sponsorship[]>>;
isUserSuspended(loginEmail: string): Promise<ITypedBackendResponse<boolean>>;
getTenantSponsorships(tenantId: string): Promise<ITypedBackendResponse<Sponsorship[]>>;
sendAthleteInvitations(input: InviteAthletesDto): Promise<ITypedBackendResponse<SponsorAthleteInvitation[]>>;
registerSponsorUser(input: RegisterUserDto): Promise<ITypedBackendResponse<User>>;
registerAthleteUser(input: RegisterUserDto): Promise<ITypedBackendResponse<User>>;
preRegisterAthleteUser(input: RegisterUserDto): Promise<ITypedBackendResponse<VerificationCode>>;
confirmAthleteUserRegistrationAndLogin(input: VerifyCodeDto): Promise<ITypedBackendResponse<UserWithToken>>;
confirmAthleteUserRegistration(input: VerifyCodeDto): Promise<ITypedBackendResponse<User>>;
findSponsorAthleteInvitation(dto: FindSponsorAthleteInvitationDto): Promise<ITypedBackendResponse<SponsorAthleteInvitation>>;
findVtxUser(dto: FindVtxUserDto): Promise<ITypedBackendResponse<User>>;
findCitiesStartingWith(pattern: string): Promise<ITypedBackendResponse<City[]>>;
findCityById(cityId: string): Promise<ITypedBackendResponse<City>>;
getSportLevels(): Promise<ITypedBackendResponse<SportLevel[]>>;
getSports(): Promise<ITypedBackendResponse<Sport[]>>;
getSportsPaginated(args: {
query: SportQueryDto;
}): Promise<ITypedBackendResponse<PaginatedSports>>;
getStates(): Promise<ITypedBackendResponse<State[]>>;
getCountries(): Promise<ITypedBackendResponse<Country[]>>;
loginUserFromCredentialsVtx(username: string, password: string): Promise<ITypedBackendResponse<UserWithToken>>;
validateUserCredentialsVtx(username: string, password: string): Promise<ITypedBackendResponse<User>>;
findAthleteForUser(loginEmail: string): Promise<ITypedBackendResponse<Athlete>>;
getBrands(): Promise<ITypedBackendResponse<Brand[]>>;
getBrandsPaginated(args: {
query: BrandQueryDto;
}): Promise<ITypedBackendResponse<PaginatedBrands>>;
getAthletes(): Promise<ITypedBackendResponse<Athlete[]>>;
searchAthletes(searchString: string): Promise<ITypedBackendResponse<Athlete[]>>;
getRecommendedAthletes(loginEmail: string): Promise<ITypedBackendResponse<Athlete[]>>;
getSponsorAthletesForTenant(): Promise<ITypedBackendResponse<Athlete[]>>;
getUserImagesFromEmail(loginEmail: string): Promise<ITypedBackendResponse<UserImages>>;
editAboutMe(newValue: string): Promise<ITypedBackendResponse<EditValueResponse>>;
editProfileValue(newValue: string, field: string): Promise<ITypedBackendResponse<EditValueResponse>>;
addAthleteCompetition(dto: CreateAthleteCompetitionDto): Promise<ITypedBackendResponse<AthleteCompetition>>;
getSportsEvents(dto: GetSportEventsDto): Promise<ITypedBackendResponse<SportsEvent[]>>;
getSportsEventsPaginated(dto: {
query: EventQueryDto;
}): Promise<ITypedBackendResponse<PaginatedEvents>>;
createSportsEvent(dto: CreateSportEventDto): Promise<ITypedBackendResponse<SportsEvent>>;
updateSportsEvent(dto: {
input: UpdateSportEventDto;
}): Promise<ITypedBackendResponse<SportsEvent>>;
deleteSportsEvent(dto: {
eventId: string;
}): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
mergeSportsEvents(dto: MergeSportsEventsDto): Promise<ITypedBackendResponse<MergeEventsResponse>>;
getAthleteCompetitions(dto: GetAthleteCompetitionsDto): Promise<ITypedBackendResponse<AthleteCompetition[]>>;
getAthleteMemberships(athleteId: string): Promise<ITypedBackendResponse<AthleteMembership[]>>;
deleteAthleteCompetition(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
createFundingCampaign(dto: CreateFundingCampaignDto): Promise<ITypedBackendResponse<FundRaisingCampaign>>;
createMembershipOrganization(dto: CreateMembershipOrganizationDto): Promise<ITypedBackendResponse<MembershipOrganizationReference>>;
getMembershipOrganizations(): Promise<ITypedBackendResponse<MembershipOrganizationReference[]>>;
createAthleteMembershipAffilation(dto: CreateAthleteMembershipDto): Promise<ITypedBackendResponse<AthleteMembership>>;
deleteMembershipAffiliation(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
queryAthleteFundingCampaigns(dto: AthleteQueryDto): Promise<ITypedBackendResponse<AthleteQueryResponse>>;
createStripeAccount(dto: CreateStripeAccountDto): Promise<ITypedBackendResponse<StripeAccountReference>>;
createAthleteStripeSession(): Promise<ITypedBackendResponse<StripeSession>>;
createStripeCheckoutSession(dto: DonationCheckoutDto, _desiredFields?: any): Promise<ITypedBackendResponse<StripeCheckoutSession>>;
createStripeLoginLink(): Promise<ITypedBackendResponse<string>>;
createStripeAccountLink(): Promise<ITypedBackendResponse<string>>;
getStripeBalance(): Promise<ITypedBackendResponse<StripeBalance>>;
getDatabaseTextFile(dto: GetDatabaseFileDto): Promise<ITypedBackendResponse<TextDatabaseFile>>;
getReceiptUrl(dto: GetReceiptDto): Promise<ITypedBackendResponse<ReceiptUrl>>;
stripeQuery(dto: StripeQueryDto): Promise<ITypedBackendResponse<StripeObject>>;
setFundingStatus(dto: SetFundingStatusDto, _desiredFields?: any): Promise<ITypedBackendResponse<FundRaisingCampaign>>;
findAthleteForIdPublic(id: string): Promise<ITypedBackendResponse<Athlete>>;
editPicture(newPicDto: EditPictureDto): Promise<ITypedBackendResponse<EditPictureResponse>>;
addAlbumsPictures(dto: UploadAlbumsPicturesDto): Promise<ITypedBackendResponse<AddValuesResponse>>;
editAlbumsPictures(dto: UploadAlbumsPicturesDto): Promise<ITypedBackendResponse<Album>>;
createAthleteAlbum(dto: UploadAlbumsPicturesDto): Promise<ITypedBackendResponse<Album>>;
deleteFundingCampaign(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
deleteFundingCampaigns(dto: DeleteValuesDto): Promise<ITypedBackendResponse<DeleteValuesResponse>>;
updateFundingCampaign(dto: UpdateFundingCampaignDto): Promise<ITypedBackendResponse<FundRaisingCampaign>>;
setCurrentCampaign(dto: SetCurrentCampaignDto): Promise<ITypedBackendResponse<FundRaisingCampaign>>;
deleteAthleteAlbum(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
getAthleteAlbums(): Promise<ITypedBackendResponse<Album[]>>;
reorderAlbums(dto: EditDisplayIndexDto): Promise<ITypedBackendResponse<Album[]>>;
getPublicAthleteAlbums(athleteId: string): Promise<ITypedBackendResponse<Album[]>>;
getAthleteAlbumsById(albumId: string): Promise<ITypedBackendResponse<Album>>;
getAndSetAlbumById(albumId: string): Promise<ITypedBackendResponse<Album>>;
queryAthletesWithFilters(dto: AthleteQueryDto): Promise<ITypedBackendResponse<AthleteQueryResponse>>;
getAthleteIntegrationsByAthlete(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>;
deleteAthleteIntegration(): Promise<ITypedBackendResponse<boolean>>;
getAthleteStravaIntegration(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>;
getAthleteInstagramIntegration(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>;
getReceipt(dto: GetReceiptDto): Promise<ITypedBackendResponse<Receipt>>;
getAthleteIntegrations(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>;
getAthleteCampaigns(dto: GetAthleteCampaignsDto): Promise<ITypedBackendResponse<FundRaisingCampaign[]>>;
browseCampaigns(dto: BrowseCampaignsDto): Promise<ITypedBackendResponse<BrowseCampaignsResult>>;
updateAthleteIntegration(type: string): Promise<ITypedBackendResponse<boolean>>;
deleteUploadedTypeKeyFile(dto: AWSS3DeleteUseTypeKeyDto): Promise<ITypedBackendResponse<AWSS3CallResult>>;
saveAthleteCompetitionResult(dto: SetCompetitionResultDto): Promise<ITypedBackendResponse<AthleteCompetitionResult>>;
updateAthleteScores(): Promise<ITypedBackendResponse<Athlete>>;
updateAthleteCompetitionScores(): Promise<ITypedBackendResponse<Athlete>>;
forceRefreshAthleteScores(athleteIds: string[], options?: {
rebuildHistorical?: boolean;
historicalDays?: number;
}): Promise<ITypedBackendResponse<ForceScoreRefreshResponse>>;
checkScoreRefreshCapabilities(input: {
athleteIds: string[];
}): Promise<ITypedBackendResponse<any>>;
createResetPasswordCode(email: string): Promise<ITypedBackendResponse<EditValueResponse>>;
getResetVerificationCode(id: string): Promise<ITypedBackendResponse<VerificationCodeType>>;
verifyCode(input: VerifyCodeDto): Promise<ITypedBackendResponse<CodeVerificationResponse>>;
resetUserPassword(input: resetPasswordDto): Promise<ITypedBackendResponse<EditValueResponse>>;
deleteAlbumFotos(dto: DeleteValuesDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
screenNameAviability(dto: existValueDto): Promise<ITypedBackendResponse<ExistValueResponse>>;
getBudgetsByAthlete(): Promise<ITypedBackendResponse<BudgetData>>;
deleteCompetitionBudget(competitionId: string): Promise<ITypedBackendResponse<Boolean>>;
addCompetitionBudget(input: AddCompetitionBudgetDto): Promise<ITypedBackendResponse<Boolean>>;
editCompetitionBudget(input: EditCompetitionBudgetDto): Promise<ITypedBackendResponse<Boolean>>;
editCampaignBudget(input: EditCampaignBudgetDto): Promise<ITypedBackendResponse<Boolean>>;
editCompetitionBudgetForCampaign(input: EditCampaignBudgetDto): Promise<ITypedBackendResponse<Boolean>>;
getDonationsByAthlete(): Promise<ITypedBackendResponse<Receipt[]>>;
getDonationsByMember(): Promise<ITypedBackendResponse<Donation[]>>;
findMemberForUser(loginEmail: string): Promise<ITypedBackendResponse<Member>>;
getBudgetConcepts(): Promise<ITypedBackendResponse<BudgetConcept[]>>;
getBudgetItemsUnits(): Promise<ITypedBackendResponse<BudgetItemUnit[]>>;
verifyAthleteCompetitionLinkedForDelete(dto: existValueDto): Promise<ITypedBackendResponse<CompetitionDeleteVerificationResponse>>;
forceDeleteAthleteCompetition(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>;
registerUser(input: RegisterUserDto): Promise<ITypedBackendResponse<User>>;
getDonationsToAthlete(athleteId: string): Promise<ITypedBackendResponse<Donation[]>>;
getDonationsToMe(): Promise<ITypedBackendResponse<Donation[]>>;
getDonationDatesForCalendar(campaignId?: string): Promise<ITypedBackendResponse<DonationDates>>;
getDonationsPaginated(query?: DonationQueryDto): Promise<ITypedBackendResponse<PaginatedDonations>>;
getAthleteHistoricalScores(dto: GetHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScore[]>>;
getMyHistoricalScores(dto: GetMyHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScore[]>>;
getAthleteHistoricalScoresPeriod(dto: GetHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScoresPeriod>>;
getMyHistoricalScoresPeriod(dto: GetMyHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScoresPeriod>>;
getTransactionDetails(dto: GetTransactionDetailsDto): Promise<ITypedBackendResponse<TransactionDetails>>;
getAllUsers(): Promise<ITypedBackendResponse<AdminUserView[]>>;
getAllTransactions(): Promise<ITypedBackendResponse<AdminTransactionView[]>>;
getTransactionsPaginated(args?: {
query?: TransactionQueryDto;
}): Promise<ITypedBackendResponse<PaginatedTransactions>>;
getUsersPaginated(args: {
query: UserQueryDto;
}): Promise<ITypedBackendResponse<PaginatedUsers>>;
updateUserSuspendedStatus(dto: UpdateUserSuspendedStatusDto): Promise<ITypedBackendResponse<EditValueResponse>>;
deleteVtxUser(dto: DeleteVtxUserDto): Promise<ITypedBackendResponse<DeleteVtxUserResponse>>;
deleteMyAccount(): Promise<ITypedBackendResponse<DeleteVtxUserResponse>>;
createOffer(dto: CreateOfferDto): Promise<ITypedBackendResponse<Offer>>;
getOffers(): Promise<ITypedBackendResponse<Offer[]>>;
getOffersPaginated(args: {
query: OfferQueryDto;
}): Promise<ITypedBackendResponse<PaginatedOffers>>;
getOffersWithEligibility(args: {
query?: OfferQueryDto;
}): Promise<ITypedBackendResponse<PaginatedOffersWithEligibility>>;
getOfferById(id: string): Promise<ITypedBackendResponse<Offer>>;
getOffersForAthlete(athleteId: string | null): Promise<ITypedBackendResponse<Offer[]>>;
updateOffer(id: string, dto: CreateOfferDto): Promise<ITypedBackendResponse<Offer>>;
deleteOffer(id: string): Promise<ITypedBackendResponse<boolean>>;
setOfferStatus(id: string, status: string): Promise<ITypedBackendResponse<Offer>>;
activateOffer(id: string): Promise<ITypedBackendResponse<Offer>>;
deactivateOffer(id: string): Promise<ITypedBackendResponse<Offer>>;
uploadCouponCodes(offerId: string, csvContent: string): Promise<ITypedBackendResponse<UploadResult>>;
claimOffer(offerId: string, athleteId: string): Promise<ITypedBackendResponse<OfferClaim>>;
getMyOfferClaims(args: {
athleteId: string;
query?: OfferClaimQueryDto;
}): Promise<ITypedBackendResponse<OfferClaim[]>>;
removeOfferClaim(claimId: string, athleteId: string): Promise<ITypedBackendResponse<boolean>>;
updateBrand(id: string, dto: CreateBrandDto): Promise<ITypedBackendResponse<Brand>>;
deleteBrand(id: string): Promise<ITypedBackendResponse<boolean>>;
linkBrandToSponsor(brandId: string, sponsorId: string): Promise<ITypedBackendResponse<Brand>>;
unlinkBrandFromSponsor(brandId: string, sponsorId: string): Promise<ITypedBackendResponse<Brand>>;
getSponsors(): Promise<ITypedBackendResponse<Sponsor[]>>;
getSponsorsPaginated(args: {
query: SponsorQueryDto;
}): Promise<ITypedBackendResponse<PaginatedSponsors>>;
createSponsor(dto: CreateSponsorDto): Promise<ITypedBackendResponse<Sponsor>>;
updateSponsor(id: string, dto: CreateSponsorDto): Promise<ITypedBackendResponse<Sponsor>>;
deleteSponsor(id: string): Promise<ITypedBackendResponse<boolean>>;
getLeaderboard(args?: {
input?: LeaderboardQueryDto;
}): Promise<ITypedBackendResponse<LeaderboardResponse>>;
getUserRank(args: {
input: UserRankQueryDto;
}): Promise<ITypedBackendResponse<UserRank>>;
rebuildLeaderboardCache(): Promise<ITypedBackendResponse<boolean>>;
getAthleteDashboard(athleteId: string): Promise<ITypedBackendResponse<DashboardSummary>>;
getAthleteScoreHistory(args: {
input: ScoreHistoryQueryDto;
}): Promise<ITypedBackendResponse<ScoreHistoryEntry[]>>;
getAthleteRankHistory(args: {
input: RankHistoryQueryDto;
}): Promise<ITypedBackendResponse<RankHistoryEntry[]>>;
getAthleteRankContext(args: {
input: RankContextQueryDto;
}): Promise<ITypedBackendResponse<RankContext>>;
getAthleteActivities(args: {
input: ActivitiesQueryDto;
}): Promise<ITypedBackendResponse<ActivitiesResponse>>;
getAthleteActivityDetail(args: {
input: ActivityDetailQueryDto;
}): Promise<ITypedBackendResponse<ActivityDetail>>;
getAthleteComponentSummary(args: {
input: ComponentSummaryQueryDto;
}): Promise<ITypedBackendResponse<ComponentSummary>>;
getSocialAggregates(args: {
input: {
athleteId: string;
platform: Platform;
startDate: string;
endDate: string;
periodType?: PeriodType;
};
}): Promise<ITypedBackendResponse<any[]>>;
getPostsWithComparison(args: {
input: {
athleteId: string;
platform: Platform;
sortBy?: PostSortOption;
contentType?: ContentType;
limit?: number;
offset?: number;
comparisonWindowDays?: number;
};
}): Promise<ITypedBackendResponse<any>>;
getAthleteActivityDates(athleteId: string): Promise<ITypedBackendResponse<ActivityDatesResponse>>;
getMyNotifications(options?: {
limit?: number;
offset?: number;
includeRead?: boolean;
includeDismissed?: boolean;
types?: string[];
}): Promise<ITypedBackendResponse<NotificationListResponse>>;
getNotificationUnreadCount(): Promise<ITypedBackendResponse<UnreadCountResponse>>;
getMyNotificationPreferences(): Promise<ITypedBackendResponse<NotificationPreference>>;
markNotificationAsRead(notificationId: string): Promise<ITypedBackendResponse<Notification>>;
markAllNotificationsAsRead(): Promise<ITypedBackendResponse<number>>;
dismissNotification(notificationId: string): Promise<ITypedBackendResponse<boolean>>;
registerDeviceToken(token: string, platform: string, deviceName?: string): Promise<ITypedBackendResponse<DeviceTokenType>>;
unregisterDeviceToken(token: string): Promise<ITypedBackendResponse<boolean>>;
updateNotificationPreferences(input: {
emailEnabled?: boolean;
inAppEnabled?: boolean;
pushEnabled?: boolean;
mutedTypes?: string[];
}): Promise<ITypedBackendResponse<NotificationPreference>>;
followAthlete(athleteId: string): Promise<ITypedBackendResponse<boolean>>;
unfollowAthlete(athleteId: string): Promise<ITypedBackendResponse<boolean>>;
isFollowingAthlete(athleteId: string): Promise<ITypedBackendResponse<IsFollowingResponse>>;
getMyFollowedAthletes(options?: {
limit?: number;
offset?: number;
}): Promise<ITypedBackendResponse<FollowedAthletesListResponse>>;
deleteOnboardingAthlete(): Promise<ITypedBackendResponse<{
success: boolean;
athleteId?: string;
error?: string;
}>>;
updateOnboardingProgress(step: number, complete?: boolean): Promise<ITypedBackendResponse<{
success: boolean;
step?: number;
complete?: boolean;
error?: string;
}>>;
getOnboardingProgress(): Promise<ITypedBackendResponse<{
success: boolean;
step?: number;
complete?: boolean;
athleteId?: string;
error?: string;
}>>;
getPublicAthleteIntegrationStatus(athleteId: string): Promise<ITypedBackendResponse<any>>;
getEmailCampaigns(args: {
status: string;
search?: string;
page?: number;
limit?: number;
}): Promise<ITypedBackendResponse<any>>;
createEmailCampaign(input: any): Promise<ITypedBackendResponse<any>>;
updateEmailCampaign(id: string, input: any): Promise<ITypedBackendResponse<any>>;
deleteEmailCampaign(id: string): Promise<ITypedBackendResponse<boolean>>;
cloneEmailCampaign(id: string): Promise<ITypedBackendResponse<any>>;
sendTestEmail(campaignId: string, email: string): Promise<ITypedBackendResponse<any>>;
sendBulkEmail(campaignId: string): Promise<ITypedBackendResponse<any>>;
scheduleEmailCampaign(campaignId: string, scheduledFor: string): Promise<ITypedBackendResponse<any>>;
cancelScheduledEmail(campaignId: string): Promise<ITypedBackendResponse<any>>;
getAudiencePreview(filters: any): Promise<ITypedBackendResponse<any>>;
getSendGridTemplates(): Promise<ITypedBackendResponse<any[]>>;
getSendGridTemplatePreview(templateId: string): Promise<ITypedBackendResponse<string>>;
getEmailSegments(): Promise<ITypedBackendResponse<any[]>>;
createEmailSegment(input: any): Promise<ITypedBackendResponse<any>>;
updateEmailSegment(id: string, input: any): Promise<ITypedBackendResponse<any>>;
deleteEmailSegment(id: string): Promise<ITypedBackendResponse<boolean>>;
getAiCoachThread(): Promise<ITypedBackendResponse<any>>;
getAiCoachThreadHistory(limit?: number): Promise<ITypedBackendResponse<any[]>>;
getAiCoachThreadMessages(threadId: string): Promise<ITypedBackendResponse<any[]>>;
getAiCoachConfig(): Promise<ITypedBackendResponse<any>>;
sendAiCoachMessage(input: {
threadId: string;
message: string;
}): Promise<ITypedBackendResponse<any>>;
updateAiCoachConfig(input: {
enabled?: boolean;
nudgesEnabled?: boolean;
preferredFocus?: string;
}): Promise<ITypedBackendResponse<any>>;
getAiCoachNudges(input?: {
unreadOnly?: boolean;
}): Promise<ITypedBackendResponse<any>>;
getAiCoachUnreadNudgeCount(): Promise<ITypedBackendResponse<any>>;
markAiCoachNudgeRead(nudgeId: string): Promise<ITypedBackendResponse<any>>;
}
import { UserImages } from '../client';