import { ID } from '../../../commonStateTypes/common'; import { AttachmentPayload } from '../../../entity/transaction/payloadTypes/attachmentPayload'; import { UserBasePayload } from '../../../entity/user/userPayload'; import { VendorPayload } from '../../../entity/vendor/vendorPayload'; import { ZeniAPIResponse } from '../../../responsePayload'; import { AllGlobalMerchantBasePayload, VendorReviewViewAllRecommendationsPayload, VendorReviewViewRecommendationsPayload } from '../common/payload/commonTypesPayloadShapes'; import { VendorFirstReviewViewColumnKey, VendorViewLocalData } from './vendorFirstReviewViewState'; export interface VendorTransactionAttachment { attachmentEndpoint: string; attachmentIds: ID[]; vendorId: ID; } export interface VendorTransactionAttachmentPayload { attachment_ids: ID[]; vendor_id: ID; } export interface VendorFirstReviewViewPayload extends VendorPayload { last_updated_vendor_name_by_user: UserBasePayload | null; merge_vendor_name: string | null; recommendations: VendorReviewViewAllRecommendationsPayload; status: ReviewStatusPayload; transaction_attachments?: AttachmentPayload[] | null; } interface FetchVendorFirstReviewViewQuery { limit: number; page_token: string; search_text: string; sort_by: string; sort_order: string; } export interface VendorFirstReviewViewQueryPayload { page_token: string | null; search_text: string | null; sort_by: string | null; sort_order: string | null; view: string | null; } export interface VendorFirstReviewPayload { total_count: number; vendors: VendorFirstReviewViewPayload[]; query?: FetchVendorFirstReviewViewQuery; } export type VendorFirstReviewViewResponse = ZeniAPIResponse; export type ReviewStatusPayload = { code: string; name: string; }; export interface SaveVendorFirstReviewViewPayload extends VendorPayload { last_updated_vendor_name_by_user: UserBasePayload | null; merge_vendor_name: string | null; recommendations: VendorReviewViewRecommendationsPayload[]; status: ReviewStatusPayload; transaction_attachments: AttachmentPayload[]; } interface SaveVendorFirstReviewView { vendors?: SaveVendorFirstReviewViewPayload[]; } export interface SaveVendorFirstReviewViewQuery { view: string; } export interface SaveVendorFirstReviewViewQueryPayload { is_employee: boolean; is_local_contractor: boolean; qbo_id: string | null; recommendations: VendorReviewViewAllRecommendationsPayload; selected_global_merchant: AllGlobalMerchantBasePayload | null; vendor_name: string; } export type SaveVendorFirstReviewResponse = ZeniAPIResponse; /** * helpers */ export declare const toVendorFirstReviewViewColumnKeyPayload: (key: VendorFirstReviewViewColumnKey) => string; export interface VendorWebsiteUrlUpdatePayload { qbo_id: string; vendor_name: string; website_url: string; } export declare const prepareVendorPayload: (vendorDetailLocalData?: VendorViewLocalData) => Partial; export {};