import projectData from './json/projects.json'
const mockProject = (mock: any): void => {
    mock.onGet('/api/v1/projects').reply(() => {
        return [200, { data: projectData }]
    })

    mock.onPost('/api/v1/projects').reply((config: any) => {
        const projectData = JSON.parse(config.data)
        projectData.push(projectData)
        return [200, { message: 'Added successfully', data: projectData }]
    })

    mock.onPut('/api/v1/projects/').reply(() => {
        return [
            200,
            {
                success: true,
                message: 'Project updated successfully.'
            }
        ]
    })

    mock.onDelete('/api/v1/projects/:projectId').reply((config: any) => {
        const projectId = parseInt(config.url.split('/').pop(), 10)
        const index = projectData.findIndex((project) => project.id === projectId)
        if (index !== -1) {
            projectData.splice(index, 1)
            return [200]
        } else {
            return [404, { message: 'Project not found' }]
        }
    })
}

export { mockProject }
