import { SearchType } from '../../types/shiftManagement/searchType';

export interface CopyAndPasteRequest {
    copy: CopyRequest;
    paste: PasteRequest;
}

export interface CopyRequest {
    sourceUserId: number;
    dates?: string[];
    assignedShiftIds?: number[];
}

export interface PasteRequest {
    allUsers?: boolean;
    startDate?: string;
    filters?: UserCalendarFilterRequest;
    excludeTargetUserIds?: number[];
    users?: PasteRequestUser[];
}

export interface PasteRequestUser {
    targetUserId: number;
    startDate: string;
}

export interface UserFilterRequest {
    userIds?: number[];
    search?: string;
    siteId?: number;
    segmentationItemIds?: number[];
    searchType?: SearchType;
}

export interface UserCalendarFilterRequest extends UserFilterRequest {
    startDate: string;
    endDate: string;
}
