nitro/apps/frontend/src/api/catalog/CatalogPage.ts

59 lines
1.4 KiB
TypeScript

import {ICatalogPage} from "./ICatalogPage";
import {IPageLocalization} from "./IPageLocalization";
import {IPurchasableOffer} from "./IPurchasableOffer";
export class CatalogPage implements ICatalogPage {
public static MODE_NORMAL: number = 0;
private _pageId: number;
private _layoutCode: string;
private _localization: IPageLocalization;
private _offers: IPurchasableOffer[];
private _acceptSeasonCurrencyAsCredits: boolean;
private _mode: number;
constructor(
pageId: number,
layoutCode: string,
localization: IPageLocalization,
offers: IPurchasableOffer[],
acceptSeasonCurrencyAsCredits: boolean,
mode: number = -1
) {
this._pageId = pageId;
this._layoutCode = layoutCode;
this._localization = localization;
this._offers = offers;
this._acceptSeasonCurrencyAsCredits = acceptSeasonCurrencyAsCredits;
for (const offer of offers) offer.page = this;
if (mode === -1) this._mode = CatalogPage.MODE_NORMAL;
else this._mode = mode;
}
public get pageId(): number {
return this._pageId;
}
public get layoutCode(): string {
return this._layoutCode;
}
public get localization(): IPageLocalization {
return this._localization;
}
public get offers(): IPurchasableOffer[] {
return this._offers;
}
public get acceptSeasonCurrencyAsCredits(): boolean {
return this._acceptSeasonCurrencyAsCredits;
}
public get mode(): number {
return this._mode;
}
}