From 42251cb1e3021f1d078f673f8868b636df9a9455 Mon Sep 17 00:00:00 2001 From: anatole <anatole.romon@polytechnique.edu> Date: Wed, 30 May 2018 19:23:10 +0200 Subject: [PATCH] fixed spelling --- .../20180530191430_fix_spelling_recieve.js | 36 +++++++++++++++++++ db/seeds/02_make_posts.js | 6 ++-- src/graphql/connectors/connectors.js | 31 ++++++++-------- src/graphql/connectors/selectors.js | 15 ++++++++ src/graphql/resolvers.js | 12 +++---- 5 files changed, 77 insertions(+), 23 deletions(-) create mode 100644 db/migrations/20180530191430_fix_spelling_recieve.js diff --git a/db/migrations/20180530191430_fix_spelling_recieve.js b/db/migrations/20180530191430_fix_spelling_recieve.js new file mode 100644 index 0000000..e816c31 --- /dev/null +++ b/db/migrations/20180530191430_fix_spelling_recieve.js @@ -0,0 +1,36 @@ + +exports.up = async function(knex, Promise) { + let relations = await knex.select().from('group_message_relationships'); + await knex('group_message_relationships').del(); + await knex.schema.table('group_message_relationships', table => { + table.dropColumn('status'); + }); + await knex.schema.table('group_message_relationships', table => { + table.enum('status', ['join', 'host', 'publish', 'receive', 'internal']); + }); + let entry; + for(entry of relations){ + if(entry.status == "recieve"){ + entry.status = "receive"; + } + } + return knex('group_message_relationships').insert(relations); +}; + +exports.down = async function(knex, Promise) { + let relations = await knex.select().from('group_message_relationships'); + await knex('group_message_relationships').del(); + await knex.schema.table('group_message_relationships', table => { + table.dropColumn('status'); + }); + await knex.schema.table('group_message_relationships', table => { + table.enum('status', ['join', 'host', 'publish', 'recieve', 'internal']); + }); + let entry; + for(entry of relations){ + if(entry.status == "receive"){ + entry.status = "recieve"; + } + } + return knex('group_message_relationships').insert(relations); +}; diff --git a/db/seeds/02_make_posts.js b/db/seeds/02_make_posts.js index 5aad98a..451fdb6 100644 --- a/db/seeds/02_make_posts.js +++ b/db/seeds/02_make_posts.js @@ -61,7 +61,7 @@ exports.seed = async function(knex, Promise) { { message : 42, group : 'kes', - status : 'recieve' + status : 'receive' } ]); @@ -96,12 +96,12 @@ exports.seed = async function(knex, Promise) { { message : 4, group : "br", - status : "recieve" + status : "receive" }, { message : 5, group : "faerix", - status : "recieve" + status : "receive" } ]); diff --git a/src/graphql/connectors/connectors.js b/src/graphql/connectors/connectors.js index 8f89867..1c4a645 100644 --- a/src/graphql/connectors/connectors.js +++ b/src/graphql/connectors/connectors.js @@ -432,29 +432,32 @@ export async function allVisibleAnnouncements(user){ return result; } -export async function recievedPrivatePosts(user, groupUID){ - let result = await knex('private_posts').select() - .where('recipient_uid', groupUID); - for(element of result){ - element.type = 'PrivatePost'; +export async function receivedPrivatePosts(user, groupUID){ + let received_messages = await selectors.recievedMessages(user, groupUID); + let result = await knex('private_posts').select().whereIn('id', received_messages); + let entry; + for(entry of result){ + entry.type = "PrivatePost"; } return result; } export async function receivedQuestions(user, groupUID){ - let result = await knex().select().from('questions') - .where('recipient_uid', groupUID); - for(element of result){ - element.type = 'Question'; + let received_messages = await selectors.recievedMessages(user, groupUID); + let result = await knex('questions').select().whereIn('id', received_messages); + let entry; + for(entry of result){ + entry.type = "Question"; } return result; } -export async function recievedAnswers(user, groupUID){ - let result = await knex().select().from('answers') - .where('recipient_uid', groupUID); - for(element of result){ - element.type = 'Answer'; +export async function receivedAnswers(user, groupUID){ + let received_messages = await selectors.recievedMessages(user, groupUID); + let result = await knex('answers').select().whereIn('id', received_messages); + let entry; + for(entry of result){ + entry.type = "Answer"; } return result; } diff --git a/src/graphql/connectors/selectors.js b/src/graphql/connectors/selectors.js index 85c16fb..65e814d 100644 --- a/src/graphql/connectors/selectors.js +++ b/src/graphql/connectors/selectors.js @@ -109,6 +109,21 @@ export async function metaGroupAdminMembers(user, metaGroupUID){ }; } +/** + * @summary Renvoie un callback de tous les messages reçus par le groupe + * @param {Object} user - Utilisateur effectuant la requête. + * @param {String} groupUID - Identifiant du groupe. + * @return {Promise(callback)} a callback to build a query for the admin members of a group + * @author akka vodol + * @rights admin(groupUID) + */ +export async function recievedMessages(user, groupUID){ + return function(qb){ + return qb.column({id : 'message'}).select().from('group_message_relationships').where('group', groupUID).where('status', 'receive'); + } +} + + export async function callbackIntersection(callbackList){ return function(query_builder){ let cb = callbackList.pop(); diff --git a/src/graphql/resolvers.js b/src/graphql/resolvers.js index 7f847f9..a2af400 100644 --- a/src/graphql/resolvers.js +++ b/src/graphql/resolvers.js @@ -338,17 +338,17 @@ export const resolvers = { privatePosts: async function(obj, args, context){ let user = await authentifiers.member(context.user, obj.uid); - return user && connectors.recievedPrivatePosts(user, obj.uid); + return user && connectors.receivedPrivatePosts(user, obj.uid); }, questions: async function(obj, args, context){ let user = await authentifiers.member(context.user, obj.uid); - return user && connectors.recievedQuestions(user, obj.uid); + return user && connectors.receivedQuestions(user, obj.uid); }, answers: async function(obj, args, context){ let user = await authentifiers.member(context.user, obj.uid); - return user && connectors.recievedAnswers(user, obj.uid); + return user && connectors.receivedAnswers(user, obj.uid); } }, @@ -359,17 +359,17 @@ export const resolvers = { privatePosts: async function(obj, args, context){ let user = await authentifiers.member(context.user, obj.uid); - return user && connectors.recievedPrivatePosts(user, obj.uid); + return user && connectors.receivedPrivatePosts(user, obj.uid); }, questions: async function(obj, args, context){ let user = await authentifiers.member(context.user, obj.uid); - return user && connectors.recievedQuestions(user, obj.uid); + return user && connectors.receivedQuestions(user, obj.uid); }, answers: async function(obj, args, context){ let user = await authentifiers.member(context.user, obj.uid); - return user && connectors.recievedAnswers(user, obj.uid); + return user && connectors.receivedAnswers(user, obj.uid); } } }; -- GitLab