const response = await fetch("https://trhbib1.bib.no/cgi-bin/oauthlogin", {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"accept-language": "nb-NO,nb;q=0.9,no;q=0.8,nn;q=0.7,en-US;q=0.6,en;q=0.5",
"cache-control": "max-age=0",
"content-type": "application/x-www-form-urlencoded",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"upgrade-insecure-requests": "1"
"referrer": "https://trhbib1.bib.no/cgi-bin/oauthlogin?response_type=token&client_id=56d09e37acec1895f6fdeffb29a628aff8814410a04aec2fc58f5d32cd9256f9&redirect_uri=https://biblioteket.trondheim.kommune.no/mine-sider/mine-lan-og-reservasjoner/",
"referrerPolicy": "no-referrer-when-downgrade",
"body": "username=" + user + "&password=" + pin + "&client_id=56d09e37acec1895f6fdeffb29a628aff8814410a04aec2fc58f5d32cd9256f9&redirect_uri=https%3A%2F%2Fbiblioteket.trondheim.kommune.no%2Fmine-sider%2Fmine-lan-og-reservasjoner%2F&response_type=token&type=sjekkinnlogging",
let rawcookies = response.headers.raw()['set-cookie']
let cookie = _.map(rawcookies, (x) => {
const loanresponse = await fetch("https://trhbib1.bib.no/cgi-bin/rest_service/oawebapi_getLoans/1.0/data", {
"accept-language": "nb-NO,nb;q=0.9,no;q=0.8,nn;q=0.7,en-US;q=0.6,en;q=0.5",
"authorization": "Bearer null",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site",
"referrer": "https://biblioteket.trondheim.kommune.no/mine-sider/mine-lan-og-reservasjoner/",
"referrerPolicy": "no-referrer-when-downgrade",
let loanjson = await loanresponse.json()
let daysFromNow = (x) => {
let diff = Math.floor((x.getTime() - today.getTime()) / (1000*60*60*24));
return y.replace(/ø/g, 'ø')
.replace(/å/g, 'å')
.replace(/æ/g, 'æ')
.replace(/Ø/g, 'Ø')
.replace(/Å/g, 'Å')
.replace(/Æ/g, 'Æ')
let ld = new Date(x.dueDate)
let days = daysFromNow(ld)
if (!summary.hasOwnProperty(days)) {
summary[days].titles.push(edc(x.title))
if (!x.loanIsRenewable || x.renewedToday) {
summary[days].renew = false
// console.log("dato [" + x.loanDate + "] " + daysFromNow(ld))
let st = _.map(Object.values(summary), (x) => {
return x.count + ' bøker må leveres innnen ' + x.days + ' dager. ' +
(x.renew ? 'Kan forlenges. ' : 'Kan IKKE forlenges. ') + '(' + x.titles.join(', ') + ')'
// console.log("Set cookie", cookie)
// console.log("Mine lån")
// console.log(loanjson.loans)
await setTagValue("bibtext", {type: 'string', title:'Bibliotek tekst'}, st)
await setTagValue("bibdue", {type: 'number', title:'Bibliotek dager igjen'}, firstDue)