Skip to content

Commit

Permalink
feat: [community/profiles] ajoute un badge sur la side bar
Browse files Browse the repository at this point in the history
* ajoute un badge sur le lien vers les profils ayant effectué une demande de relation
  • Loading branch information
matthieuaudemard committed May 5, 2023
1 parent eec9c6c commit c433ad1
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class ProfileRepositoryCustomImpl implements ProfileRepositoryCustom {
private final EntityManager entityManager;

/**
* @param username nom de l'utilisateur courant
* @param username nom de lutilisateur courant
* @param relationCriteria type de relation.
* @param pageable options de pagination
* @return <ul>
Expand Down Expand Up @@ -66,16 +66,15 @@ private Predicate[] generateFilterPredicates(final String username, final Relati
final Subquery<Integer> subQuery = query.subquery(Integer.class);
final Root<RelationModel> r = subQuery.from(RelationModel.class);

// l'utilisateur doit être à la cible d'une invitation (receiver)
// l'utilisateur doit être à la cible dune invitation (receiver)
Predicate relationPredicate = builder.and(builder.equal(r.get("receiver").get("user").get("username"), username), builder.equal(r.get("sender"), p));

// si l'on veut remonter toutes les relatons de l'utilisateur, il faut aussi récupérer les profils pour lesquels il est à l'origine d'une relation
// si lon veut remonter toutes les relatons de lutilisateur, il faut aussi récupérer les profils pour lesquels il est à lorigine dune relation
if (relationCriteria == ALL_FRIENDS) {
final Predicate isSender = builder.and(builder.equal(r.get("sender").get("user").get("username"), username), builder.equal(r.get("receiver"), p));
relationPredicate = builder.or(relationPredicate, isSender);
}

// si 2 utilisateurs sont amis, alors la relation a été confirmée, sinon non
final Predicate confirmedPredicate = relationCriteria == ALL_FRIENDS
? builder.isNotNull(r.get("confirmedAt"))
: builder.isNull(r.get("confirmedAt"));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.dynonuggets.refonteimplicaction.community.profile.controller;

import com.dynonuggets.refonteimplicaction.auth.service.AuthService;
import com.dynonuggets.refonteimplicaction.community.profile.dto.ProfileDto;
import com.dynonuggets.refonteimplicaction.community.profile.dto.ProfileUpdateRequest;
import com.dynonuggets.refonteimplicaction.community.profile.dto.enums.RelationCriteriaEnum;
Expand Down Expand Up @@ -51,6 +52,9 @@ class ProfileControllerTest extends ControllerIntegrationTestBase {
@Getter
protected String baseUri = PROFILES_BASE_URI;

@MockBean
AuthService authService;

@MockBean
ProfileService profileService;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ import {EnumCodeLabelAbstract} from "../../../shared/enums/enum-code-label-abstr
import {Univers} from "../../../shared/enums/univers";

export enum ProfileMenuCode {
ALL = 'ALL', ALL_FRIENDS = 'ALL_FRIENDS', ONLY_FRIEND_REQUESTS = 'ONLY_FRIEND_REQUESTS'
ALL = 'ALL',
ALL_FRIENDS = 'ALL_FRIENDS',
ONLY_FRIEND_REQUESTS = 'ONLY_FRIEND_REQUESTS'
}

export class ProfileMenuEnum extends EnumCodeLabelAbstract<ProfileMenuCode> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import {EnumCodeLabelAbstract} from '../../../shared/enums/enum-code-label-abstract.enum';

export enum RelationActionEnumCode {
CREATE = 'CREATE', DELETE = 'DELETE', CONFIRM = 'CONFIRM'
CREATE = 'CREATE',
DELETE = 'DELETE',
CONFIRM = 'CONFIRM'
}

export class RelationActionEnum extends EnumCodeLabelAbstract<RelationActionEnumCode> {
Expand Down

0 comments on commit c433ad1

Please sign in to comment.