PageSourceSearch

https://novagrad.ai/_next/static/chunks/8567-5bc3cd27a488ae50.js

js novagrad.ai collected 2026-10-05 12:19:24 UTC 12,575 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8567],{23749:(a,e,r)=>{r.d(e,{Ay:()=>m,Ds:()=>o,ET:()=>g,Ti:()=>i,UK:()=>s,aG:()=>c,do:()=>l,pD:()=>p});var t=r(59267),d=r(55490);let s=(0,t.zD)("scholarshipImport/validate",async(a,e)=>{let{rejectWithValue:r}=e;try{let e=new FormData;return e.append("file",a),(await d.Ay.post("/api/admin/scholarship/import/validate",e,{headers:{"Content-Type":"multipart/form-data"}})).data}catch(a){var t,s;return r((null==(s=a.response)||null==(t=s.data)?void 0:t.message)||"Validation failed")}}),l=(0,t.zD)("scholarshipImport/bulkInsert",async(a,e)=>{let{rejectWithValue:r}=e;try{return(await d.Ay.post("/api/admin/scholarship/import/bulk-insert",{records:a})).data}catch(a){var t,s;return r((null==(s=a.response)||null==(t=s.data)?void 0:t.message)||"Import failed")}}),i=(0,t.zD)("scholarshipImport/downloadTemplate",async(a,e)=>{let{rejectWithValue:r}=e;try{let a=await d.Ay.get("/api/admin/scholarship/import/template",{responseType:"blob"}),e=window.URL.createObjectURL(new Blob([a.data])),r=document.createElement("a");return r.href=e,r.setAttribute("download","scholarship_import_template.xlsx"),document.body.appendChild(r),r.click(),r.remove(),{success:!0}}catch(a){return r("Template download failed")}}),o=(0,t.zD)("scholarshipImport/exportFailed",async(a,e)=>{let{rejectWithValue:r}=e;try{let e=await d.Ay.post("/api/admin/scholarship/import/export-failed",{failed_records:a},{responseType:"blob"}),r=window.URL.createObjectURL(new Blob([e.data])),t=document.createElement("a");return t.href=r,t.setAttribute("download","failed_scholarships.xlsx"),document.body.appendChild(t),t.click(),t.remove(),{success:!0}}catch(a){return r("Export failed")}}),n=(0,t.Z0)({name:"scholarshipImport",initialState:{validationResult:null,validRecords:[],invalidRecords:[],warnings:[],missingMasterData:null,summary:null,currentStep:"upload",selectedFileName:null,validating:!1,importing:!1,downloadingTemplate:!1,exportingFailed:!1,importResult:null,error:null},reducers:{setSelectedFileName:(a,e)=>{a.selectedFileName=e.payload,a.error=null},clearImportState:a=>{a.validationResult=null,a.validRecords=[],a.invalidRecords=[],a.warnings=[],a.missingMasterData=null,a.summary=null,a.currentStep="upload",a.selectedFileName=null,a.importResult=null,a.error=null},setCurrentStep:(a,e)=>{a.currentStep=e.payload},clearError:a=>{a.error=null}},extraReducers:a=>{a.addCase(s.pending,a=>{a.validating=!0,a.error=null}).addCase(s.fulfilled,(a,e)=>{a.validating=!1,a.validationResult=e.payload,a.validRecords=e.payload.valid_records||[],a.invalidRecords=e.payload.invalid_records||[],a.warnings=e.payload.warnings||[],a.missingMasterData=e.payload.missing_master_data||null,a.summary=e.payload.summary||null,a.currentStep="validation"}).addCase(s.rejected,(a,e)=>{a.validating=!1,a.error=e.payload,a.currentStep="upload"}).addCase(l.pending,a=>{a.importing=!0,a.error=null,a.currentStep="importing"}).addCase(l.fulfilled,(a,e)=>{a.importing=!1,a.importResult=e.payload,a.currentStep="complete"}).addCase(l.rejected,(a,e)=>{a.importing=!1,a.error=e.payload,a.currentStep="validation"}).addCase(i.pending,a=>{a.downloadingTemplate=!0}).addCase(i.fulfilled,a=>{a.downloadingTemplate=!1}).addCase(i.rejected,(a,e)=>{a.downloadingTemplate=!1,a.error=e.payload}).addCase(o.pending,a=>{a.exportingFailed=!0}).addCase(o.fulfilled,a=>{a.exportingFailed=!1}).addCase(o.rejected,(a,e)=>{a.exportingFailed=!1,a.error=e.payload})}}),{setSelectedFileName:p,clearImportState:c,setCurrentStep:u,clearError:g}=n.actions,m=n.reducer},25036:(a,e,r)=>{r.d(e,{Ay:()=>u,ET:()=>n,_F:()=>p,dr:()=>c,kd:()=>l,mr:()=>s,x4:()=>i});var t=r(59267),d=r(55490);let s=(0,t.zD)("scholarships/fetchScholarships",async function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;try{let{page:r=1,limit:t=10,search:s="",status:l="",is_active:i="",country:o=""}=a,n=new URLSearchParams({page:r.toString(),limit:t.toString()});s&&n.append("search",s),l&&"all"!==l&&n.append("status",l),""!==i&&n.append("is_active",i),o&&n.append("country",o);let p=(await d.Ay.get("/api/admin/scholarship?".concat(n.toString()))).data;if(!p.success)return e.rejectWithValue(p.message);return p.data}catch(a){var r,t;return e.rejectWithValue((null==(t=a.response)||null==(r=t.data)?void 0:r.message)||a.message)}}),l=(0,t.zD)("scholarships/saveScholarship",async(a,e)=>{let{scholarship:r,isEdit:t,filters:l}=a;try{r.deadlines?"string"==typeof r.deadlines?r.deadlines=r.deadlines.split(",").map(a=>({date:new Date(a.trim()),type:"application",is_active:!0})):Array.isArray(r.deadlines)?r.deadlines=r.deadlines.map(a=>({date:new Date("string"==typeof a?a.trim():a),type:"application",is_active:!0})):r.deadlines=[]:r.deadlines=[];let a=(t?await d.Ay.put("/api/admin/scholarship/".concat(r._id),r):await d.Ay.post("/api/admin/scholarship",r)).data;if(!a.success)return e.rejectWithValue(a.message);return e.dispatch(s(l)),a}catch(a){var i,o;return e.rejectWithValue((null==(o=a.response)||null==(i=o.data)?void 0:i.message)||a.message)}}),i=(0,t.zD)("scholarships/toggleScholarshipStatus",async(a,e)=>{let{id:r,filters:t}=a;try{let a=(await d.Ay.patch("/api/admin/scholarship/".concat(r,"/toggle-status"))).data;if(!a.success)return e.rejectWithValue(a.message);return e.dispatch(s(t)),a}catch(a){var l,i;return e.rejectWithValue((null==(i=a.response)||null==(l=i.data)?void 0:l.message)||a.message)}}),o=(0,t.Z0)({name:"scholarships",initialState:{scholarships:[],loading:!1,formLoading:!1,pagination:{current_page:1,total_pages:1,total_items:0,per_page:10,has_next:!1,has_prev:!1},filters:{search:"",status:"",is_active:"",country:"",page:1,limit:10},error:null},reducers:{clearError:a=>{a.error=null},setFilters:(a,e)=>{a.filters={...a.filters,...e.payload}},resetFilters:a=>{a.filters={search:"",status:"",is_active:"",country:"",page:1,limit:10}}},extraReducers:a=>{a.addCase(s.pending,a=>{a.loading=!0,a.error=null}).addCase(s.fulfilled,(a,e)=>{a.loading=!1,a.scholarships=e.payload.scholarships,a.pagination=e.payload.pagination}).addCase(s.rejected,(a,e)=>{a.loading=!1,a.error=e.payload||e.error.message}).addCase(l.pending,a=>{a.formLoading=!0,a.error=null}).addCase(l.fulfilled,a=>{a.formLoading=!1,a.error=null}).addCase(l.rejected,(a,e)=>{a.formLoading=!1,a.error=e.payload||e.error.message}).addCase(i.pending,a=>{a.loading=!0,a.error=null}).addCase(i.fulfilled,a=>{a.loading=!1,a.error=null}).addCase(i.rejected,(a,e)=>{a.loading=!1,a.error=e.payload||e.error.message})}}),{clearError:n,setFilters:p,resetFilters:c}=o.actions,u=o.reducer},48552:(a,e,r)=>{r.d(e,{Ay:()=>w,C$:()=>u,CF:()=>y,ET:()=>C,El:()=>p,Fk:()=>s,GD:()=>
1c,MA:()=>l,Zv:()=>o,c7:()=>m,f9:()=>g,m:()=>h,mU:()=>i,rC:()=>n});var t=r(59267),d=r(55490);let s=(0,t.zD)("masterData/createCountry",async a=>(await d.Ay.post("/api/admin/meta/countries",a)).data),l=(0,t.zD)("masterData/updateCountry",async a=>{let{id:e,data:r}=a;return(await d.Ay.put("/api/admin/meta/countries/".concat(e),r)).data}),i=(0,t.zD)("masterData/deleteCountry",async a=>({...(await d.Ay.delete("/api/admin/meta/countries/".concat(a))).data,id:a})),o=(0,t.zD)("masterData/fetchCountries",async()=>(await d.Ay.get("/api/admin/meta/countries")).data),n=(0,t.zD)("masterData/createProgram",async a=>(await d.Ay.post("/api/admin/meta/programs",a)).data),p=(0,t.zD)("masterData/updateProgram",async a=>{let{id:e,data:r}=a;return(await d.Ay.put("/api/admin/meta/programs/".concat(e),r)).data}),c=(0,t.zD)("masterData/deleteProgram",async a=>({...(await d.Ay.delete("/api/admin/meta/programs/".concat(a))).data,id:a})),u=(0,t.zD)("masterData/fetchPrograms",async()=>(await d.Ay.get("/api/admin/meta/programs")).data),g=(0,t.zD)("masterData/createDegree",async a=>(await d.Ay.post("/api/admin/meta/degrees",a)).data),m=(0,t.zD)("masterData/updateDegree",async a=>{let{id:e,data:r}=a;return(await d.Ay.put("/api/admin/meta/degrees/".concat(e),r)).data}),y=(0,t.zD)("masterData/deleteDegree",async a=>({...(await d.Ay.delete("/api/admin/meta/degrees/".concat(a))).data,id:a})),h=(0,t.zD)("masterData/fetchDegrees",async()=>(await d.Ay.get("/api/admin/meta/degrees")).data),f=(0,t.Z0)({name:"masterData",initialState:{countries:[],programs:[],degrees:[],loading:{countries:!1,programs:!1,degrees:!1},error:null},reducers:{clearError:a=>{a.error=null}},extraReducers:a=>{a.addCase(s.pending,a=>{a.loading.countries=!0,a.error=null}).addCase(s.fulfilled,(a,e)=>{a.loading.countries=!1,e.payload.success&&a.countries.push(e.payload.data)}).addCase(s.rejected,(a,e)=>{a.loading.countries=!1,a.error=e.error.message}).addCase(l.pending,a=>{a.loading.countries=!0,a.error=null}).addCase(l.fulfilled,(a,e)=>{if(a.loading.countries=!1,e.payload.success){let r=a.countries.findIndex(a=>a._id===e.payload.data._id);-1!==r&&(a.countries[r]=e.payload.data)}}).addCase(l.rejected,(a,e)=>{a.loading.countries=!1,a.error=e.error.message}).addCase(i.pending,a=>{a.loading.countries=!0,a.error=null}).addCase(i.fulfilled,(a,e)=>{a.loading.countries=!1,e.payload.success&&(a.countries=a.countries.filter(a=>a._id!==e.payload.id))}).addCase(i.rejected,(a,e)=>{a.loading.countries=!1,a.error=e.error.message}).addCase(o.fulfilled,(a,e)=>{e.payload.success&&(a.countries=e.payload.data)}).addCase(n.pending,a=>{a.loading.programs=!0,a.error=null}).addCase(n.fulfilled,(a,e)=>{a.loading.programs=!1,e.payload.success&&a.programs.push(e.payload.data)}).addCase(n.rejected,(a,e)=>{a.loading.programs=!1,a.error=e.error.message}).addCase(p.pending,a=>{a.loading.programs=!0,a.error=null}).addCase(p.fulfilled,(a,e)=>{if(a.loading.programs=!1,e.payload.success){let r=a.programs.findIndex(a=>a._id===e.payload.data._id);-1!==r&&(a.programs[r]=e.payload.data)}}).addCase(p.rejected,(a,e)=>{a.loading.programs=!1,a.error=e.error.message}).addCase(c.pending,a=>{a.loading.programs=!0,a.error=null}).addCase(c.fulfilled,(a,e)=>{a.loading.programs=!1,e.payload.success&&(a.programs=a.programs.filter(a=>a._id!==e.payload.id))}).addCase(c.rejected,(a,e)=>{a.loading.programs=!1,a.error=e.error.message}).addCase(u.fulfilled,(a,e)=>{e.payload.success&&(a.programs=e.payload.data)}).addCase(g.pending,a=>{a.loading.degrees=!0,a.error=null}).addCase(g.fulfilled,(a,e)=>{a.loading.degrees=!1,e.payload.success&&a.degrees.push(e.payload.data)}).addCase(g.rejected,(a,e)=>{a.loading.degrees=!1,a.error=e.error.message}).addCase(m.pending,a=>{a.loading.degrees=!0,a.error=null}).addCase(m.fulfilled,(a,e)=>{if(a.loading.degrees=!1,e.payload.success){let r=a.degrees.findIndex(a=>a._id===e.payload.data._id);-1!==r&&(a.degrees[r]=e.payload.data)}}).addCase(m.rejected,(a,e)=>{a.loading.degrees=!1,a.error=e.error.message}).addCase(y.pending,a=>{a.loading.degrees=!0,a.error=null}).addCase(y.fulfilled,(a,e)=>{a.loading.degrees=!1,e.payload.success&&(a.degrees=a.degrees.filter(a=>a._id!==e.payload.id))}).addCase(y.rejected,(a,e)=>{a.loading.degrees=!1,a.error=e.error.message}).addCase(h.fulfilled,(a,e)=>{e.payload.success&&(a.degrees=e.payload.data)})}}),{clearError:C}=f.actions,w=f.reducer},55490:(a,e,r)=>{r.d(e,{$D:()=>s,Ay:()=>n,JH:()=>i,Q6:()=>o,R2:()=>d,hh:()=>l});let t=r(95125).A.create({baseURL:"https://api.novagrad.ai",withCredentials:!0,timeout:1e4,headers:{"Content-Type":"application/json"}});t.interceptors.request.use(a=>(a.withCredentials=!0,a),a=>Promise.reject(a)),t.interceptors.response.use(a=>a,a=>{var e,r,t;return console.error("API Error:",null==(e=a.response)?void 0:e.status,null==(r=a.response)?void 0:r.data),(null==(t=a.response)?void 0:t.status)===401&&(window.location.pathname.includes("/auth/login")||(window.location.href="/auth/login/admin")),Promise.reject(a)});let d={login:a=>t.post("/api/admin/login",a),getProfile:()=>t.get("/api/admin/me"),logout:()=>t.post("/api/admin/logout")},s={create:a=>t.post("/api/contacts",a),getAll:a=>t.get("/api/contacts",{params:a})},l={create:a=>t.post("/api/admin/blogs",a),getById:a=>t.get("/api/admin/blogs/".concat(a)),getAll:a=>t.get("/api/admin/blogs",{params:a}),update:(a,e)=>t.put("/api/admin/blogs/".concat(a),e),toggleStatus:a=>t.patch("/api/admin/blogs/".concat(a,"/toggle-status"))},i={create:a=>t.post("/api/admin/articles",a),getById:a=>t.get("/api/admin/articles/".concat(a)),getAll:a=>t.get("/api/admin/articles",{params:a}),update:(a,e)=>t.put("/api/admin/articles/".concat(a),e),toggleStatus:a=>t.patch("/api/admin/articles/".concat(a,"/toggle-status"))},o={create:a=>t.post("/api/scholarship-support",a),getAll:a=>t.get("/api/admin/scholarship-support",{params:a}),getStats:()=>t.get("/api/admin/scholarship-support/stats")},n=t}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.