Commit Graph

31 Commits

Author SHA1 Message Date
wpetit 523fcee03b wip: workgroup description 2023-08-31 06:45:04 -06:00
wpetit 4ee3de773c Possibilité de configurer les options du cookie 2020-10-13 14:59:25 +02:00
wpetit 18dc4135c4 Salle de conférence expérimentale 2020-10-12 21:13:28 +02:00
wpetit f032e83e71 Affichage des dossiers associés dans la page groupe de travail 2020-10-12 14:56:22 +02:00
wpetit d0cd9842ea Intégration de Sentry 2020-10-12 14:35:02 +02:00
wpetit e5152aa652 Ajout des dossiers votés dans la newsletter 2020-10-12 13:11:57 +02:00
wpetit 1eaaa9065f Ajout d'un champ de rapport basique pour décrire la prise de décision
- Enregistrement et prise en compte dans l'affichage des évènements de
  vote/clotûre d'un DAD
2020-10-12 12:44:30 +02:00
wpetit 0859202987 Ajout d'une page 'Non autorisée' et redirection automatique vers celle ci en cas d'accès via un compte non autorisé 2020-10-12 10:05:04 +02:00
wpetit f4528dd087 Correction affichage nom utilisateur dans la newsletter 2020-10-05 15:49:09 +02:00
wpetit 137709adea Ajout d'une newsletter basique
La newsletter effectue une collecte des évènements sur une période de
temps donné et envoi un récapitulatif à l'ensemble des utilisateurs de
Daddy.

Actuellement, sont collectés et présentés:

- Les créations de groupes de travail
- Les créations de dossiers d'aide à la décision
- Les dossiers dont le statut à été modifié et prêt à voté
2020-10-05 14:16:25 +02:00
wpetit f169169bc7 Enregistrement et affichage d'un flux d'évènements
- Ajout d'une nouvelle entité "Event"
- Affichage d'une "timeline" sur le tableau de bord
- Création semi-automatique des évènements lors des modifications par
  les utilisateurs
2020-10-02 16:37:24 +02:00
wpetit 71102cfb3b Conservation de l'état connecté entre 2 rafraichissement de page
L'état de connexion est conservé dans le sessionStorage et réutilisé par
défaut lors du rafraichissement de la page.

Si une erreur 401 survient lors d'un appel à l'API alors l'utilisateur
est redirigé vers la page d'accueil.
2020-09-04 17:10:23 +02:00
wpetit 7dad33b6e4 Correction récupération/fusion des Workgroups 2020-09-04 12:28:38 +02:00
wpetit 9c6ebae9bc Ajout d'une query GraphQL pour vérifier les autorisations côté serveur
- Intégration des vérifications de droits sur la page de
  création/modification des groupes de travail
2020-09-04 11:19:24 +02:00
wpetit 3ef495445a Mise en place d'un système de vérification des autorisations côté
serveur

- Création d'un service d'autorisation dynamique basé sur des "voter" (à
  la Symfony)
- Mise en place des autorisations sur les principales queries/mutations
  de l'API GraphQL
2020-09-04 10:10:32 +02:00
wpetit bc56c9dbae Ajout URLs manquantes directement gérées par le client 2020-08-31 16:13:10 +02:00
wpetit 39d266f701 Création/mise à jour basique d'un DAD 2020-08-26 14:51:53 +02:00
wpetit 32c19bace3 Ajout d'un filtre de connexion configurable pour l'utilisateur 2020-08-13 10:29:52 +02:00
wpetit c0ee95234d Prise en compte des routes gérées par le client côté serveur 2020-07-23 08:57:49 +02:00
wpetit 4a340529da Créer/modifier/rejoindre/quitter un groupe de travail 2020-07-23 08:28:23 +02:00
wpetit c4373cce46 Remplacement de Redux/Saga par Apollo 2020-07-23 08:28:23 +02:00
wpetit 676ddf3bc8 Base d'API backend pour la manipulation des groupes de travail
Types:

type Workgroup {
  id: ID!
  name: String
  createdAt: Time!
  closedAt: Time
  members: [User]!
}

Mutations:

joinWorkgroup(workgroupId: ID!): Workgroup!
leaveWorkgroup(workgroupId: ID!): Workgroup!
createWorkgroup(changes: WorkgroupChanges!): Workgroup!
closeWorkgroup(workgroupId: ID!): Workgroup!
updateWorkgroup(workgroupId: ID!, changes: WorkgroupChanges!): Workgroup!

Queries:

workgroups: [Workgroup]!
2020-07-23 08:28:23 +02:00
wpetit 0cb6c7c67e Merge branch 'feature/user-profile' of Cadoles/daddy into develop 2020-07-17 09:25:50 +02:00
wpetit ed219ddd11 Correction typo annotation 2020-07-16 22:29:33 +02:00
wpetit 758c166f27 Simple page de modification de profil 2020-07-16 20:21:58 +02:00
wpetit 05dd505d6b Bascule sur l'ORM GORM
- On n'utilise plus la pattern CQRS trop lourde pour le système
- Un système de models/repository "à la Symfony" est utilisé pour les
  requêtes
2020-07-16 14:30:16 +02:00
wpetit 8b8f322630 Récupération automatique du profil au lancement de l'application 2020-07-13 18:49:44 +02:00
wpetit 00e331b985 Correction génération resolvers GraphQL 2020-07-13 14:55:32 +02:00
wpetit 3fd8bf7e69 Auto-création du compte utilisateur à la première connexion
- Sauvegarde de l'adresse courriel de l'utilisateur en session
- Implémentation d'une première Query GraphQL pour récupérer le profil
  de l'utilisateur connecté
- Utilisation de la pattern CQRS pour les commandes/requêtes sur la base
  de données
2020-07-13 14:44:05 +02:00
wpetit 591112a800 Intégration d'un point d'entrée GraphQL et d'un connecteur pour
PostgreSQL

- Possibilité de migrer le schéma de la base de données via drapeau
- Génération du code GraphQL avec https://gqlgen.com/
2020-07-13 09:20:14 +02:00
wpetit 1120474ad9 Utilisation d'un serveur Go custom pour le backend au lieu de
super-graph

Malheureusement, super-graph n'a pas tenu les promesses qu'il semblait
annoncer.

Je propose donc de basculer sur un serveur Go classique (via goweb).
L'authentification OpenID Connect étant gérée côté backend et non plus
côté frontend.
2020-07-12 19:14:46 +02:00