Store USw Token

This commit is contained in:
Gusted 2021-05-28 21:11:30 +02:00
parent 4a7c2445c8
commit 2f6811e15b
No known key found for this signature in database
GPG Key ID: FD821B732837125F
3 changed files with 17 additions and 11 deletions

View File

@ -48,6 +48,7 @@ const styleMan = (() => {
name: style => `ID: ${style.id}`, name: style => `ID: ${style.id}`,
_id: () => uuidv4(), _id: () => uuidv4(),
_rev: () => Date.now(), _rev: () => Date.now(),
_uswToken: () => "",
}; };
const DELETE_IF_NULL = ['id', 'customName', 'md5Url', 'originalMd5']; const DELETE_IF_NULL = ['id', 'customName', 'md5Url', 'originalMd5'];
/** @type {Promise|boolean} will be `true` to avoid wasting a microtask tick on each `await` */ /** @type {Promise|boolean} will be `true` to avoid wasting a microtask tick on each `await` */
@ -357,8 +358,10 @@ const styleMan = (() => {
if (!style.id) { if (!style.id) {
return; return;
} }
const result = await tokenMan.getToken('userstylesworld', true); const result_token = await tokenMan.getToken('userstylesworld', true, style.id);
console.log(result); style._uswToken = result_token;
await saveStyle(style)
broadcastStyleUpdated(style, 'updateLinking');
}); });
} }
@ -437,7 +440,7 @@ const styleMan = (() => {
style.id = newId; style.id = newId;
} }
uuidIndex.set(style._id, style.id); uuidIndex.set(style._id, style.id);
API.sync.put(style._id, style._rev); API.sync.put(style._id, style._rev, style._uswToken);
} }
async function saveStyle(style) { async function saveStyle(style) {

View File

@ -63,11 +63,11 @@ const tokenMan = (() => {
return { return {
buildKeys(name) { buildKeys(name, styleId) {
const k = { const k = {
TOKEN: `secure/token/${name}/token`, TOKEN: `secure/token/${name}/${styleId ? `${styleId}/`: ''}token`,
EXPIRE: `secure/token/${name}/expire`, EXPIRE: `secure/token/${name}/${styleId ? `${styleId}/`: ''}expire`,
REFRESH: `secure/token/${name}/refresh`, REFRESH: `secure/token/${name}/${styleId ? `${styleId}/`: ''}refresh`,
}; };
k.LIST = Object.values(k); k.LIST = Object.values(k);
return k; return k;
@ -77,8 +77,8 @@ const tokenMan = (() => {
return AUTH[name].clientId; return AUTH[name].clientId;
}, },
async getToken(name, interactive) { async getToken(name, interactive, styleId) {
const k = tokenMan.buildKeys(name); const k = tokenMan.buildKeys(name, styleId);
const obj = await chromeLocal.get(k.LIST); const obj = await chromeLocal.get(k.LIST);
if (obj[k.TOKEN]) { if (obj[k.TOKEN]) {
if (!obj[k.EXPIRE] || Date.now() < obj[k.EXPIRE]) { if (!obj[k.EXPIRE] || Date.now() < obj[k.EXPIRE]) {

View File

@ -54,11 +54,14 @@ msg.onExtension(request => {
const {style} = request; const {style} = request;
switch (request.method) { switch (request.method) {
case 'styleUpdated': case 'styleUpdated':
if (editor.style.id === style.id && if (editor.style.id === style.id)
!['editPreview', 'editPreviewEnd', 'editSave', 'config'].includes(request.reason)) { if (!['editPreview', 'editPreviewEnd', 'editSave', 'config'].includes(request.reason)) {
Promise.resolve(request.codeIsUpdated === false ? style : API.styles.get(style.id)) Promise.resolve(request.codeIsUpdated === false ? style : API.styles.get(style.id))
.then(newStyle => editor.replaceStyle(newStyle, request.codeIsUpdated)); .then(newStyle => editor.replaceStyle(newStyle, request.codeIsUpdated));
} }
if (request.reason === 'updateLinking') {
console.log(editor.style._uswToken)
}
break; break;
case 'styleDeleted': case 'styleDeleted':
if (editor.style.id === style.id) { if (editor.style.id === style.id) {