feat: 🎸 lade till hämta alla barn, för att få rätt id:n
This commit is contained in:
parent
5ed9836d23
commit
6738bd14fd
|
@ -4,12 +4,17 @@ Schema POC
|
|||
## Status
|
||||
POC fungerar, jag tror att jag förstår ungefär hur systemen fungerar. Har bara följt de request och de anrop som görs när jag är inloggad. Vet inte hur det fungerar för någon annan.
|
||||
|
||||
Jag har benat ut lite frågetecken angående id:n
|
||||
Eftersom detta är ett annat system så har allting andra GUIDar än de vi får från skolplattformen. I värsta fall får vi matcha på namn.
|
||||
Jag har har lagt till en funktion som hämtar alla ens barn och loopar igenom dem och skriver ut schema.
|
||||
//Kajetan
|
||||
|
||||
## För att testa
|
||||
Ändra xxx-xxx-xxx till ditt barns childId (eller sdsId - vet inte vilket än).
|
||||
|
||||
Lägg in en cookie från din webbläsare i 'cookie' fältet. Då ska koden logga in dig och visa schema för valt barn
|
||||
|
||||
cookie= 'din cookie'
|
||||
getSchema(cookie, 'xxxx-xxxx-xxx', '15', '2021')
|
||||
|
||||
|
||||
Kör igång
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ const sso = async (cookie, targetSystem) => {
|
|||
return result
|
||||
}
|
||||
|
||||
const getSchema = async (cookie, childId, week, year) => {
|
||||
const getSchema = async (cookie, childId, unitId, week, year) => {
|
||||
await sso(cookie, 'TimetableViewer')
|
||||
const form = await fetch('https://fns.stockholm.se/ng/timetable/timetable-viewer/fns.stockholm.se/', { headers: { cookie }, redirect: 'follow', follow: 20 }).then(res => !res.ok ? Promise.reject(res.statusText) : res).then(res => res.text())
|
||||
console.log('form', form)
|
||||
|
@ -41,7 +41,7 @@ const getSchema = async (cookie, childId, week, year) => {
|
|||
const body = {
|
||||
renderKey: key,
|
||||
host: 'fns.stockholm.se',
|
||||
unitGuid: 'NmRhOGRhOTYtOWNkYy05ODJkLWY4ZjgtYTExNjFjNmViOGE5', // här är jag lite osäker - den verkar inte ändra sig.
|
||||
unitGuid: unitId,
|
||||
startDate: null,
|
||||
endDate: null,
|
||||
scheduleDay: 1,
|
||||
|
@ -49,7 +49,7 @@ const getSchema = async (cookie, childId, week, year) => {
|
|||
width: 375,
|
||||
height: 550,
|
||||
selectionType: 5,
|
||||
selection: btoa(childId),
|
||||
selection: childId,
|
||||
showHeader: false,
|
||||
periodText: '',
|
||||
week,
|
||||
|
@ -58,14 +58,14 @@ const getSchema = async (cookie, childId, week, year) => {
|
|||
privateSelectionMode: true,
|
||||
customerKey: ''
|
||||
}
|
||||
const { data: { lessonInfo } = {} } = await fetch('https://fns.stockholm.se/ng/api/render/timetable', {
|
||||
const { data : {lessonInfo} } = await fetch('https://fns.stockholm.se/ng/api/render/timetable', {
|
||||
headers: {
|
||||
accept: 'application/json, text/javascript, */*; q=0.01',
|
||||
'accept-language': 'en-US,en;q=0.9,sv;q=0.8',
|
||||
'cache-control': 'no-cache',
|
||||
'content-type': 'application/json',
|
||||
pragma: 'no-cache',
|
||||
'x-scope': '8a22163c-8662-4535-9050-bc5e1923df48',
|
||||
'x-scope': scope,
|
||||
cookie
|
||||
},
|
||||
referrer: 'https://fns.stockholm.se/ng/timetable/timetable-viewer/fns.stockholm.se/',
|
||||
|
@ -78,5 +78,46 @@ const getSchema = async (cookie, childId, week, year) => {
|
|||
console.log('lessonInfo', JSON.stringify(lessonInfo, null, 2))
|
||||
}
|
||||
|
||||
const cookie = 'StockholmEServiceLanguage=1053,Svenska,Language,sv; ASP.NET_SessionId=wwpssgmavxf2n2pxevisxdgt; __RequestVerificationToken_L3ZhcmRuYWRzaGF2YXJl0=0uPyfGOlR0zuIiCkylXIxwRu-hVn8-s_00GVbJ987nPfH7RSASe-kXgJZMvQlmp_W0ezbcmNGSO-tzWa8z2LSlvigXhsQcjCmcAEtE-4IrA1; StockholmEserviceAcceptCookie=true; BIGipServerpool_etjanster3_prod_vhavare_19_https=836442028.47873.0000; BIGipServerpool_etjanster2_prod_int_19=836442028.20480.0000; SMIDENTITY=Ef4wFa5FSYCqynIDNVwajJE7lG1UmtCRFAKCJQ7kBzvGyVYCRZQ7nrTDTCCMn19YMfxp1rc2zeRJxU8FtdZFufYzc2Uxrgf6BO4fBQLUzbrKoK3VM+eZFDlkkcnOYGa0xJZy5qjvVCrJvsBBp8thshDiBy9/bHYBJt5iByiuMmQAQun1UVaFveNPY3i6qy5+LhUvcQyFo5d1Ha/WNdVgOGwcaqhtwaFQtsfRB80g2+p46fQO7j4Q0Lt7RrCK/HUOckiHnfYrLO43hLjGVr3nIV15eZp8Osu9XM2ewUNtUZFcc0nAvWNdtXors1S0oEuG7jCbWYRV/MfDFFp2XbudGrdVLyPGio17/khYzfCOEcnFV2u+3tQB95a+UKpWXNDmneOB+XtSAJlL+cZirhspVkcbkUg5l6XuIZDLknzfWOJpedQLBhAd8IrnhYHD3Yqc61wQ8LUA9FakDo4wUFGLPfSDWOkOmxL6DQJS197+mADztJy10Dk7155ZW6wgHS6vi+XWCY9TkNO+YnzDSUO3TIjjmrmVhy3O71VKizXZunbCy3L96aOi5qGqx0QDF6CU; WT_FPC=id=d00d2960-cc47-42f1-ac22-4cc8e5899c67:lv=1617482359477:ss=1617482329514; SMSESSION=GkwOpGjU18qBxiTG2OqZx1Xk8rApKFcqEY4SpX4j7YioL8XDX3x8SoDQ5LKGLisMakdKH2xCv66HKzhuy2yEYwuIRDlwPZtBHupmLy0RW83PEizlRosfPg5q41yoZGoKrfreb+rBmrI1nWz1njjnpfT8KIzZcxcsdKBKFmeNnH/DrqVecZrI/+zdHvkp3iQUa9c8/laBaNXA6m9Oxh14V/XhbBCECgRzLeme1AARtUnFLmEUrUJVe3jmkCU9FSWcMpr8lyaSXGbLkvfB11dJdIz9K0pzBxaOEFfamibXmDTe5VV6ZEz0eORKdw+CsJXS7uM4Rz5ybN1fmRBNDXQoPU6QvwKH1hkxbEd0aTKMRCe823hp0KMbwDbFzrOdAODCg055hMbpJOnQJl4ZC6UYX3IxpQtjaWBK7IIVEGP1/Kj8o8WeHNL8vuTuBPFDbX1bmazM4wSG5T4K6ZBhAI5p90CXPbMRQph47WGHHAHGUqIkJwH6wR1WPb6wqH76+6bmWoivNl2QCWByuI/CcG9C6ivt0MYXrrCmrmzmpUf+aqy/l4iquc4T8mS6wypKeMJ2mx4WhbHfPV2WrEg2S76cQ55H5b5VonFB2BQC52K2QMhtL4O5thlqlVUL15VxPX1fWMLtqY3bSk7duYGq2Sjvng+9pC2tj8QnNTj678gK78sZG8M/Rw1W4EJv4PNS0Fwf07QCfJIFQxT4nmqiLyb7copdV90+fTwvzPDL01Rwis2Sdmhwyk04vWtobpynluF1eQoWx5uyfFulwivIAdZYjozopmT4tepl5BoostsXaGRz/XW83JX8+plR75rYcMji8B5Xin5zSGKt0T9IPaUuy7TLUT1jejbTZR6t8Za/dGvv3Eq2qovvKtS4X7z2dBVRTvNWifRxZIHKmemkXRqhN4a73T/Hh8YOwb1K2aPGU4J8NFk0GYoXbZg7mxeD3FJu66ThFap8RD8FtqzRUPTvgzdcqCTM9pFKIm2KaeHW4xCjsFJ/CCTeFKg/ZyGhLwFHDw+4JkLKjiIpzEfCwavUQgFIxGu/xa21y1uJ+k0aj4Cqa3t9OMpaHk7LYkyIeeg5r4myPs4NVTC8dLOEqhOKP0v6GDML0qM2HA8K0AuU/x0cqyWxLL7v+uo1XWdd/wqa'
|
||||
getSchema(cookie, '6cbecaf5-d30d-94c2-d370-f9b64636b706', '15', '2021')
|
||||
|
||||
const getChildrenData = async (cookie) => {
|
||||
|
||||
const body = { getPersonalTimetablesRequest: {
|
||||
hostName: 'fns.stockholm.se'
|
||||
}}
|
||||
const { data : {getPersonalTimetablesResponse: {childrenTimetables } } } =
|
||||
await fetch('https://fns.stockholm.se/ng/api/services/skola24/get/personal/timetables', {
|
||||
headers: {
|
||||
accept: 'application/json, text/javascript, */*; q=0.01',
|
||||
'accept-language': 'en-US,en;q=0.9,sv;q=0.8',
|
||||
'cache-control': 'no-cache',
|
||||
'content-type': 'application/json',
|
||||
pragma: 'no-cache',
|
||||
host: 'fns.stockholm.se',
|
||||
'x-scope': '8a22163c-8662-4535-9050-bc5e1923df48',
|
||||
cookie
|
||||
},
|
||||
referrer: 'https://fns.stockholm.se/ng/timetable/timetable-viewer/fns.stockholm.se/',
|
||||
referrerPolicy: 'strict-origin-when-cross-origin',
|
||||
body: JSON.stringify(body),
|
||||
method: 'POST',
|
||||
mode: 'cors'
|
||||
}).then(res => res.json())
|
||||
|
||||
return childrenTimetables;
|
||||
}
|
||||
|
||||
|
||||
const getSchemas = async (cookie, week, year) => {
|
||||
var children = await getChildrenData(cookie);
|
||||
console.log(children)
|
||||
|
||||
children.forEach(child => {
|
||||
getSchema(cookie, child.personGuid, child.unitGuid, week, year)
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
const cookie = '<cookie here>'
|
||||
|
||||
getSchemas(cookie,'15','2021');
|
||||
|
||||
|
|
Loading…
Reference in New Issue