Skip to content

Commit

Permalink
Merge pull request #32 from ldhbenecia/develop
Browse files Browse the repository at this point in the history
[Refactor] 충돌 수정 이후 memberCount 변수명 재수정
  • Loading branch information
ldhbenecia authored Mar 8, 2024
2 parents 3161dd9 + a1875ba commit 309e594
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
30 changes: 15 additions & 15 deletions app/backend/src/groups/groups.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { v4 as uuidv4 } from 'uuid';
export class GroupsRepository {
constructor(private prisma: PrismaService) {}

private async getGroupMembersCount(groupId: number): Promise<number> {
private async getGroupMemberCount(groupId: number): Promise<number> {
return this.prisma.groupToUser.count({
where: {
groupId: groupId,
Expand All @@ -25,18 +25,18 @@ export class GroupsRepository {
return groupAccessCode.accessCode;
}

async getAllGroups(): Promise<(Group & { membersCount: number })[]> {
async getAllGroups(): Promise<(Group & { memberCount: number })[]> {
const groups = await this.prisma.group.findMany();

const groupPromises = groups.map(async (group) => {
const membersCount = await this.getGroupMembersCount(Number(group.id));
return { ...group, membersCount };
const memberCount = await this.getGroupMemberCount(Number(group.id));
return { ...group, memberCount };
});

return Promise.all(groupPromises);
}

async getGroupByAccessCode(accessCode: string): Promise<Group & { membersCount: number }> {
async getGroupByAccessCode(accessCode: string): Promise<Group & { memberCount: number }> {
const groupAccessCode = await this.prisma.groupAccessCode.findUnique({
where: {
accessCode: accessCode,
Expand All @@ -50,14 +50,14 @@ export class GroupsRepository {
throw new NotFoundException('Group not found for the provided access code');
}

const membersCount = await this.getGroupMembersCount(Number(groupAccessCode.groupId));
const memberCount = await this.getGroupMemberCount(Number(groupAccessCode.groupId));
return {
...groupAccessCode.groupAccessCodes,
membersCount,
memberCount,
};
}

async getGroups(id: number): Promise<Group & { membersCount: number }> {
async getGroups(id: number): Promise<Group & { memberCount: number }> {
const group = await this.prisma.group.findUnique({
where: {
id: id,
Expand All @@ -68,8 +68,8 @@ export class GroupsRepository {
throw new NotFoundException(`Group with ID ${id} not found.`);
}

const membersCount = await this.getGroupMembersCount(id);
return { ...group, membersCount };
const memberCount = await this.getGroupMemberCount(id);
return { ...group, memberCount };
}

async getAllMembersOfGroup(groupId: number): Promise<MemberInformationDto[]> {
Expand Down Expand Up @@ -176,21 +176,21 @@ export class GroupsRepository {
});
}

async getMyGroups(member: Member): Promise<(Group & { membersCount: number; accessCode: string })[]> {
async getMyGroups(member: Member): Promise<(Group & { memberCount: number; accessCode: string })[]> {
const groupToUsers = await this.prisma.groupToUser.findMany({
where: { userId: member.id },
include: {
group: true,
},
});

const groupsWithMembersCount = groupToUsers.map(async (groupToUser) => {
const membersCount = await this.getGroupMembersCount(Number(groupToUser.groupId));
const groupsWithMemberCount = groupToUsers.map(async (groupToUser) => {
const memberCount = await this.getGroupMemberCount(Number(groupToUser.groupId));
const accessCode = await this.getGroupAccessCode(Number(groupToUser.groupId));
return { ...groupToUser.group, membersCount, accessCode };
return { ...groupToUser.group, memberCount, accessCode };
});

return Promise.all(groupsWithMembersCount);
return Promise.all(groupsWithMemberCount);
}

async isJoinedGroup(groupId: number, memberId: number): Promise<boolean> {
Expand Down
1 change: 1 addition & 0 deletions app/backend/src/groups/groups.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ export class GroupsService {

async getMyGroups(member: Member): Promise<(Group & { memberCount: number })[]> {
return await this.groupsRepository.getMyGroups(member);
}

async kickOutMember(id: number, memberId: number, groupOwner: Member): Promise<void> {
await this.groupsRepository.kickOutMember(id, memberId, groupOwner);
Expand Down

0 comments on commit 309e594

Please sign in to comment.