UNPKG

idea-toolbox

Version:
94 lines (93 loc) 2.2 kB
import { Resource } from './resource.model'; import { Label } from './label.model'; import { Languages } from './languages.model'; /** * Expressed in months (WEEK is an exception, with value 0). */ export declare enum ProjectPlanDurations { WEEK = 0, MONTH_1 = 1, MONTH_2 = 2, MONTH_3 = 3, MONTH_6 = 6, YEAR_1 = 12, LIFETIME = 9999 } export declare enum ProjectPlatforms { WEB = "web", IOS = "ios", ANDROID = "android", MACOS = "macos", WINDOWS = "windows" } export declare enum ProjectPlanTargets { USERS = "users", TEAMS = "teams" } /** * Table: `idea_projects_plans`. * * Indexes: * - `project-order-index` (LSI, all). */ export declare class ProjectPlan extends Resource { /** * Project / product key. */ project: string; /** * The id of the project plan. */ planId: string; /** * The id of the plan in the stores (aka Product ID). */ storePlanId: string; /** * The price, based on the currency set. */ price: number; /** * The currency ISO code: EUR, USD, etc. */ currency: string; /** * The currency symbol: €, $, etc. */ currencySymbol: string; /** * The string version of the price, with the currency symbol concatenated. */ priceStr: string; /** * The plan duration. */ duration: ProjectPlanDurations; /** * The platforms in which the plan is enabled (and therefore visible). */ platforms: ProjectPlatforms[]; /** * The title of the plan, in various languages. */ title: Label; /** * The description of the plan, in various languages. */ description: Label; /** * Order with which to sort the plan when shown. */ order: number; /** * If true, the plan is an anomaly and it needs to be threaded in special ways. */ special: boolean; /** * The plan targets: USERS, TEAMS. */ target: ProjectPlanTargets; load(x: any, languages?: Languages): void; safeLoad(newData: any, safeData: any, languages?: Languages): void; validate(languages?: Languages): string[]; }