All files / src/Batch MailstepGetCarrierListBatch.ts

100% Statements 35/35
100% Branches 6/6
100% Functions 5/5
100% Lines 35/35

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 7522x 22x   22x   22x   22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x     22x 22x 22x 22x 22x 22x 22x 22x     22x 22x 22x 22x 22x 22x 22x     22x                 22x       1x                                        
import { NAME as APPLICATION_NAME } from '../MailstepApplication';
import AMailstepListBatch from './AMailstepListBatch';
 
export const NAME = `${APPLICATION_NAME}-get-carrier-list-batch`;
 
export const LAST_RUN_KEY = 'carrier/list';
 
export enum Select {
    ID = 'id',
    NAME = 'name', // eslint-disable-line @typescript-eslint/no-shadow
    CODE = 'code',
    CREATED_AT = 'createdAt',
    SERVICES = 'services',
    COUNTRIES_OF_OPERATION = 'countriesOfOperation',
    LOCKED_FOR_IMPORT = 'lockedForImport',
    IMAGE_UPLOADED_AT = 'imageUploadedAt',
    EXCLUDED_EXPEDITION_ADDRESS_VALIDATIONS = 'excludedExpeditionAddressValidations',
    COD = 'cod',
    VALIDATE_PICKUP_PLACE_COUNTRY = 'validatePickupPlaceCountry',
    CHANGED_AT = 'changedAt',
}
 
export enum Filter {
    ID = 'id',
    NAME = 'name', // eslint-disable-line @typescript-eslint/no-shadow
    CODE = 'code',
    SERVICES = 'services',
    PICKUP_PLACES = 'pickupPlaces',
    ORGANISATIONS = 'organisations',
    ORGANISATIONS_NAME = 'organisations.name',
}
 
export enum Sorter {
    NAME = 'name', // eslint-disable-line @typescript-eslint/no-shadow
    CODE = 'code',
    CREATED_AT = 'createdAt',
    IMAGE_UPLOADED_AT = 'imageUploadedAt',
    COD = 'cod',
    CHANGED_AT = 'changedAt',
}
 
export default class MailstepGetCarrierListBatch extends AMailstepListBatch<
    unknown,
    IOutput,
    Select,
    Filter,
    Sorter
> {
 
    public getName(): string {
        return NAME;
    }
 
    protected getUrl(): string {
        return LAST_RUN_KEY;
    }
 
}
 
export interface IOutput {
    id: string;
    name: string;
    code: number;
    createdAt: string;
    services: string[];
    countriesOfOperation: string[];
    lockedForImport: boolean;
    imageUploadedAt: string;
    excludedExpeditionAddressValidations: string[];
    cod: boolean;
    validatePickupPlaceCountry: boolean;
    changedAt: string;
    imageUrl: string;
}