Skip to content

Instantly share code, notes, and snippets.

@ybonnel
Created December 19, 2024 06:08
Show Gist options
  • Save ybonnel/08117f3d0a2eb630825ed40826497b85 to your computer and use it in GitHub Desktop.
Save ybonnel/08117f3d0a2eb630825ed40826497b85 to your computer and use it in GitHub Desktop.
async function retrieveDB(){
return new Promise(resolve => {
const request = window.indexedDB.open("firebaseLocalStorageDb", 1);
request.onerror = function(event) {
console.log("Erreur lors de l'ouverture de la base de données.");
};
request.onsuccess = function(event) {
resolve(event.target.result);
};
})
}
async function retrieveAuthToken(){
return new Promise(async resolve => {
const db = await retrieveDB();
const transaction = db.transaction(["firebaseLocalStorage"]);
const objectStore = transaction.objectStore("firebaseLocalStorage");
const request = objectStore.openCursor()
request.onerror = function(event) {
console.log("Erreur lors de la récupération du token.");
};
request.onsuccess = function(event) {
const accessToken = event.target.result.value.value.stsTokenManager.accessToken
resolve(accessToken);
};
})
}
const token = await retrieveAuthToken();
fetch('/api/account', { headers: { authorization: "Bearer " + token}})
.then(response => response.json())
.then(account => account.id)
.then(accountId => fetch('/api/leader-board/reviewers/' + accountId +'?page=0&size=1500', { headers: { authorization: "Bearer " + token}}))
.then(response => response.json())
.then(rattings => rattings.map(ratting => ratting.value))
.then(rattings => rattings.reduce((acc, value) => ({...acc, [value]: (acc[value] || 0)+1})))
.then(groups => console.log(groups))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment