Skip to content
Snippets Groups Projects
Commit a2917456 authored by Anatole ROMON's avatar Anatole ROMON
Browse files

resolution des query allRequests

parent 6f12234a
No related branches found
No related tags found
No related merge requests found
......@@ -46,7 +46,15 @@ exports.seed = function(knex, Promise) {
website: 'http://bde.ensta-paristech.fr/',
school: 'ensta',
type : 'simple'
}
},
{
name: 'Subaïsse',
uid: 'subaisse',
description: 'Le Binet de ceux qui subissent',
school: 'polytechnique',
parentuid: 'kes',
type : 'simple'
},
];
return knex('simple_groups').insert(simple_groups);
......
......@@ -2,19 +2,37 @@
exports.seed = function(knex, Promise) {
// Deletes ALL existing entries
return knex('user_join_group').del()
.then(function () {
// Inserts seed entries
return knex('user_join_group').insert([
{ id: 1,
recipient: 'br',
message: "C'est ici pour développer sigma ?",
useruid: "anatole.romon"
},
{ id: 2,
recipient: 'br',
message: "Bonjour, je cherche le binet subaisse",
useruid: "quentin.gendre"
}
]);
});
.then(function () {
// Inserts seed entries
return knex('user_join_group').insert([
{ id: 1,
recipient: 'br',
message: "C'est ici pour développer sigma ?",
useruid: "anatole.romon"
},
{ id: 2,
recipient: 'br',
message: "Bonjour, je cherche le binet subaisse",
useruid: "quentin.gendre"
},
{id : 3,
recipient: 'jtx',
message: "Quand je serais grand je serais cinéaste !",
useruid: "anatole.romon"
}
]).then(() => {
return knex('group_join_event').del()
.then(function (){
return knex('group_join_event').insert([
{
id : 4,
recipient : "br",
message : "nous aussi on veut coder sigma",
eventuid : 42,
senderuid : "subaisse"
}
]);
});
});
});
};
......@@ -161,7 +161,6 @@ export const getGroupIfVisible = (user, groupUID, wantedType="all") => {
});
};
/**
* @summary Renvoie tous les groupes visibles par l'utilisateur user
* @desc Cette fonction effectue une requête knex. Elle gère l'arête de parenté.
......@@ -178,6 +177,22 @@ export const getAllVisibleGroups = (user, wantedType="all") => {
});
};
/**
* @summary Renvoie un groupe
* @desc Cette fonction ne teste pas la visibilité d'un groupe.
* Elle ne doit être utilisée que si on est certain que l'utilisateur a la visibilité sur le groupe
* @arg {Object} user - Objet contenant un attribut *uid* de type *string*. User représente l'utilisateur qui a effectué la requête.
* @arg {String} wantedType - Un string indiquant le type de groupe qu'on veut. Peut être *"simple"*, *"meta"* ou *"all"*.
* @return {Promise} Retour de requête knex. Liste de tous les groupes que l'utilisateur a le droit de voire.
*/
export const getGroup = (user, groupUID, wantedType="all") => {
let table_name = getGroupTableName(wantedType);
return knex.select().from(table_name).where('uid', groupUID).then(res => {
return res[0];
});
};
/**
* @summary Teste si un utilisateur est membre d'un groupe
* @arg {Object} user - Objet contenant un attribut *uid* de type *string*. User représente l'utilisateur qui a effectué la requête.
......@@ -255,10 +270,51 @@ export const createGroupIfLegal = (user, args) => {
});
};
/**
* @summary Renvoie toues les requêtes de type UserJoinGroup
* @desc Une requête UserJoinGroup est envoyée par un utilisateur à un groupe,
* pour demander à rejoindre ce groupe
* @arg {Object} user - L'utilisateur qui effectue la requête.
* @arg {String} args - L'identifiant du groupe qui reçoit la requête.
* @return {Promise(Object)} Retour de requête knex. Toutes les requêtes destinées au groupe.
*/
export const getUserJoinGroupRequests = (user, recipientUID) => {
return knex('user_join_group').select(/*'id', 'useruid', 'message'*/)/*.where('recipient', recipientUID)*/;
return knex.select('id', 'useruid', 'message').from('user_join_group')
.where('recipient', recipientUID);
};
/**
* @summary Renvoie toues les requêtes de type GroupJoinEvent
* @desc Une requête UserJoinGroup est envoyée par un groupe à un évènement (donc aux administrateurs de l'évènement),
* pour demander à rejoindre cet évènement.
* Remarque : toutes les requêtes ont pour le moment un attribut recipient,
* mais ici il ne sera a terme pas utilisé.
* @arg {Object} user - L'utilisateur qui effectue la requête.
* @arg {String} args - L'identifiant du groupe qui reçoit la requête.
* @return {Promise(Object)} Retour de requête knex. Toutes les requêtes destinées au groupe.
*/
export const getGroupJoinEventRequests = (user, recipientUID) => {
return knex.select('id', 'senderuid', 'eventuid', 'message').from('group_join_event')
.where('recipient', recipientUID);
};
/**
* @summary Renvoie toues les requêtes de type GroupJoinEvent
* @desc Une requête UserJoinGroup est envoyée par un groupe à un évènement (donc aux administrateurs de l'évènement),
* pour demander à rejoindre cet évènement.
* Remarque : toutes les requêtes ont pour le moment un attribut recipient,
* mais ici il ne sera a terme pas utilisé.
* @arg {Object} user - L'utilisateur qui effectue la requête.
* @arg {String} args - L'identifiant du groupe qui reçoit la requête.
* @return {Promise(Object)} Retour de requête knex. Toutes les requêtes destinées au groupe.
*/
export const getYourGroupHostEventRequests = (user, recipientUID) => {
return knex.select('id', 'senderuid', 'eventuid', 'message').from('your_group_host_event')
.where('recipient', recipientUID);
};
//Don't forget the argument user is the guy who makes the request, not the user we want
export const getUser = (user, userUID) => {
return new Promise( (resolve, reject) => {
......@@ -289,19 +345,9 @@ export const getUser = (user, userUID) => {
});*/
};
export const getEvent = (user, eventID) => {
return quickPromise(null);
};
export const getGroup = (user, groupUID) => {
return quickPromise(null);
};
//TODO : empty functions to be filled
export const getSimpleGroup = (user, groupUID) => {
return quickPromise(null);
};
export const getMetaGroup = (user, groupUID) => {
export const getEvent = (user, eventID) => {
return quickPromise(null);
};
......
......@@ -117,7 +117,15 @@ export const resolvers = {
AllRequests: {
userJoinGroup : (obj, args, context) => {
return db_utils.getUserJoinGroupRequests(context.user, args.groupUID);
return db_utils.getUserJoinGroupRequests(context.user, obj.groupUID);
},
groupJoinEvent : (obj, args, context) => {
return db_utils.getGroupJoinEventRequests(context.user, obj.groupUID);
},
yourGroupHostEvent : (obj, args, context) => {
return db_utils.getYourGroupHostEventRequests(context.user, obj.groupUID);
},
},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment