All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cribbstechnologies.clients.mandrill.request.MandrillTemplatesRequest Maven / Gradle / Ivy

package com.cribbstechnologies.clients.mandrill.request;

import java.util.List;

import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException;
import com.cribbstechnologies.clients.mandrill.model.BaseMandrillRequest;
import com.cribbstechnologies.clients.mandrill.model.MandrillRequestWithCode;
import com.cribbstechnologies.clients.mandrill.model.MandrillRequestWithName;
import com.cribbstechnologies.clients.mandrill.model.ServiceMethods;
import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillAnonymousListResponse;
import com.cribbstechnologies.clients.mandrill.model.response.templates.TemplateListResponse;
import com.cribbstechnologies.clients.mandrill.model.response.templates.TemplateResponse;
import com.fasterxml.jackson.core.type.TypeReference;

public class MandrillTemplatesRequest {

    MandrillRESTRequest request;

    TypeReference> templatesListReference = new TypeReference>() {
    };

    public TemplateResponse addTemplate(MandrillRequestWithCode addRequest) throws RequestFailedException {
        return (TemplateResponse) request.postRequest(addRequest, ServiceMethods.Templates.ADD, TemplateResponse.class);
    }

    public TemplateResponse getTemplateInfo(MandrillRequestWithName infoRequest) throws RequestFailedException {
        return (TemplateResponse) request.postRequest(infoRequest, ServiceMethods.Templates.INFO, TemplateResponse.class);
    }

    public TemplateResponse updateTemplate(MandrillRequestWithCode updateRequest) throws RequestFailedException {
        return (TemplateResponse) request.postRequest(updateRequest, ServiceMethods.Templates.UPDATE, TemplateResponse.class);
    }

    public TemplateResponse deleteTemplate(MandrillRequestWithName deleteRequest) throws RequestFailedException {
        return (TemplateResponse) request.postRequest(deleteRequest, ServiceMethods.Templates.DELETE, TemplateResponse.class);
    }

    public TemplateListResponse getTemplates(BaseMandrillRequest listRequest) throws RequestFailedException {
        TemplateListResponse response = new TemplateListResponse();
        response.setList(((BaseMandrillAnonymousListResponse) request.postRequest(listRequest, ServiceMethods.Templates.LIST, TemplateResponse.class,
                templatesListReference)).getList());
        return response;
    }

    public void setRequest(MandrillRESTRequest request) {
        this.request = request;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy