You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spa_instat_tv/src/requests/getSubscriptions.tsx

83 lines
1.4 KiB

import {
currencySymbols,
DATA_URL,
PROCEDURES,
} from 'config'
import { callApi } from 'helpers'
const proc = PROCEDURES.get_match_subscriptions
export type Subscription = {
id: number,
lexic: number,
lexic2: number,
lexic3: number,
min_price?: number,
packages: PackagesGroup,
}
export type Subscriptions = Array<Subscription>
export type SubscriptionsData = {
data?: Subscriptions,
season: Season,
}
type PackagesGroup = {
month: Packages,
pay_per_view: SubscriptionResponse,
year: Packages,
}
export type Packages = {
all: SubscriptionResponse,
team1: SubscriptionResponse,
team2: SubscriptionResponse,
team_away: SubscriptionResponse,
team_home: SubscriptionResponse,
}
export type SubscriptionResponse = {
currency_id: number,
currency_iso: keyof typeof currencySymbols,
id: number,
price: number,
sub: Sub,
}
type Sub = {
active_from: string,
active_to: string,
currency_id: number,
id: number,
match_id?: number,
option: number,
price: number,
sport?: number,
team_id?: number,
}
export type Season = {
id: number,
name: string,
}
export const getSubscriptions = async (
sport: number,
matchId: number,
): Promise<SubscriptionsData> => {
const config = {
body: {
params: {
_p_match_id: matchId,
_p_sport: sport,
},
proc,
},
}
return callApi({
config,
url: DATA_URL,
})
}