All files / src/Batch PohodaGetStockListBatch.ts

100% Statements 12/12
100% Branches 2/2
100% Functions 4/4
100% Lines 12/12

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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 11318x 18x   18x   18x   18x 18x 18x 18x     18x     18x       2x       1x                                                                                                                                                                                
import { NAME as APPLICATION_NAME } from '../PohodaApplication';
import APohodaListBatch from './APohodaListBatch';
 
export const NAME = `${APPLICATION_NAME}-get-stock-list-batch`;
 
export const LAST_RUN_KEY = 'stock';
 
export enum Filter {
    LAST_CHANGES = 'lastChanges',
    DATE_FROM = 'dateFrom',
    STORE = 'store',
}
 
export default class PohodaGetStockListBatch extends APohodaListBatch<unknown, IOutput, Filter> {
 
    public getName(): string {
        return NAME;
    }
 
    protected getKey(): string {
        return LAST_RUN_KEY;
    }
 
    protected getSchema(): string {
        return 'http://www.stormware.cz/schema/version_2/list_stock.xsd';
    }
 
}
 
export interface IOutput {
    /* eslint-disable @typescript-eslint/naming-convention */
    stockHeader: {
        id: number;
        stockType: string;
        code: string;
        EAN: string;
        isSales: boolean;
        isInternet: boolean;
        purchasingRateVAT: {
            '#text': string;
            value: number;
        };
        sellingRateVAT: {
            '#text': string;
            value: number;
        };
        name: string;
        nameComplement: string;
        unit: string;
        storage: {
            id: number;
            ids: string;
        };
        typePrice: {
            id: number;
            ids: string;
        };
        weightedPurchasePrice: number;
        purchasingPrice: number;
        sellingPrice: number;
        fixation: string;
        limitMin: number;
        mass: number;
        count: number;
        countReceivedOrders: number;
        reservation: number;
        reclamation: number;
        service: number;
        supplier: {
            id: number;
        };
        orderQuantity: number;
        countIssuedOrders: number;
        producer: string;
        classOfStock: string;
        news: boolean;
        clearanceSale: boolean;
        sale: boolean;
        recommended: boolean;
        discount: boolean;
        prepare: boolean;
        controlLimitTaxLiability: boolean;
        markRecord: boolean;
        parameters: {
            parameter: {
                name: string;
                textValue: string;
                integerValue?: number;
                currencyValue?: number;
                booleanValue?: boolean;
                datetimeValue?: boolean;
                listValueRef?: {
                    id: number;
                    ids: string;
                };
                list?: {
                    id: number;
                    ids: string;
                };
            }[];
        };
    };
    stockPriceItem: {
        stockPrice: {
            id: number;
            ids: string;
            price: number;
        }[];
    };
    version: number;
    /* eslint-enable @typescript-eslint/naming-convention */
}