From 90310703ec413ebc3015e3f0e90393d04e5a3169 Mon Sep 17 00:00:00 2001 From: Jori Lallo Date: Fri, 20 May 2016 00:33:52 -0700 Subject: [PATCH] Fixes to data fetching --- server/api/atlases.js | 15 +++++++++------ server/api/auth.js | 4 ++-- server/presenters.js | 6 +++++- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/server/api/atlases.js b/server/api/atlases.js index 4c1005291..2e1d9ce10 100644 --- a/server/api/atlases.js +++ b/server/api/atlases.js @@ -1,5 +1,6 @@ import Router from 'koa-router'; import httpErrors from 'http-errors'; +import _orderBy from 'lodash/orderBy'; import auth from './authentication'; import pagination from './middlewares/pagination'; @@ -29,14 +30,14 @@ router.post('atlases.info', auth(), async (ctx) => { router.post('atlases.list', auth(), pagination(), async (ctx) => { - let { teamId } = ctx.request.body; - ctx.assertPresent(teamId, 'teamId is required'); - const team = await ctx.state.user.getTeam(); const atlases = await Atlas.findAll({ where: { - teamId: teamId, + teamId: team.id, }, + order: [ + ['updatedAt', 'DESC'], + ], offset: ctx.state.pagination.offset, limit: ctx.state.pagination.limit, }); @@ -44,8 +45,10 @@ router.post('atlases.list', auth(), pagination(), async (ctx) => { // Atlases let data = []; await Promise.all(atlases.map(async (atlas) => { - data.push(await presentAtlas(atlas)); - })) + data.push(await presentAtlas(atlas, true)); + })); + + data = _orderBy(data, ['updatedAt'], ['desc']); ctx.body = { pagination: ctx.state.pagination, diff --git a/server/api/auth.js b/server/api/auth.js index fe9210ba8..8a45c8d59 100644 --- a/server/api/auth.js +++ b/server/api/auth.js @@ -64,8 +64,8 @@ router.post('auth.slack', async (ctx) => { user.setTeam(team); ctx.body = { data: { - user: presentUser(user), - team: presentTeam(team), + user: await presentUser(user), + team: await presentTeam(team), accessToken: user.getJwtToken(), }}; }); diff --git a/server/presenters.js b/server/presenters.js index afdf6207f..3dfe4ad04 100644 --- a/server/presenters.js +++ b/server/presenters.js @@ -1,4 +1,5 @@ -var marked = require('marked'); +import marked from 'marked'; + import Document from './models/Document'; export function presentUser(user) { @@ -37,6 +38,9 @@ export function presentAtlas(atlas, includeRecentDocuments=false) { atlasId: atlas.id, }, limit: 10, + order: [ + ['updatedAt', 'DESC'], + ], }); let recentDocuments = [];