From bef3d84dcd28d5063d625f812a136bce0f2a810d Mon Sep 17 00:00:00 2001 From: Dmitry Sumin Date: Thu, 18 May 2017 01:58:30 +0300 Subject: [PATCH 1/2] Add script for creating placeholder accounts for comments restoration --- bin/create_archive_user.js | 116 +++++++++++++++++++++++++++++++++++++ bin/friendfeed.png | Bin 0 -> 54628 bytes 2 files changed, 116 insertions(+) create mode 100755 bin/create_archive_user.js create mode 100644 bin/friendfeed.png diff --git a/bin/create_archive_user.js b/bin/create_archive_user.js new file mode 100755 index 000000000..861816a9a --- /dev/null +++ b/bin/create_archive_user.js @@ -0,0 +1,116 @@ +#!node_modules/.bin/babel-node + +import request from 'superagent' +import bluebird from 'bluebird' + +global.Promise = bluebird; +global.Promise.onPossiblyUnhandledRejection((e) => { throw e; }); + +import { load as configLoader } from '../config/config.js'; + +const config = configLoader() + +async function main() { + const args = process.argv.slice(2); + + if (args.length !== 4) { + process.stdout.write(`Usage: create_archive_user.js \n`); + return; + } + + const freefeed_username = args[0]; + const friendfeed_username = args[1]; + const password = args[3]; + let is_private; + + if (args[2] === 'public') { + is_private = 0; + } else if (args[2] === 'private') { + is_private = 1; + } else { + process.stdout.write(`Unexpected ${args[2]}, expected 'public' or 'private'\n`); + process.exit(1); + } + + + const email = `freefeed.net+${freefeed_username}@gmail.com`; + let auth_token = ``; + let user_id = ``; + + + process.stdout.write(`Creating a placeholder account @${freefeed_username} for @${friendfeed_username} comments from FriendFeed\n`); + process.stdout.write(`Host: ${config.host}\n\n`); + + // Create user + await request + .post(`${config.host}/v1/users/sudo`) + .send({ username: freefeed_username, password, email }) + .then((res) => { + auth_token = res.body.authToken; + user_id = res.body.users.id; + process.stdout.write(`User @${freefeed_username} created: ${user_id}\n\n`); + }, (err) => { + process.stdout.write(`Failed to create user: @${freefeed_username}\n`); + process.stdout.write(`Status: ${err.response.status}\n`); + process.stdout.write(`Text: ${err.response.text}\n`); + process.exit(1); + }); + + // Update description + const description = `This is a placeholder account for @${friendfeed_username} comments from FriendFeed.com archives. Archives FAQ: https://dev.freefeed.net/w/archives-faq/`; + await request + .put(`${config.host}/v1/users/${user_id}`) + .set(`X-Authentication-Token`, auth_token) + .send({ user: { isPrivate: is_private, isProtected: is_private, description } }) + .then(() => { + process.stdout.write(`Description changed to:\n---\n${description}\n---\n\n`); + }, (err) => { + process.stdout.write(`Failed to update description for user: @${freefeed_username}\n`); + process.stdout.write(`Status: ${err.response.status}\n`); + process.stdout.write(`Text: ${err.response.text}\n`); + process.exit(1); + }); + + // Update privacy + if (is_private) { + await request + .put(`${config.host}/v1/users/${user_id}`) + .set(`X-Authentication-Token`, auth_token) + .send({ user: { isPrivate: `1`, isProtected: `1` } }) + .then(() => { + process.stdout.write(`User feed is private\n`); + }, (err) => { + process.stdout.write(`Failed to update privacy settings for user: @${freefeed_username}\n`); + process.stdout.write(`Status: ${err.response.status}\n`); + process.stdout.write(`Text: ${err.response.text}\n`); + process.exit(1); + }); + } else { + process.stdout.write(`User feed is public\n`); + } + + // Update profile pic + await request + .post(`${config.host}/v1/users/updateProfilePicture`) + .set(`X-Authentication-Token`, auth_token) + .attach(`image`, `bin/friendfeed.png`) + .then(() => { + process.stdout.write(`Profile picture updated\n`); + }, (err) => { + process.stdout.write(`Failed to update profile picture user: @${freefeed_username}\n`); + process.stdout.write(`Status: ${err.response.status}\n`); + process.stdout.write(`Text: ${err.response.text}\n`); + process.exit(1); + }); + + process.stdout.write(`\nArchive user @${freefeed_username} has been created successfully!\n`); +} + +main() + .then(() => { + process.exit(0); + }) + .catch((e) => { + process.stderr.write(e.message); + process.exit(1); + }); diff --git a/bin/friendfeed.png b/bin/friendfeed.png new file mode 100644 index 0000000000000000000000000000000000000000..c909f56c2f570d0fc3e6b1380895d096a8d3f41f GIT binary patch literal 54628 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
#uwh{>~@jI3tWYGqgjv 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%0DfDt8#Gvo~J%|+Kze2M3)0k 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 z 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 Date: Sat, 20 May 2017 12:45:55 +0300 Subject: [PATCH 2/2] Specify host via constant + some tweaks --- bin/create_archive_user.js | 52 ++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/bin/create_archive_user.js b/bin/create_archive_user.js index 861816a9a..1b78abba7 100755 --- a/bin/create_archive_user.js +++ b/bin/create_archive_user.js @@ -6,44 +6,42 @@ import bluebird from 'bluebird' global.Promise = bluebird; global.Promise.onPossiblyUnhandledRejection((e) => { throw e; }); -import { load as configLoader } from '../config/config.js'; -const config = configLoader() +const host = 'https://freefeed.net'; -async function main() { - const args = process.argv.slice(2); - - if (args.length !== 4) { - process.stdout.write(`Usage: create_archive_user.js \n`); - return; - } +const args = process.argv.slice(2); - const freefeed_username = args[0]; - const friendfeed_username = args[1]; - const password = args[3]; - let is_private; - - if (args[2] === 'public') { - is_private = 0; - } else if (args[2] === 'private') { - is_private = 1; - } else { - process.stdout.write(`Unexpected ${args[2]}, expected 'public' or 'private'\n`); - process.exit(1); - } +if (args.length !== 4) { + process.stdout.write(`Usage: create_archive_user.js \n`); + process.exit(1); +} +const freefeed_username = args[0]; +const friendfeed_username = args[1]; +const password = args[3]; +let is_private; + +if (args[2] === 'public') { + is_private = 0; +} else if (args[2] === 'private') { + is_private = 1; +} else { + process.stdout.write(`Unexpected ${args[2]}, expected 'public' or 'private'\n`); + process.exit(1); +} +async function main() { const email = `freefeed.net+${freefeed_username}@gmail.com`; let auth_token = ``; let user_id = ``; process.stdout.write(`Creating a placeholder account @${freefeed_username} for @${friendfeed_username} comments from FriendFeed\n`); - process.stdout.write(`Host: ${config.host}\n\n`); + process.stdout.write(`Host: ${host}\n\n`); // Create user await request - .post(`${config.host}/v1/users/sudo`) + .post(`${host}/v1/users/sudo`) .send({ username: freefeed_username, password, email }) .then((res) => { auth_token = res.body.authToken; @@ -59,7 +57,7 @@ async function main() { // Update description const description = `This is a placeholder account for @${friendfeed_username} comments from FriendFeed.com archives. Archives FAQ: https://dev.freefeed.net/w/archives-faq/`; await request - .put(`${config.host}/v1/users/${user_id}`) + .put(`${host}/v1/users/${user_id}`) .set(`X-Authentication-Token`, auth_token) .send({ user: { isPrivate: is_private, isProtected: is_private, description } }) .then(() => { @@ -74,7 +72,7 @@ async function main() { // Update privacy if (is_private) { await request - .put(`${config.host}/v1/users/${user_id}`) + .put(`${host}/v1/users/${user_id}`) .set(`X-Authentication-Token`, auth_token) .send({ user: { isPrivate: `1`, isProtected: `1` } }) .then(() => { @@ -91,7 +89,7 @@ async function main() { // Update profile pic await request - .post(`${config.host}/v1/users/updateProfilePicture`) + .post(`${host}/v1/users/updateProfilePicture`) .set(`X-Authentication-Token`, auth_token) .attach(`image`, `bin/friendfeed.png`) .then(() => {