diff --git a/src/css/style.css b/src/css/style.css index a67c7cc840256af39355f281ff9d1bfd1088dc44..2b530acb02ca299e86b5e0393ca49beb02645a2e 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -36,7 +36,7 @@ input.form-control:focus { border-bottom-color: rgba(1, 40, 148, 0.842); } -button.form-control { +.button { display: block; color: white; min-width: 120px; @@ -46,16 +46,28 @@ button.form-control { border-radius: 4px; } +div.button { + display: block; + text-align: center; + font-size: 11pt; + width: 120px; +} + +button a { + color: white; + text-decoration: none; +} + .form-group button { margin-top: 0; margin-left: 0.6em } -button.form-control:hover { +.button:hover { background-color: rgba(37, 0, 138, 0.87); } -button.form-control:active { +.button:active { box-shadow: inset 0 8px 6px -6px black; transition: background-color; } diff --git a/src/graphql/schema.js b/src/graphql/schema.js index 3ec8bdb31ac2ceac7d1d1131f46f8a66a4ca32ec..23db38911a85d6f52c3bd5d76ebeaaabd1baf098 100644 --- a/src/graphql/schema.js +++ b/src/graphql/schema.js @@ -8,14 +8,15 @@ import { makeExecutableSchema } from 'graphql-tools'; import { request } from 'https'; import { assertBinaryExpression } from 'babel-types'; -import { Group, User } from './user_and_group'; - -const typeDefs = ` +import { Group, User, Post, Event as schemaEvent } from './typeDefs'; +const RootTypes = ` + # Requêtes type Query { allGroups: [Group] group(uid: ID) : Group user(uid: ID) : [User] + allEvents: [Event] } type Mutation { @@ -220,7 +221,7 @@ const resolvers = { }; }; - console.log("Logged in as:",context.user); + console.log("Fetching user data as user",context.user); const result = rens(context.user, args.uid).then(res => { const output = res.map(entry => refactorer(entry)); @@ -242,7 +243,7 @@ const resolvers = { }; const schema = makeExecutableSchema({ - typeDefs: [typeDefs, Group, User], + typeDefs: [RootTypes, Group, User, Post, schemaEvent], resolvers }); diff --git a/src/graphql/typeDefs.js b/src/graphql/typeDefs.js new file mode 100644 index 0000000000000000000000000000000000000000..3e5592835a093084185cbe8911aa492311b2b460 --- /dev/null +++ b/src/graphql/typeDefs.js @@ -0,0 +1,59 @@ +const User = ` + # Utilisateurs + type User { + # Prénom de l'utilisateur + givenName: String! + # Nom de famille + lastName: String! + uid: ID! + birthdate: String! + mail: String + phone: String + # Groupes dont l'utilisateur est membre. + groups: [Group] + # Groupes que l'utilisateur aime. + likes: [Group] + address: String + } +`; + +const Group = ` + # Groupes associatifs + type Group { + uid: ID + name: String + website: String + createdAt: String + updatedAt: String + description: String + school: String + parentuid: String + } +`; + +const Event = ` + # Événements + type Event { + # Intitulé de l'événement + title: String! + # Lieu de l'événement + location: String + datetime: String! + # Groupes organisateurs + groups: [Group] + # Personnes qui y participent + participants: [User] + } +`; + +const Post = ` + # Publication + type Post { + title: String! + uid: ID! + # Groupe auteur de la publication + author: Group + } +`; + +export { Group, User, Event, Post }; \ No newline at end of file diff --git a/src/graphql/user_and_group.js b/src/graphql/user_and_group.js deleted file mode 100644 index be03a20ce8fe296933a3465e7e2b8669e8652e1d..0000000000000000000000000000000000000000 --- a/src/graphql/user_and_group.js +++ /dev/null @@ -1,27 +0,0 @@ -const User = ` - type User { - givenName: String! - lastName: String! - uid: ID! - birthdate: String! - mail: String - phone: String - groups: [Group] - address: String - } -`; - -const Group = ` - type Group { - uid: ID - name: String - website: String - createdAt: String - updatedAt: String - description: String - school: String - parentuid: String - } -`; - -export { Group, User }; \ No newline at end of file diff --git a/src/server.js b/src/server.js index 39e8192fd9df7b37e26a79319747478f0e20874d..023691da29cd84065e09c0f4d4a2ed017808fea3 100644 --- a/src/server.js +++ b/src/server.js @@ -48,15 +48,18 @@ server.use('/graphql', bodyParser.json(), cors(), graphqlExpress(req => { let uid; let password; - + try { + console.log(req.session); uid = req.session.passport.user.uid; password = "mythe"; } catch (err) { - uid = "louis.vaneau"; - password = "mythe"; + uid = "anonymous"; + password = ""; } + console.log("Accessing GraphQL as:",uid); + return { schema : schema, context : {user : {uid : uid, password : password}}