All files / apps/spacetraders/src/models contract.ts

0% Statements 0/32
0% Branches 0/1
0% Functions 0/1
0% Lines 0/32

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
import type { Faction } from "$models/faction";
import type { Trade } from "$models/trade";
import type { Waypoint } from "$models/waypoint";

export interface ContractTermsPayment {
    onAccepted: number;
    onFulfilled: number;
}

export interface ContractTermsDeliver {
    trade: Trade;
    destination: Partial<Waypoint>;
    unitsRequired: number;
    unitsFulfilled: number;
}

export interface ContractTerms {
    deadline: Date;
    payment: ContractTermsPayment;
    deliver: ContractTermsDeliver[];
}

export interface Contract {
    id: string;
    faction: Faction;
    type: string;
    terms: ContractTerms;
    accepted: boolean;
    fulfilled: boolean;
    expiration: Date;
    deadlineToAccept: Date;
}