package org.qinan.safetyeval.client.api;

import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
import org.qinan.safetyeval.client.dto.PageResponse;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.QualFilingCommitmentAddCmd;
import org.qinan.safetyeval.client.dto.QualFilingCommitmentModifyCmd;
import org.qinan.safetyeval.client.dto.QualFilingCommitmentPageQuery;

/**
 * 法定代表人承诺书接口定义（Client层）
 *
 * @author safety-eval
 */
public interface QualFilingCommitmentApi {

    SingleResponse<QualFilingCommitmentCO> add(QualFilingCommitmentAddCmd cmd);

    SingleResponse<QualFilingCommitmentCO> get(Long id);

    SingleResponse<QualFilingCommitmentCO> modify(QualFilingCommitmentModifyCmd cmd);

    SingleResponse<Void> delete(Long id);

    PageResponse<QualFilingCommitmentCO> page(QualFilingCommitmentPageQuery query);

    SingleResponse<QualFilingCommitmentCO> saveOrUpdate(QualFilingCommitmentModifyCmd cmd);

    SingleResponse<QualFilingCommitmentCO> uploadSignature(org.qinan.safetyeval.client.dto.QualFilingAttachmentUploadCmd cmd);
}
