Snoppify / snoppify

1 stars 0 forks source link

Promises... #1

Open antonaut opened 6 years ago

antonaut commented 6 years ago

Hade lite trist och såg att @mold och @johntu hade lekt lite. Ville också vara med. Såg lite på ´src/server/index.js`. Snyggade till app.get('/refresh-token',....) lite. Har inte rättigheter till repot, men föreslår att den kan skrivas ungefär såhär. Det pajjar iofs HTML:en vid ett fel, men tyckte det blev snyggare. Vad tycker ni? :D

Det behövs en npm install --save bluebird i tillägg. :)

index.js:

const Promise = require('bluebird');
const readFileAsync = Promise.promisify(require('fs').readFile);

/*** Random stuff ***/

const fillInRefreshToken = ({data, token}) => {
    const authUrl = spotify.playbackAPI.getAuthUrl();
    data = data.replace(/{authUrl}/g, authUrl);
    data = data.replace(/{refreshToken}/g, token);
    return Promise().resolve(data);
}

// Spotify refresh token end point
app.get('/refresh-token', (req, res) => {

    if (!req.query.code || req.query.state != 'auth') {
        console.info('no code supplied in request or got weird state');
        res.send('pls send code in query, kthx');
        return;
    }

    Promise.props({
        'data': fs.readFileAsync(__dirname + '/refresh-token.html', 'utf8'),
        'token': spotify.playbackAPI.getRefreshToken(req.query.code)})
        .then(fillInRefreshToken)
        .then((data) => Promise.resolve(res.send(data)))
        .catch((err) => {
            if (err.response) {
                err = err.response;
                err = `${err.status} (${err.data.error}) ${err.data.error_description}`;
            }
            console.error(err);
            res.send(err)
        });
});

https://github.com/mold/snoppify/blob/624397ef3bd3d20303226050880ab75371a35759/src/server/index.js#L27

mold commented 6 years ago

haha tack för hjälpen!!! Jag överlåter det här till @johntu eftersom han har ansvaret (läs git-blame:n) för snoppify-kontrollern

johnbrynte commented 6 years ago

Vad kul :D Riktigt snyggt!

Nu har vi ju testat också, funkade bra! Lite knas i början sen flöt det på hela kvällen. Flera ville att vi skulle göra en "riktig" version också, så om @mold vill tycker jag vi ska göra den lite mer tillgänglig, och då får du gärna va med! Man kan ju göra en desktop-app med webkit tom om man vill paketera det snyggt! :tada:

mold commented 6 years ago

Ja vi får se, det vore kul att försöka lansera det på riktigt. Men en desktop-app??? Det får vi diskutera 🤔

2018-03-04 21:24 GMT+01:00 johntu notifications@github.com:

Vad kul :D Riktigt snyggt!

Nu har vi ju testat också, funkade bra! Lite knas i början sen flöt det på hela kvällen. Flera ville att vi skulle göra en "riktig" version också, så om @mold https://github.com/mold vill tycker jag vi ska göra den lite mer tillgänglig, och då får du gärna va med! Man kan ju göra en desktop-app med webkit tom om man vill paketera det snyggt! 🎉

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mold/snoppify/issues/1#issuecomment-370260826, or mute the thread https://github.com/notifications/unsubscribe-auth/ABbG51T0TuI8AIaM2NPiRXsz1mS_MblOks5tbE2CgaJpZM4SUE66 .

mold commented 6 years ago

eller vänta menar du desktop-app som wrappar servern och allting? det vore najs ja så slipper vi hosta och sådär haha haha host

2018-03-04 22:30 GMT+01:00 Daniel Molin dkd333@gmail.com:

Ja vi får se, det vore kul att försöka lansera det på riktigt. Men en desktop-app??? Det får vi diskutera 🤔

2018-03-04 21:24 GMT+01:00 johntu notifications@github.com:

Vad kul :D Riktigt snyggt!

Nu har vi ju testat också, funkade bra! Lite knas i början sen flöt det på hela kvällen. Flera ville att vi skulle göra en "riktig" version också, så om @mold https://github.com/mold vill tycker jag vi ska göra den lite mer tillgänglig, och då får du gärna va med! Man kan ju göra en desktop-app med webkit tom om man vill paketera det snyggt! 🎉

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mold/snoppify/issues/1#issuecomment-370260826, or mute the thread https://github.com/notifications/unsubscribe-auth/ABbG51T0TuI8AIaM2NPiRXsz1mS_MblOks5tbE2CgaJpZM4SUE66 .

johnbrynte commented 6 years ago

Ja precis! host

antonaut commented 6 years ago

Fett!