diff --git a/src/graphql/object_resolvers/messages.ts b/src/graphql/object_resolvers/messages.ts index 8e9a6c49b889db14756c831bbac6b88215b94326..6b727b0098b73bfc9a510f3232fd05a881d6e75d 100644 --- a/src/graphql/object_resolvers/messages.ts +++ b/src/graphql/object_resolvers/messages.ts @@ -8,6 +8,7 @@ import {User} from './users'; import knex from '../../../db/knex_router'; import { Context } from '../typeDefs/queries'; import { ApolloError } from 'apollo-server-core'; +import { GroupSet } from '../models/tools'; export abstract class Message { @@ -153,6 +154,8 @@ export class Announcement extends Message { */ constructor(mid: number) { super(mid); + this.m_authors = new GroupSet(); + this.m_recipients = new GroupSet(); } /** @@ -201,12 +204,28 @@ export class Announcement extends Message { this.m_views = m.views; this.m_dataLoaded = true; - return true; } else { return false; } + + //Charge les authors dans m_authors + + data = await knex.select('gid').from('announcements_authors').where('mid', this.mid); + + for(let t of data) { + this.m_authors.add(t.gid); + } + + //Charge les recipients dans m_recipients + + data = await knex.select('gid').from('announcements_recipients').where('mid', this.mid); + + for (let t of data) { + this.m_authors.add(t.gid); + } } + return true; } @@ -219,6 +238,8 @@ export class Announcement extends Message { */ protected m_importance: number protected m_views : number + protected m_authors : GroupSet + protected m_recipients : GroupSet /** * Ci-dessous les resolvers a proprement parler. @@ -234,7 +255,7 @@ export class Announcement extends Message { */ async authors(args, context: Context, info): Promise<Group[]> { throw "Not implemented"; - + /*return knex.select({ uid: 'group' }).from('group_message_relationships') .where('message', messageID).whereIn('status', ['host', 'publish']);*/ }