From 7403d333ea5a9a8cae4acda1493f3f6f8984850e Mon Sep 17 00:00:00 2001 From: j1348 Date: Tue, 25 Dec 2018 20:01:43 +0100 Subject: [PATCH] Clean code --- src/graphql/resolvers/index.js | 3 +-- src/graphql/resolvers/repo/index.js | 27 +++++++++++++++++++++------ src/graphql/resolvers/repo/model.js | 8 +++++--- src/graphql/schema.js | 14 +------------- src/importer.js | 8 +++++--- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/src/graphql/resolvers/index.js b/src/graphql/resolvers/index.js index 01971c6..7ae643d 100644 --- a/src/graphql/resolvers/index.js +++ b/src/graphql/resolvers/index.js @@ -1,9 +1,8 @@ -import { getRepo, getReposFast, getReposFilter } from './repo'; +import { getRepo, getReposFast } from './repo'; export default { Query: { getRepos: getReposFast, - getReposFilter: (_, { filter }) => getReposFilter(filter), getRepo: (_, { id }) => getRepo(id), }, Repo: { diff --git a/src/graphql/resolvers/repo/index.js b/src/graphql/resolvers/repo/index.js index fa333b0..c181fcf 100644 --- a/src/graphql/resolvers/repo/index.js +++ b/src/graphql/resolvers/repo/index.js @@ -8,7 +8,22 @@ export function getManyRepos(ids) { } export function getRepoRefs() { - return Reporef.find({}).sort({ 'value.date': -1, 'value.starsByDay': -1 }); + return Reporef.find({}); +} + +export function getRepo(id) { + return Repo.find({ _id: id }).map( + ({ _id: id, name, author, language, href, description }) => { + return { + id, + name, + author, + language, + href, + description, + }; + }, + ); } export function getReposFast() { @@ -21,16 +36,16 @@ export function getReposFast() { return getManyRepos(ids).then(repos => { const newRepos = repos.map( - ({ _id: id, name, author, language, href, description }) => { - const { stars, starsByDay, date } = metaInfo[id]; + ({ _id: id, name, description, author, language, href }) => { + const { date, stars, starsByDay } = metaInfo[id]; return { id, - date, - author, name, description, - href, + author, language, + href, + date, stars, starsByDay, }; diff --git a/src/graphql/resolvers/repo/model.js b/src/graphql/resolvers/repo/model.js index 253c987..e14fe52 100644 --- a/src/graphql/resolvers/repo/model.js +++ b/src/graphql/resolvers/repo/model.js @@ -42,8 +42,7 @@ const reporefSchema = mongoose.Schema({ const Reporef = mongoose.model('Reporef', reporefSchema); function reduceRepo() { - console.log('running reduceRepo'); - + console.time('reduceRepos'); function map() { var lastTicks = this.ticks.slice(Math.max(this.ticks.length - 40, 0)); for (var i = 0; i < lastTicks.length; i++) { @@ -101,10 +100,13 @@ function reduceRepo() { }, out: { replace: 'reporefs', inline: 1 }, }, - err => { + (err, result) => { if (err) { console.log(err); } + + console.timeEnd('reduceRepos'); + console.log(result.stats); }, ); } diff --git a/src/graphql/schema.js b/src/graphql/schema.js index d4d86b4..79e0950 100644 --- a/src/graphql/schema.js +++ b/src/graphql/schema.js @@ -23,25 +23,13 @@ export default gql` Ticks: [Tick] stars: Int! forks: Int! + date: Date createdAt: Date! updatedAt: Date! } - type RepoFast { - id: ID! - author: String! - name: String! - language: String! - description: String - starsByDay: Int - href: String! - stars: Int! - } - type Query { getRepos: [Repo] - getReposFast: [RepoFast] - getReposFilter(filter: JSON!): [Repo] getRepo(id: ID!): Repo } diff --git a/src/importer.js b/src/importer.js index 6471de1..49e9e8f 100644 --- a/src/importer.js +++ b/src/importer.js @@ -81,9 +81,7 @@ function importer(toProcessed = 10) { cb2(null, {}); }); }, - function(err) { - cb(err, {}); - }, + cb, ); }, function(err) { @@ -125,3 +123,7 @@ module.exports = new CronJob({ start: true, timeZone: 'Europe/Paris', }); + +if (process.env.NODE_ENV !== 'production') { + setTimeout(reduceRepo, 3000); +}