All files / src HeurekaFeedApplication.ts

65.38% Statements 17/26
33.33% Branches 2/6
28.57% Functions 2/7
65.38% Lines 17/26

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  2x 2x 2x 2x 2x 2x     2x   2x 2x 2x 2x   2x     4x                                                                         2x 2x         2x       2x        
import { ApplicationInstall } from '@orchesty/nodejs-sdk/dist/lib/Application/Database/ApplicationInstall';
import Field from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/Field';
import FieldType from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/FieldType';
import Form from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/Form';
import FormStack from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/FormStack';
import { ABasicApplication } from '@orchesty/nodejs-sdk/dist/lib/Authorization/Type/Basic/ABasicApplication';
import RequestDto from '@orchesty/nodejs-sdk/dist/lib/Transport/Curl/RequestDto';
import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
import AProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/AProcessDto';
import { CommonHeaders } from '@orchesty/nodejs-sdk/dist/lib/Utils/Headers';
 
export const NAME = 'heureka-feed';
export const SETTINGS = 'settings-form';
export const PRODUCT_FEED_URL = 'product-feed';
export const AVAILABILITY_FEED_URL = 'availability-feed';
 
export default class HeurekaFeedApplication extends ABasicApplication {
 
    public getName(): string {
        return NAME;
    }
 
    public getPublicName(): string {
        return 'Heureka feed';
    }
 
    public getDescription(): string {
        return 'Heureka is the largest shopping portal and price comparison site on the Czech Internet';
    }
 
    public getLogo(): string {
        return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAACuCAYAAACvDDbuAAAEtmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjE3NCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjE3NCIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICB0aWZmOkltYWdlV2lkdGg9IjE3NCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTc0IgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSIzMDAvMSIKICAgdGlmZjpZUmVzb2x1dGlvbj0iMzAwLzEiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIw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';
    }
 
    public getFormStack(): FormStack {
        const form = new Form(SETTINGS, 'Feed settings')
            .addField(new Field(FieldType.URL, PRODUCT_FEED_URL, 'Product feed url', undefined, true))
            .addField(new Field(FieldType.URL, AVAILABILITY_FEED_URL, 'Availability feed url', undefined, true));
 
        return new FormStack().addForm(form);
    }
 
    public isAuthorized(applicationInstall: ApplicationInstall): boolean {
        const productFeed = applicationInstall.getSettings()[SETTINGS][PRODUCT_FEED_URL];
        const availabilityFeed = applicationInstall.getSettings()[SETTINGS][AVAILABILITY_FEED_URL];
 
        return productFeed && availabilityFeed;
    }
 
    public getRequestDto(
        dto: AProcessDto,
        applicationInstall: ApplicationInstall,
        method: HttpMethods,
        url?: string,
        data?: unknown,
    ): RequestDto {
        const request = new RequestDto(url ?? '', method, dto);
        request.setHeaders({
            [CommonHeaders.CONTENT_TYPE]: 'application/xml',
            [CommonHeaders.ACCEPT]: 'application/xml',
        });
 
        Iif (data) {
            request.setJsonBody(data);
        }
 
        return request;
    }
 
}