{"ast":null,"code":"import axios from 'axios';\nconst api = axios.create({\n  baseURL: 'http://localhost:3001/api',\n  timeout: 30000\n});\napi.interceptors.request.use(config => {\n  const token = localStorage.getItem('token');\n  if (token) {\n    config.headers.Authorization = `Bearer ${token}`;\n  }\n  return config;\n}, error => Promise.reject(error));\napi.interceptors.response.use(response => response, error => {\n  var _error$response;\n  if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 401) {\n    localStorage.removeItem('token');\n    localStorage.removeItem('user');\n    window.location.href = '/login';\n  }\n  return Promise.reject(error);\n});\nexport const authAPI = {\n  login: data => api.post('/auth/login', data),\n  register: data => api.post('/auth/register', data),\n  getMe: () => api.get('/auth/me'),\n  changePassword: data => api.put('/auth/change-password', data)\n};\nexport const usersAPI = {\n  getAll: params => api.get('/users', {\n    params\n  }),\n  getOne: id => api.get(`/users/${id}`),\n  create: data => api.post('/users', data),\n  update: (id, data) => api.put(`/users/${id}`, data),\n  delete: id => api.delete(`/users/${id}`)\n};\nexport const projectsAPI = {\n  getAll: params => api.get('/projects', {\n    params\n  }),\n  getOne: id => api.get(`/projects/${id}`),\n  create: data => api.post('/projects', data),\n  update: (id, data) => api.put(`/projects/${id}`, data),\n  delete: id => api.delete(`/projects/${id}`),\n  getStats: () => api.get('/projects/dashboard/stats'),\n  addTask: (projectId, data) => api.post(`/projects/${projectId}/tasks`, data),\n  updateTask: (projectId, taskId, data) => api.put(`/projects/${projectId}/tasks/${taskId}`, data),\n  addMilestone: (projectId, data) => api.post(`/projects/${projectId}/milestones`, data),\n  updateMilestone: (projectId, milestoneId, data) => api.put(`/projects/${projectId}/milestones/${milestoneId}`, data),\n  addUpdate: (projectId, data) => api.post(`/projects/${projectId}/updates`, data),\n  addInvestor: (projectId, data) => api.post(`/projects/${projectId}/investors`, data),\n  removeInvestor: (projectId, investorId) => api.delete(`/projects/${projectId}/investors/${investorId}`),\n  uploadDocument: (projectId, file) => {\n    const formData = new FormData();\n    formData.append('file', file);\n    return api.post(`/projects/${projectId}/documents`, formData, {\n      headers: {\n        'Content-Type': 'multipart/form-data'\n      }\n    });\n  },\n  getDocuments: projectId => api.get(`/projects/${projectId}/documents`),\n  deleteDocument: (projectId, docId) => api.delete(`/projects/${projectId}/documents/${docId}`),\n  analyzeDocument: (projectId, docId) => api.post(`/projects/${projectId}/documents/${docId}/analyze`),\n  downloadDocument: (projectId, docId) => api.get(`/projects/${projectId}/documents/${docId}/download`, {\n    responseType: 'blob'\n  })\n};\nexport const investorsAPI = {\n  getAll: params => api.get('/investors', {\n    params\n  }),\n  getOne: id => api.get(`/investors/${id}`),\n  create: data => api.post('/investors', data),\n  update: (id, data) => api.put(`/investors/${id}`, data),\n  delete: id => api.delete(`/investors/${id}`)\n};\nexport const newsAPI = {\n  getAll: params => api.get('/news', {\n    params\n  }),\n  getOne: id => api.get(`/news/${id}`),\n  create: data => api.post('/news', data),\n  update: (id, data) => api.put(`/news/${id}`, data),\n  delete: id => api.delete(`/news/${id}`)\n};\nexport const notificationsAPI = {\n  getAll: params => api.get('/notifications', {\n    params\n  }),\n  markAsRead: id => api.put(`/notifications/${id}/read`),\n  markAllAsRead: () => api.put('/notifications/read-all'),\n  delete: id => api.delete(`/notifications/${id}`)\n};\nexport const activityAPI = {\n  getAll: params => api.get('/activity', {\n    params\n  }),\n  getStats: params => api.get('/activity/stats', {\n    params\n  })\n};\nexport default api;","map":{"version":3,"names":["axios","api","create","baseURL","timeout","interceptors","request","use","config","token","localStorage","getItem","headers","Authorization","error","Promise","reject","response","_error$response","status","removeItem","window","location","href","authAPI","login","data","post","register","getMe","get","changePassword","put","usersAPI","getAll","params","getOne","id","update","delete","projectsAPI","getStats","addTask","projectId","updateTask","taskId","addMilestone","updateMilestone","milestoneId","addUpdate","addInvestor","removeInvestor","investorId","uploadDocument","file","formData","FormData","append","getDocuments","deleteDocument","docId","analyzeDocument","downloadDocument","responseType","investorsAPI","newsAPI","notificationsAPI","markAsRead","markAllAsRead","activityAPI"],"sources":["/Users/nili/Documents/trae_projects/client/src/services/api.js"],"sourcesContent":["import axios from 'axios';\n\nconst api = axios.create({\n  baseURL: 'http://localhost:3001/api',\n  timeout: 30000,\n});\n\napi.interceptors.request.use(\n  (config) => {\n    const token = localStorage.getItem('token');\n    if (token) {\n      config.headers.Authorization = `Bearer ${token}`;\n    }\n    return config;\n  },\n  (error) => Promise.reject(error)\n);\n\napi.interceptors.response.use(\n  (response) => response,\n  (error) => {\n    if (error.response?.status === 401) {\n      localStorage.removeItem('token');\n      localStorage.removeItem('user');\n      window.location.href = '/login';\n    }\n    return Promise.reject(error);\n  }\n);\n\nexport const authAPI = {\n  login: (data) => api.post('/auth/login', data),\n  register: (data) => api.post('/auth/register', data),\n  getMe: () => api.get('/auth/me'),\n  changePassword: (data) => api.put('/auth/change-password', data),\n};\n\nexport const usersAPI = {\n  getAll: (params) => api.get('/users', { params }),\n  getOne: (id) => api.get(`/users/${id}`),\n  create: (data) => api.post('/users', data),\n  update: (id, data) => api.put(`/users/${id}`, data),\n  delete: (id) => api.delete(`/users/${id}`),\n};\n\nexport const projectsAPI = {\n  getAll: (params) => api.get('/projects', { params }),\n  getOne: (id) => api.get(`/projects/${id}`),\n  create: (data) => api.post('/projects', data),\n  update: (id, data) => api.put(`/projects/${id}`, data),\n  delete: (id) => api.delete(`/projects/${id}`),\n  getStats: () => api.get('/projects/dashboard/stats'),\n  addTask: (projectId, data) => api.post(`/projects/${projectId}/tasks`, data),\n  updateTask: (projectId, taskId, data) => api.put(`/projects/${projectId}/tasks/${taskId}`, data),\n  addMilestone: (projectId, data) => api.post(`/projects/${projectId}/milestones`, data),\n  updateMilestone: (projectId, milestoneId, data) => api.put(`/projects/${projectId}/milestones/${milestoneId}`, data),\n  addUpdate: (projectId, data) => api.post(`/projects/${projectId}/updates`, data),\n  addInvestor: (projectId, data) => api.post(`/projects/${projectId}/investors`, data),\n  removeInvestor: (projectId, investorId) => api.delete(`/projects/${projectId}/investors/${investorId}`),\n  uploadDocument: (projectId, file) => {\n    const formData = new FormData();\n    formData.append('file', file);\n    return api.post(`/projects/${projectId}/documents`, formData, {\n      headers: {\n        'Content-Type': 'multipart/form-data'\n      }\n    });\n  },\n  getDocuments: (projectId) => api.get(`/projects/${projectId}/documents`),\n  deleteDocument: (projectId, docId) => api.delete(`/projects/${projectId}/documents/${docId}`),\n  analyzeDocument: (projectId, docId) => api.post(`/projects/${projectId}/documents/${docId}/analyze`),\n  downloadDocument: (projectId, docId) => api.get(`/projects/${projectId}/documents/${docId}/download`, {\n    responseType: 'blob'\n  }),\n};\n\nexport const investorsAPI = {\n  getAll: (params) => api.get('/investors', { params }),\n  getOne: (id) => api.get(`/investors/${id}`),\n  create: (data) => api.post('/investors', data),\n  update: (id, data) => api.put(`/investors/${id}`, data),\n  delete: (id) => api.delete(`/investors/${id}`),\n};\n\nexport const newsAPI = {\n  getAll: (params) => api.get('/news', { params }),\n  getOne: (id) => api.get(`/news/${id}`),\n  create: (data) => api.post('/news', data),\n  update: (id, data) => api.put(`/news/${id}`, data),\n  delete: (id) => api.delete(`/news/${id}`),\n};\n\nexport const notificationsAPI = {\n  getAll: (params) => api.get('/notifications', { params }),\n  markAsRead: (id) => api.put(`/notifications/${id}/read`),\n  markAllAsRead: () => api.put('/notifications/read-all'),\n  delete: (id) => api.delete(`/notifications/${id}`),\n};\n\nexport const activityAPI = {\n  getAll: (params) => api.get('/activity', { params }),\n  getStats: (params) => api.get('/activity/stats', { params }),\n};\n\nexport default api;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,GAAG,GAAGD,KAAK,CAACE,MAAM,CAAC;EACvBC,OAAO,EAAE,2BAA2B;EACpCC,OAAO,EAAE;AACX,CAAC,CAAC;AAEFH,GAAG,CAACI,YAAY,CAACC,OAAO,CAACC,GAAG,CACzBC,MAAM,IAAK;EACV,MAAMC,KAAK,GAAGC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;EAC3C,IAAIF,KAAK,EAAE;IACTD,MAAM,CAACI,OAAO,CAACC,aAAa,GAAG,UAAUJ,KAAK,EAAE;EAClD;EACA,OAAOD,MAAM;AACf,CAAC,EACAM,KAAK,IAAKC,OAAO,CAACC,MAAM,CAACF,KAAK,CACjC,CAAC;AAEDb,GAAG,CAACI,YAAY,CAACY,QAAQ,CAACV,GAAG,CAC1BU,QAAQ,IAAKA,QAAQ,EACrBH,KAAK,IAAK;EAAA,IAAAI,eAAA;EACT,IAAI,EAAAA,eAAA,GAAAJ,KAAK,CAACG,QAAQ,cAAAC,eAAA,uBAAdA,eAAA,CAAgBC,MAAM,MAAK,GAAG,EAAE;IAClCT,YAAY,CAACU,UAAU,CAAC,OAAO,CAAC;IAChCV,YAAY,CAACU,UAAU,CAAC,MAAM,CAAC;IAC/BC,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAG,QAAQ;EACjC;EACA,OAAOR,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;AAC9B,CACF,CAAC;AAED,OAAO,MAAMU,OAAO,GAAG;EACrBC,KAAK,EAAGC,IAAI,IAAKzB,GAAG,CAAC0B,IAAI,CAAC,aAAa,EAAED,IAAI,CAAC;EAC9CE,QAAQ,EAAGF,IAAI,IAAKzB,GAAG,CAAC0B,IAAI,CAAC,gBAAgB,EAAED,IAAI,CAAC;EACpDG,KAAK,EAAEA,CAAA,KAAM5B,GAAG,CAAC6B,GAAG,CAAC,UAAU,CAAC;EAChCC,cAAc,EAAGL,IAAI,IAAKzB,GAAG,CAAC+B,GAAG,CAAC,uBAAuB,EAAEN,IAAI;AACjE,CAAC;AAED,OAAO,MAAMO,QAAQ,GAAG;EACtBC,MAAM,EAAGC,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,QAAQ,EAAE;IAAEK;EAAO,CAAC,CAAC;EACjDC,MAAM,EAAGC,EAAE,IAAKpC,GAAG,CAAC6B,GAAG,CAAC,UAAUO,EAAE,EAAE,CAAC;EACvCnC,MAAM,EAAGwB,IAAI,IAAKzB,GAAG,CAAC0B,IAAI,CAAC,QAAQ,EAAED,IAAI,CAAC;EAC1CY,MAAM,EAAEA,CAACD,EAAE,EAAEX,IAAI,KAAKzB,GAAG,CAAC+B,GAAG,CAAC,UAAUK,EAAE,EAAE,EAAEX,IAAI,CAAC;EACnDa,MAAM,EAAGF,EAAE,IAAKpC,GAAG,CAACsC,MAAM,CAAC,UAAUF,EAAE,EAAE;AAC3C,CAAC;AAED,OAAO,MAAMG,WAAW,GAAG;EACzBN,MAAM,EAAGC,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,WAAW,EAAE;IAAEK;EAAO,CAAC,CAAC;EACpDC,MAAM,EAAGC,EAAE,IAAKpC,GAAG,CAAC6B,GAAG,CAAC,aAAaO,EAAE,EAAE,CAAC;EAC1CnC,MAAM,EAAGwB,IAAI,IAAKzB,GAAG,CAAC0B,IAAI,CAAC,WAAW,EAAED,IAAI,CAAC;EAC7CY,MAAM,EAAEA,CAACD,EAAE,EAAEX,IAAI,KAAKzB,GAAG,CAAC+B,GAAG,CAAC,aAAaK,EAAE,EAAE,EAAEX,IAAI,CAAC;EACtDa,MAAM,EAAGF,EAAE,IAAKpC,GAAG,CAACsC,MAAM,CAAC,aAAaF,EAAE,EAAE,CAAC;EAC7CI,QAAQ,EAAEA,CAAA,KAAMxC,GAAG,CAAC6B,GAAG,CAAC,2BAA2B,CAAC;EACpDY,OAAO,EAAEA,CAACC,SAAS,EAAEjB,IAAI,KAAKzB,GAAG,CAAC0B,IAAI,CAAC,aAAagB,SAAS,QAAQ,EAAEjB,IAAI,CAAC;EAC5EkB,UAAU,EAAEA,CAACD,SAAS,EAAEE,MAAM,EAAEnB,IAAI,KAAKzB,GAAG,CAAC+B,GAAG,CAAC,aAAaW,SAAS,UAAUE,MAAM,EAAE,EAAEnB,IAAI,CAAC;EAChGoB,YAAY,EAAEA,CAACH,SAAS,EAAEjB,IAAI,KAAKzB,GAAG,CAAC0B,IAAI,CAAC,aAAagB,SAAS,aAAa,EAAEjB,IAAI,CAAC;EACtFqB,eAAe,EAAEA,CAACJ,SAAS,EAAEK,WAAW,EAAEtB,IAAI,KAAKzB,GAAG,CAAC+B,GAAG,CAAC,aAAaW,SAAS,eAAeK,WAAW,EAAE,EAAEtB,IAAI,CAAC;EACpHuB,SAAS,EAAEA,CAACN,SAAS,EAAEjB,IAAI,KAAKzB,GAAG,CAAC0B,IAAI,CAAC,aAAagB,SAAS,UAAU,EAAEjB,IAAI,CAAC;EAChFwB,WAAW,EAAEA,CAACP,SAAS,EAAEjB,IAAI,KAAKzB,GAAG,CAAC0B,IAAI,CAAC,aAAagB,SAAS,YAAY,EAAEjB,IAAI,CAAC;EACpFyB,cAAc,EAAEA,CAACR,SAAS,EAAES,UAAU,KAAKnD,GAAG,CAACsC,MAAM,CAAC,aAAaI,SAAS,cAAcS,UAAU,EAAE,CAAC;EACvGC,cAAc,EAAEA,CAACV,SAAS,EAAEW,IAAI,KAAK;IACnC,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;IAC/BD,QAAQ,CAACE,MAAM,CAAC,MAAM,EAAEH,IAAI,CAAC;IAC7B,OAAOrD,GAAG,CAAC0B,IAAI,CAAC,aAAagB,SAAS,YAAY,EAAEY,QAAQ,EAAE;MAC5D3C,OAAO,EAAE;QACP,cAAc,EAAE;MAClB;IACF,CAAC,CAAC;EACJ,CAAC;EACD8C,YAAY,EAAGf,SAAS,IAAK1C,GAAG,CAAC6B,GAAG,CAAC,aAAaa,SAAS,YAAY,CAAC;EACxEgB,cAAc,EAAEA,CAAChB,SAAS,EAAEiB,KAAK,KAAK3D,GAAG,CAACsC,MAAM,CAAC,aAAaI,SAAS,cAAciB,KAAK,EAAE,CAAC;EAC7FC,eAAe,EAAEA,CAAClB,SAAS,EAAEiB,KAAK,KAAK3D,GAAG,CAAC0B,IAAI,CAAC,aAAagB,SAAS,cAAciB,KAAK,UAAU,CAAC;EACpGE,gBAAgB,EAAEA,CAACnB,SAAS,EAAEiB,KAAK,KAAK3D,GAAG,CAAC6B,GAAG,CAAC,aAAaa,SAAS,cAAciB,KAAK,WAAW,EAAE;IACpGG,YAAY,EAAE;EAChB,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,YAAY,GAAG;EAC1B9B,MAAM,EAAGC,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,YAAY,EAAE;IAAEK;EAAO,CAAC,CAAC;EACrDC,MAAM,EAAGC,EAAE,IAAKpC,GAAG,CAAC6B,GAAG,CAAC,cAAcO,EAAE,EAAE,CAAC;EAC3CnC,MAAM,EAAGwB,IAAI,IAAKzB,GAAG,CAAC0B,IAAI,CAAC,YAAY,EAAED,IAAI,CAAC;EAC9CY,MAAM,EAAEA,CAACD,EAAE,EAAEX,IAAI,KAAKzB,GAAG,CAAC+B,GAAG,CAAC,cAAcK,EAAE,EAAE,EAAEX,IAAI,CAAC;EACvDa,MAAM,EAAGF,EAAE,IAAKpC,GAAG,CAACsC,MAAM,CAAC,cAAcF,EAAE,EAAE;AAC/C,CAAC;AAED,OAAO,MAAM4B,OAAO,GAAG;EACrB/B,MAAM,EAAGC,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,OAAO,EAAE;IAAEK;EAAO,CAAC,CAAC;EAChDC,MAAM,EAAGC,EAAE,IAAKpC,GAAG,CAAC6B,GAAG,CAAC,SAASO,EAAE,EAAE,CAAC;EACtCnC,MAAM,EAAGwB,IAAI,IAAKzB,GAAG,CAAC0B,IAAI,CAAC,OAAO,EAAED,IAAI,CAAC;EACzCY,MAAM,EAAEA,CAACD,EAAE,EAAEX,IAAI,KAAKzB,GAAG,CAAC+B,GAAG,CAAC,SAASK,EAAE,EAAE,EAAEX,IAAI,CAAC;EAClDa,MAAM,EAAGF,EAAE,IAAKpC,GAAG,CAACsC,MAAM,CAAC,SAASF,EAAE,EAAE;AAC1C,CAAC;AAED,OAAO,MAAM6B,gBAAgB,GAAG;EAC9BhC,MAAM,EAAGC,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,gBAAgB,EAAE;IAAEK;EAAO,CAAC,CAAC;EACzDgC,UAAU,EAAG9B,EAAE,IAAKpC,GAAG,CAAC+B,GAAG,CAAC,kBAAkBK,EAAE,OAAO,CAAC;EACxD+B,aAAa,EAAEA,CAAA,KAAMnE,GAAG,CAAC+B,GAAG,CAAC,yBAAyB,CAAC;EACvDO,MAAM,EAAGF,EAAE,IAAKpC,GAAG,CAACsC,MAAM,CAAC,kBAAkBF,EAAE,EAAE;AACnD,CAAC;AAED,OAAO,MAAMgC,WAAW,GAAG;EACzBnC,MAAM,EAAGC,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,WAAW,EAAE;IAAEK;EAAO,CAAC,CAAC;EACpDM,QAAQ,EAAGN,MAAM,IAAKlC,GAAG,CAAC6B,GAAG,CAAC,iBAAiB,EAAE;IAAEK;EAAO,CAAC;AAC7D,CAAC;AAED,eAAelC,GAAG","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}