Skip to content

Commit

Permalink
Activity Detail done
Browse files Browse the repository at this point in the history
  • Loading branch information
sayoungestguy committed Sep 9, 2024
1 parent 569ec6c commit 378c3c3
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.teamsixnus.scaleup.repository;

import com.teamsixnus.scaleup.domain.ActivityInvite;
import com.teamsixnus.scaleup.service.dto.ActivityInviteDTO;
import java.util.List;
import org.springframework.data.jpa.repository.*;
import org.springframework.stereotype.Repository;

Expand All @@ -9,4 +11,7 @@
*/
@SuppressWarnings("unused")
@Repository
public interface ActivityInviteRepository extends JpaRepository<ActivityInvite, Long> {}
public interface ActivityInviteRepository extends JpaRepository<ActivityInvite, Long> {
// Fetch all invites for a specific activity by its ID
List<ActivityInviteDTO> findByActivity_Id(Long activityId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.teamsixnus.scaleup.repository.ActivityInviteRepository;
import com.teamsixnus.scaleup.service.dto.ActivityInviteDTO;
import com.teamsixnus.scaleup.service.mapper.ActivityInviteMapper;
import java.util.List;
import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -110,4 +111,9 @@ public void delete(Long id) {
log.debug("Request to delete ActivityInvite : {}", id);
activityInviteRepository.deleteById(id);
}

// Fetch all invites for a specific activity
public List<ActivityInviteDTO> getInvitesByActivityId(Long activityId) {
return activityInviteRepository.findByActivity_Id(activityId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -177,4 +177,9 @@ public ResponseEntity<Void> deleteActivityInvite(@PathVariable("id") Long id) {
.headers(HeaderUtil.createEntityDeletionAlert(applicationName, false, ENTITY_NAME, id.toString()))
.build();
}

@GetMapping("/{activityId}")
public List<ActivityInviteDTO> getActivityInvitesByActivityId(@PathVariable Long activityId) {
return activityInviteService.getInvitesByActivityId(activityId);
}
}
4 changes: 2 additions & 2 deletions src/main/resources/.h2.server.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#H2 Server Properties
#Sat Sep 07 13:25:07 SGT 2024
#Mon Sep 09 22:45:36 SGT 2024
0=JHipster H2 (Disk)|org.h2.Driver|jdbc\:h2\:file\:./target/h2db/db/scaleup|scaleup
webSSL=false
webAllowOthers=true
webPort=8092
webSSL=false
21 changes: 18 additions & 3 deletions src/main/webapp/app/entities/activity/activity-detail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import { ASC, DESC, ITEMS_PER_PAGE } from 'app/shared/util/pagination.constants'
import { faSort, faSortDown, faSortUp } from '@fortawesome/free-solid-svg-icons';
import InfiniteScroll from 'react-infinite-scroll-component';
import { overridePaginationStateWithQueryParams } from 'app/shared/util/entity-utils';
import { getSkillById } from 'app/entities/skill/skill.reducer';
import { getEntity } from 'app/entities/user-profile/user-profile.reducer';

export const ActivityDetail = () => {
const dispatch = useAppDispatch();
Expand All @@ -32,6 +34,20 @@ export const ActivityDetail = () => {
}, []);

const activityEntity = useAppSelector(state => state.activity.entity);

useEffect(() => {
if (activityEntity?.creatorProfile?.id) {
dispatch(getEntity(activityEntity.creatorProfile.id)); // Fetch profile by ID
}
if (activityEntity?.skill?.id) {
dispatch(getSkillById(activityEntity.skill.id)); // Fetch skill by ID
}
}, [dispatch, activityEntity]);

// Get profile and skill data from the Redux state
const creatorProfile = useAppSelector(state => (activityEntity.creatorProfile?.id ? state.userProfile.entity : null));
const skill = useAppSelector(state => (activityEntity.skill?.id ? state.skill.entity : null));

const [paginationState, setPaginationState] = useState(
overridePaginationStateWithQueryParams(getPaginationState(pageLocation, ITEMS_PER_PAGE, 'id'), pageLocation.search),
);
Expand Down Expand Up @@ -150,9 +166,9 @@ export const ActivityDetail = () => {
</dt>
<dd>{activityEntity.details}</dd>
<dt>Creator Profile</dt>
<dd>{activityEntity.creatorProfile ? activityEntity.creatorProfile.id : ''}</dd>
<dd>{creatorProfile ? creatorProfile.nickname : ''}</dd>
<dt>Skill</dt>
<dd>{activityEntity.skill ? activityEntity.skill.id : ''}</dd>
<dd>{skill ? skill.skillName : ''}</dd>
</dl>
<Button tag={Link} to="/activity" replace color="info" data-cy="entityDetailsBackButton">
<FontAwesomeIcon icon="arrow-left" /> <span className="d-none d-md-inline">Back</span>
Expand Down Expand Up @@ -225,7 +241,6 @@ export const ActivityDetail = () => {
</Button>
</td>
<td>{activityInvite.willParticipate ? 'true' : 'false'}</td>
<td>{activityInvite.createdBy}</td>
<td>
{activityInvite.activity ? (
<Link to={`/activity/${activityInvite.activity.id}`}>{activityInvite.activity.id}</Link>
Expand Down

0 comments on commit 378c3c3

Please sign in to comment.