From 1242a9e11d54248e4953a83bbf7a10e3b33af699 Mon Sep 17 00:00:00 2001 From: Big Bad Waffle Date: Sat, 31 Mar 2018 22:28:50 +0200 Subject: [PATCH] fixes #596 --- .gitignore | 2 -- src/server/security/creds.js | 18 ++++++++++++++++++ src/server/security/sheets.js | 12 ++++++++++-- src/server/security/sheetsConfig.js | 23 +++++++++++++++++++++++ 4 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 src/server/security/creds.js create mode 100644 src/server/security/sheetsConfig.js diff --git a/.gitignore b/.gitignore index 062db08c..fc2d791a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,4 @@ storage.db *.sublime-project *.sublime-workspace *.css -creds.js -sheetsConfig.js !helpers/item-tooltip/styles.css diff --git a/src/server/security/creds.js b/src/server/security/creds.js new file mode 100644 index 00000000..bf1b5606 --- /dev/null +++ b/src/server/security/creds.js @@ -0,0 +1,18 @@ +define([ + +], function ( + +) { + return { + type: 'service_account', + project_id: '', + private_key_id: '', + private_key: '', + client_email: '', + client_id: '', + auth_uri: 'https://accounts.google.com/o/oauth2/auth', + token_uri: 'https://accounts.google.com/o/oauth2/token', + auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs', + client_x509_cert_url: '' + }; +}); diff --git a/src/server/security/sheets.js b/src/server/security/sheets.js index 49b39065..fed8f4c3 100644 --- a/src/server/security/sheets.js +++ b/src/server/security/sheets.js @@ -14,6 +14,12 @@ define([ records: null, init: function () { + if (sheetsConfig.roles) { + this.update = function () {}; + this.onGetRows(null, sheetsConfig.roles); + return; + } + this.doc = new googleSheets(sheetsConfig.sheetId); this.doc.useServiceAccountAuth(creds, this.onAuth.bind(this)); }, @@ -54,8 +60,10 @@ define([ o.messagePrefix = o.messageprefix; delete o.messageprefix; - o.items = JSON.parse(o.items || "[]"); - o.skins = JSON.parse(o.skins || "[]"); + if (typeof (o.items) == 'string') + o.items = JSON.parse(o.items || "[]"); + if (typeof (o.skins) == 'string') + o.skins = JSON.parse(o.skins || "[]"); return o; }); diff --git a/src/server/security/sheetsConfig.js b/src/server/security/sheetsConfig.js new file mode 100644 index 00000000..d4b84861 --- /dev/null +++ b/src/server/security/sheetsConfig.js @@ -0,0 +1,23 @@ +define([ + +], function ( + +) { + return { + sheetId: '', + + roles: [{ + username: 'admin', + level: 10, + messagestyle: 'color-blueA', + messageprefix: '(dev) ', + skins: ['*'], + items: [{ + type: 'key', + name: 'Key to the world', + sprite: [2, 0], + keyId: 'world' + }] + }] + }; +});