From cb71157002da5b8224f66cca0000a1dbe1887721 Mon Sep 17 00:00:00 2001 From: Octave Hazard <octave.hazard@polytechnique.edu> Date: Sat, 16 Mar 2019 11:50:03 +0100 Subject: [PATCH] get announcements sent --- db/seeds/08_dummy_announcement_authors.js | 25 +++++++++++++++++++++++ src/graphql/models/messageModel.ts | 6 +++--- 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 db/seeds/08_dummy_announcement_authors.js diff --git a/db/seeds/08_dummy_announcement_authors.js b/db/seeds/08_dummy_announcement_authors.js new file mode 100644 index 0000000..154dd90 --- /dev/null +++ b/db/seeds/08_dummy_announcement_authors.js @@ -0,0 +1,25 @@ + +exports.seed = async function (knex, Promise) { + // Deletes ALL existing entries + await knex('announcements_authors').del(); + // Inserts seed entries + const announcements_authors = [{ + mid: 0, + gid: 'br' + },{ + mid: 1, + gid: 'jtx' + },{ + mid: 2, + gid: 'x-chine' + },{ + mid: 3, + gid: 'br' + },{ + mid: 4, + gid: 'federez' + } + ]; + return knex('announcements_authors').insert(announcements_authors) + .then(console.log("finished running 04_dummy_announcements")); +}; diff --git a/src/graphql/models/messageModel.ts b/src/graphql/models/messageModel.ts index a2b20b8..c3a2f92 100644 --- a/src/graphql/models/messageModel.ts +++ b/src/graphql/models/messageModel.ts @@ -112,7 +112,6 @@ export class MessageModel { */ async getAllAnnouncements(groups: GroupSet): Promise<Announcement[]> { throw "Not implemented"; - /*let result = await knex.select().from('announcements').whereIn('id', selection); result = result.concat( await knex.select().from('events').whereIn('id', selection) @@ -133,8 +132,9 @@ export class MessageModel { * @rights member of groups */ async getAllAnnouncementsSent(groups: GroupSet): Promise<Announcement[]> { - throw "Not implemented"; - + let announces = await knex.distinct('mid').select().from('announcements_authors').whereIn('gid', [...groups]); + return announces.map(elt => new Announcement(elt.mid)); + /*let result = await knex.select().from('announcements').whereIn('gid'); result = result.concat( await knex.select().from('events').whereIn('id') -- GitLab