From 6eb35930ea536c527d458c390bcd15c76616fef0 Mon Sep 17 00:00:00 2001 From: Roman Timashev Date: Tue, 19 Sep 2017 13:46:16 +0300 Subject: [PATCH] [www] - hudozka-data, hudozka-api-v1, hudozka-middlewares --- install.sh | 3 -- modules/hudozka-api-v1/.gitignore | 1 - modules/hudozka-api-v1/.npmignore | 2 - modules/hudozka-api-v1/lib/index.js | 19 ------- modules/hudozka-api-v1/package.json | 26 ---------- modules/hudozka-api-v1/src/api/timeline.js | 30 ----------- modules/hudozka-api-v1/src/index.js | 8 --- modules/hudozka-data/.gitignore | 3 -- modules/hudozka-data/.npmignore | 2 - modules/hudozka-data/package.json | 21 -------- modules/hudozka-data/src/Data.js | 44 ---------------- modules/hudozka-data/src/DataManager.js | 11 ---- modules/hudozka-data/src/Document.js | 5 -- modules/hudozka-data/src/Schedule.js | 44 ---------------- modules/hudozka-data/src/Timeline.js | 51 ------------------- modules/hudozka-data/src/index.js | 2 - modules/hudozka-data/test/Data.js | 18 ------- modules/hudozka-middlewares/.gitignore | 3 -- modules/hudozka-middlewares/.npmignore | 2 - modules/hudozka-middlewares/package.json | 21 -------- modules/hudozka-middlewares/src/ejson.js | 15 ------ .../src/ensureServiceAuth.js | 14 ----- modules/hudozka-middlewares/src/index.js | 2 - package.json | 3 -- 24 files changed, 350 deletions(-) delete mode 100644 modules/hudozka-api-v1/.gitignore delete mode 100644 modules/hudozka-api-v1/.npmignore delete mode 100644 modules/hudozka-api-v1/lib/index.js delete mode 100644 modules/hudozka-api-v1/package.json delete mode 100644 modules/hudozka-api-v1/src/api/timeline.js delete mode 100644 modules/hudozka-api-v1/src/index.js delete mode 100644 modules/hudozka-data/.gitignore delete mode 100644 modules/hudozka-data/.npmignore delete mode 100644 modules/hudozka-data/package.json delete mode 100644 modules/hudozka-data/src/Data.js delete mode 100644 modules/hudozka-data/src/DataManager.js delete mode 100644 modules/hudozka-data/src/Document.js delete mode 100644 modules/hudozka-data/src/Schedule.js delete mode 100644 modules/hudozka-data/src/Timeline.js delete mode 100644 modules/hudozka-data/src/index.js delete mode 100644 modules/hudozka-data/test/Data.js delete mode 100644 modules/hudozka-middlewares/.gitignore delete mode 100644 modules/hudozka-middlewares/.npmignore delete mode 100644 modules/hudozka-middlewares/package.json delete mode 100644 modules/hudozka-middlewares/src/ejson.js delete mode 100644 modules/hudozka-middlewares/src/ensureServiceAuth.js delete mode 100644 modules/hudozka-middlewares/src/index.js diff --git a/install.sh b/install.sh index f7acad27..b10704fb 100755 --- a/install.sh +++ b/install.sh @@ -12,8 +12,5 @@ gunzip -c ${build_file} | tar xopf - #rm build.tar npm install --production --loglevel error -npm install ./modules/hudozka-api-v1/ -npm install ./modules/hudozka-data/ -npm install ./modules/hudozka-middlewares/ echo "Deploying finish. Please restart hudozka.service manually" diff --git a/modules/hudozka-api-v1/.gitignore b/modules/hudozka-api-v1/.gitignore deleted file mode 100644 index 40b878db..00000000 --- a/modules/hudozka-api-v1/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ \ No newline at end of file diff --git a/modules/hudozka-api-v1/.npmignore b/modules/hudozka-api-v1/.npmignore deleted file mode 100644 index ad34573e..00000000 --- a/modules/hudozka-api-v1/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -.idea/ -src/ diff --git a/modules/hudozka-api-v1/lib/index.js b/modules/hudozka-api-v1/lib/index.js deleted file mode 100644 index 050fc0e0..00000000 --- a/modules/hudozka-api-v1/lib/index.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (auth, data) { - return (0, _koaCompose2.default)([(0, _timeline.add)(auth, data)]); -}; - -var _timeline = require('./api/timeline'); - -var _koaCompose = require('koa-compose'); - -var _koaCompose2 = _interopRequireDefault(_koaCompose); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -; \ No newline at end of file diff --git a/modules/hudozka-api-v1/package.json b/modules/hudozka-api-v1/package.json deleted file mode 100644 index 57b37a40..00000000 --- a/modules/hudozka-api-v1/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "hudozka-api-v1", - "private": true, - "version": "0.0.1", - "description": "", - "main": "lib/index.js", - "scripts": { - "compile": "babel --presets es2015,stage-0 src/ -d lib/", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "dependencies": { - "ejson": "^2.1.2", - "hudozka-middlewares": "file:../hudozka-middlewares", - "koa-compose": "^3.1.0", - "koa-query": "0.0.2", - "koa-route": "^3.1.0", - "request-promise": "^2.0.1" - }, - "devDependencies": { - "babel-cli": "^6.6.5", - "babel-preset-es2015": "^6.6.0", - "babel-preset-stage-0": "^6.5.0" - } -} diff --git a/modules/hudozka-api-v1/src/api/timeline.js b/modules/hudozka-api-v1/src/api/timeline.js deleted file mode 100644 index b5fade6a..00000000 --- a/modules/hudozka-api-v1/src/api/timeline.js +++ /dev/null @@ -1,30 +0,0 @@ -import {put} from 'koa-route'; -import compose from 'koa-compose'; -import query from 'koa-query'; -import {toBoolean} from 'koa-query'; -import {ejson, ensureServiceAuth} from 'hudozka-middlewares'; - -export function add(auth, data) { - return put('/timeline', compose([ - ensureServiceAuth(auth), - ejson(), - query({ - save: toBoolean() - }), - async(ctx) => { - let doSave = ctx.request.query.save || true; - let post = ctx.request.body; - - try { - if(!doSave) data.timeline.disableSaving(); - let result = await data.timeline.add(post); - if(!doSave) data.timeline.enableSaving(); - - ctx.body = result; - } catch (e) { - ctx.status = 400; - ctx.body = e; - } - } - ])); -} diff --git a/modules/hudozka-api-v1/src/index.js b/modules/hudozka-api-v1/src/index.js deleted file mode 100644 index 155cfb28..00000000 --- a/modules/hudozka-api-v1/src/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import {add as timelineAdd} from './api/timeline'; -import compose from 'koa-compose'; - -export default function (auth, data) { - return compose([ - timelineAdd(auth, data) - ]); -}; diff --git a/modules/hudozka-data/.gitignore b/modules/hudozka-data/.gitignore deleted file mode 100644 index de1c106a..00000000 --- a/modules/hudozka-data/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -lib/ -.idea/ diff --git a/modules/hudozka-data/.npmignore b/modules/hudozka-data/.npmignore deleted file mode 100644 index 791aedb2..00000000 --- a/modules/hudozka-data/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -src/ -.idea/ diff --git a/modules/hudozka-data/package.json b/modules/hudozka-data/package.json deleted file mode 100644 index 34c83670..00000000 --- a/modules/hudozka-data/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "hudozka-data", - "private": true, - "version": "0.0.2", - "description": "", - "main": "lib/index.js", - "scripts": { - "compile": "babel --plugins async-to-promises --presets es2015,stage-0 src/ -d lib/", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "devDependencies": { - "babel-cli": "^6.6.5", - "babel-plugin-async-to-promises": "^1.0.5", - "babel-polyfill": "^6.16.0", - "babel-preset-es2015": "^6.6.0", - "babel-preset-stage-0": "^6.5.0", - "mongodb": "^2.2.12" - } -} diff --git a/modules/hudozka-data/src/Data.js b/modules/hudozka-data/src/Data.js deleted file mode 100644 index 991c2062..00000000 --- a/modules/hudozka-data/src/Data.js +++ /dev/null @@ -1,44 +0,0 @@ -import {EventEmitter} from 'events' - -export default class Data extends EventEmitter { - constructor(store) { - super() - this.save = true - this.store = store - } - - broadcast(data) { - this.emit('update', data) - } - - disableSaving() { - this.save = false - } - - enableSaving() { - this.save = true - } - - async create(data) { - const id = data.id - if (!id) throw new Error('Field `id` not found in Data object') - const query = {id: id} - - await this.store.update(query, data, {upsert: true}) - const result = await this.store.findOne(query) - this.emit('update', result) - return result - } - - async read(id) { - return this.store.findOne({id: id}) - } - - async find(query, skip = 0, limit = 0) { - const cursor = this.store - .find(query) - .skip(skip) - if (limit) cursor.limit(limit) - return await cursor.toArray() - } -} diff --git a/modules/hudozka-data/src/DataManager.js b/modules/hudozka-data/src/DataManager.js deleted file mode 100644 index 79fe7f28..00000000 --- a/modules/hudozka-data/src/DataManager.js +++ /dev/null @@ -1,11 +0,0 @@ -import Timeline from './Timeline' -import Schedule from './Schedule' -import Document from './Document' - -export default class DataManager { - constructor(stores) { - this.timeline = new Timeline(stores.timeline) - this.schedule = new Schedule(stores.schedules) - this.document = new Document(stores.documents) - } -} diff --git a/modules/hudozka-data/src/Document.js b/modules/hudozka-data/src/Document.js deleted file mode 100644 index fa7eb0e5..00000000 --- a/modules/hudozka-data/src/Document.js +++ /dev/null @@ -1,5 +0,0 @@ -import Data from './Data' - -export default class Document extends Data { - -} diff --git a/modules/hudozka-data/src/Schedule.js b/modules/hudozka-data/src/Schedule.js deleted file mode 100644 index d9118eac..00000000 --- a/modules/hudozka-data/src/Schedule.js +++ /dev/null @@ -1,44 +0,0 @@ -import Data from './Data'; - -export default class Schedule extends Data { - - create() { - - } - - read() { - - } - - delete() { - - } - - find(query) { - - } - - add(post) { - let savePost = async(post) => { - const id = post.id; - const type = post.type; - const query = {id: id, type: type}; - - await this.store.update(query, post, {upsert: true}); - let document = await this.store.find(query).limit(1).toArray(); - return document[0]; - }; - - let add = async(post) => { - let document = post; - if (this.save) { - document = await savePost(post); - } - - this.broadcast(document); - return document; - }; - - return add(post); - } -} diff --git a/modules/hudozka-data/src/Timeline.js b/modules/hudozka-data/src/Timeline.js deleted file mode 100644 index 054a5219..00000000 --- a/modules/hudozka-data/src/Timeline.js +++ /dev/null @@ -1,51 +0,0 @@ -import Data from './Data' - -export default class Timeline extends Data { - async create(post) { - let savePost = async(post) => { - const id = post.id - const type = post.type - const query = {id: id, type: type} - - await this.store.update(query, post, {upsert: true}) - let document = await this.store.find(query).limit(1).toArray() - return document[0] - } - - let add = async(post) => { - let document = post - if (this.save) { - document = await savePost(post) - } - - this.broadcast(document) - return document - } - - return add(post) - } - - add(post) { - let savePost = async(post) => { - const id = post.id - const type = post.type - const query = {id: id, type: type} - - await this.store.update(query, post, {upsert: true}) - let document = await this.store.find(query).limit(1).toArray() - return document[0] - } - - let add = async(post) => { - let document = post - if (this.save) { - document = await savePost(post) - } - - this.broadcast(document) - return document - } - - return add(post) - } -} diff --git a/modules/hudozka-data/src/index.js b/modules/hudozka-data/src/index.js deleted file mode 100644 index 2986bef3..00000000 --- a/modules/hudozka-data/src/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import DataManager from './DataManager'; -export default DataManager; diff --git a/modules/hudozka-data/test/Data.js b/modules/hudozka-data/test/Data.js deleted file mode 100644 index 4bcff7b0..00000000 --- a/modules/hudozka-data/test/Data.js +++ /dev/null @@ -1,18 +0,0 @@ -require('babel-polyfill') - -const Data = require('../lib/Data').default -//const Data = require('../src/Data') -const MongoClient = require('mongodb').MongoClient - -MongoClient - .connect('mongodb://localhost:27017/hudozka') - .then(function (db) { - const store = db.collection('documents') - const data = new Data(store) - - data.find({}) - .then(function(data){ - console.log('data >') - console.log(data) - }) - }) diff --git a/modules/hudozka-middlewares/.gitignore b/modules/hudozka-middlewares/.gitignore deleted file mode 100644 index de1c106a..00000000 --- a/modules/hudozka-middlewares/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -lib/ -.idea/ diff --git a/modules/hudozka-middlewares/.npmignore b/modules/hudozka-middlewares/.npmignore deleted file mode 100644 index 791aedb2..00000000 --- a/modules/hudozka-middlewares/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -src/ -.idea/ diff --git a/modules/hudozka-middlewares/package.json b/modules/hudozka-middlewares/package.json deleted file mode 100644 index 54e2d5d4..00000000 --- a/modules/hudozka-middlewares/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "hudozka-middlewares", - "private": true, - "version": "0.0.1", - "description": "", - "main": "lib/index.js", - "scripts": { - "compile": "babel --presets es2015,stage-0 src/ -d lib/", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "dependencies": { - "ejson": "^2.1.2" - }, - "devDependencies": { - "babel-cli": "^6.6.5", - "babel-preset-es2015": "^6.6.0", - "babel-preset-stage-0": "^6.5.0" - } -} diff --git a/modules/hudozka-middlewares/src/ejson.js b/modules/hudozka-middlewares/src/ejson.js deleted file mode 100644 index 79613de1..00000000 --- a/modules/hudozka-middlewares/src/ejson.js +++ /dev/null @@ -1,15 +0,0 @@ -import {parse} from 'ejson'; - -export function ejson(type='application/ejson') { - return async (ctx, next) => { - let t = ctx.request.headers['content-type']; - let data = ctx.request.body; - - if (t === type){ - data = typeof data === 'string' ? data : JSON.stringify(data); - ctx.request.body = parse(data); - } - - await next(); - }; -} diff --git a/modules/hudozka-middlewares/src/ensureServiceAuth.js b/modules/hudozka-middlewares/src/ensureServiceAuth.js deleted file mode 100644 index eb67ad7a..00000000 --- a/modules/hudozka-middlewares/src/ensureServiceAuth.js +++ /dev/null @@ -1,14 +0,0 @@ -// auth - fn that returns boolean -export function ensureServiceAuth(auth) { - return async (ctx, next) => { - let service = ctx.request.headers['x-service-name']; - let token = ctx.request.headers['x-service-token']; - - if (!auth(service, token)) { - ctx.status = 401; - } else { - await next(); - } - }; -} - diff --git a/modules/hudozka-middlewares/src/index.js b/modules/hudozka-middlewares/src/index.js deleted file mode 100644 index b2909da0..00000000 --- a/modules/hudozka-middlewares/src/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export {ejson} from './ejson'; -export {ensureServiceAuth} from './ensureServiceAuth'; diff --git a/package.json b/package.json index e0286c58..d0b8b362 100644 --- a/package.json +++ b/package.json @@ -26,9 +26,6 @@ "co": "^4.4.0", "ejson": "^2.1.2", "handlebars": "^4.0.5", - "hudozka-api-v1": "file:modules/hudozka-api-v1", - "hudozka-data": "file:modules/hudozka-data", - "hudozka-middlewares": "file:modules/hudozka-middlewares", "instagram-node": "^0.5.1", "koa": "^2.0.0-alpha.3", "koa-bodyparser": "^3.0.0",