Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
talhabalaj committed May 11, 2022
1 parent ba5ebcb commit 02060ef
Show file tree
Hide file tree
Showing 43 changed files with 1,597 additions and 565 deletions.
24 changes: 24 additions & 0 deletions apps/api/src/modules/discussion/discussion-response.resolver.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import {
ResolveField,
Resolver,
Root,
} from '@nestjs/graphql'
import { User } from '../user/types/user.model'
import { PrismaService } from '@aelp-app/models'
import { DiscussionResponce } from './types/discussion-responce.model'

@Resolver(() => DiscussionResponce)
export default class DiscussionResponseResolver {
constructor(
private prismaService: PrismaService
) { }

@ResolveField(() => User)
async user(@Root() response: DiscussionResponce) {
return this.prismaService.discussionResponce.findUnique({
where: {
id: response.id,
}
}).user()
}
}
5 changes: 3 additions & 2 deletions apps/api/src/modules/discussion/discussion.module.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { ModelsModule } from '@aelp-app/models'
import { Module } from '@nestjs/common'
import DiscussionResponseResolver from './discussion-response.resolver'
import DiscussionResolver from './discussion.resolver'
import DiscussionService from './discussion.service'

@Module({
imports: [ModelsModule],
providers: [
DiscussionResolver,
DiscussionService,
DiscussionService, DiscussionResponseResolver
],
})
export default class DiscussionModule {}
export default class DiscussionModule { }
20 changes: 18 additions & 2 deletions apps/api/src/modules/discussion/discussion.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { User } from '../user/types/user.model'
import SkipAuth from '../auth/helpers/SkipAuth'
import { DiscussionTag } from './types/discussion-tag.model'
import { DiscussionVote } from './types/discussion-vote.model'
import { DiscussionResponce } from "./types/discussion-responce.model"

@Resolver(() => Discussion)
export default class DiscussionResolver {
Expand Down Expand Up @@ -51,6 +52,16 @@ export default class DiscussionResolver {
return this.discussionService.createDiscussion(data, user)
}

@Mutation(() => Discussion)
async createDiscussionResponse(
@LoggedInUser() user: User,
@Args('response') response: string,
@Args('discussionId') discussionId: string
) {
return this.discussionService.createResponce(discussionId, user, response)
}


@Mutation(() => Discussion)
async updateDiscussion(
@Args('discussionId') discussionId: string,
Expand All @@ -71,7 +82,7 @@ export default class DiscussionResolver {
@Mutation(() => DiscussionVote)
async vote(
@Args('id') id: string,
@Args('isUpvote', {nullable: true}) isUpvote: boolean | null,
@Args('isUpvote', { nullable: true }) isUpvote: boolean | null,
@LoggedInUser() user: User,
) {
return this.discussionService.vote(id, user, isUpvote)
Expand Down Expand Up @@ -102,9 +113,14 @@ export default class DiscussionResolver {
}

@ResolveField(() => [DiscussionVote])
async votes(@Root() discussion: Discussion, @LoggedInUser() user: User) {
async votes(@Root() discussion: Discussion) {
return this.discussionService.getById(discussion.id).votes({

})
}

@ResolveField(() => [DiscussionResponce])
async responces(@Root() discussion: Discussion) {
return this.discussionService.getById(discussion.id).responces()
}
}
33 changes: 33 additions & 0 deletions apps/api/src/modules/discussion/types/discussion-responce.model.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Field } from '@nestjs/graphql';
import { ObjectType } from '@nestjs/graphql';
import { ID } from '@nestjs/graphql';
import { User } from '../../user/types/user.model';
import { Discussion } from './discussion.model';

@ObjectType()
export class DiscussionResponce {

@Field(() => ID, { nullable: false })
id!: string;

@Field(() => User, { nullable: false })
user?: User;

@Field(() => String, { nullable: false })
discussionId!: string;

@Field(() => String, { nullable: false })
responce!: string;

@Field(() => Date, { nullable: false })
updatedAt!: Date;

@Field(() => Date, { nullable: false })
createdAt!: Date;

@Field(() => Discussion, { nullable: false })
discussion?: Discussion;

@Field(() => String, { nullable: false })
userId!: string;
}
31 changes: 0 additions & 31 deletions apps/api/src/modules/user/types/user.model.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
import { Field } from '@nestjs/graphql'
import { ObjectType } from '@nestjs/graphql'
import { ID } from '@nestjs/graphql'
import { HideField } from '@nestjs/graphql'
import { UserCount } from './user-count.output'
import { Country } from '../../country/types/country.model'
import { Role } from '../../../global-types/role.enum'
import { CompetitionParticipant } from '../../competition/types/competition-participant.model'
import { AssessmentAnswer } from '../../assessment/types/assessment-answer.model'
import { ClassroomMember } from '../../classroom/types/classroom-member.model'
import { LinkedAccount } from '../../linked-account/types/linked-account.model'
import { Competition } from '../../competition/types/competition.model'
import { EnvironmentPermission } from '../../environment/types/environment-permission.model'

@ObjectType()
export class User {
Expand All @@ -23,12 +16,6 @@ export class User {
@Field(() => String, { nullable: true })
lastName!: string | null

@Field(() => String, { nullable: true })
name: string | null

@Field(() => String, { nullable: true })
shortName: string | null

@Field(() => String, { nullable: false })
userName!: string

Expand All @@ -50,24 +37,6 @@ export class User {
@Field(() => Date, { nullable: false })
createdAt!: Date

@Field(() => [LinkedAccount], { nullable: true })
linkedAccounts?: Array<LinkedAccount>

@Field(() => [ClassroomMember], { nullable: true })
joinedClassrooms?: Array<ClassroomMember>

@Field(() => [AssessmentAnswer], { nullable: true })
assessmentAnswers?: Array<AssessmentAnswer>

@Field(() => [EnvironmentPermission], { nullable: true })
envirnmentPermissions?: Array<EnvironmentPermission>

@Field(() => [CompetitionParticipant], { nullable: true })
competitionsJoined?: Array<CompetitionParticipant>

@Field(() => [Competition], { nullable: true })
createdCompetitions?: Array<Competition>

@Field(() => UserCount, { nullable: false })
_count?: UserCount
}
15 changes: 14 additions & 1 deletion apps/api/src/modules/user/user.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export default class UserResolver {
private userService: UserService,
private authService: AuthService,
private ipAddressService: IPAddressLookUpService
) {}
) { }

@SkipAuth()
@Mutation(() => UserAuthInfo)
Expand All @@ -41,6 +41,19 @@ export default class UserResolver {
return user
}

@ResolveField(() => String)
async name(@Parent() user: User) {
return user.firstName && user.lastName
? `${user.firstName} ${user.lastName}`
: user.userName
}

@ResolveField(() => String)
async shortName(@Parent() user: User) {
return user.firstName || user.userName
}


@ResolveField(() => ClassroomMember)
async joinedClassrooms(@Parent() user: User) {
return this.userService.getUserJoinedClassrooms(user)
Expand Down
9 changes: 1 addition & 8 deletions apps/api/src/modules/user/user.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,14 +124,7 @@ export class UserService {

if (!user) return null

return {
...user,
name:
user.firstName && user.lastName
? `${user.firstName} ${user.lastName}`
: user.userName,
shortName: user.firstName || user.userName,
}
return user
}

async getUserJoinedClassrooms(user: User) {
Expand Down
100 changes: 0 additions & 100 deletions apps/frontend/components/organisms/question-card/question-card.tsx

This file was deleted.

1 change: 0 additions & 1 deletion apps/frontend/components/organisms/sidebar/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import Link from 'next/link'
import { useRouter } from 'next/router'
import { Logo } from '@components/primitives'
import { ChevronLeftIcon } from '@heroicons/react/outline'
import { link } from 'joi'

export interface SidebarLink {
name: string
Expand Down
22 changes: 6 additions & 16 deletions apps/frontend/modules/classroom/pages/classroom-layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,22 @@ const ClassroomLinks = [
icon: InboxIcon,
href: '/announcements',
},
{
name: 'Questions',
icon: QuestionMarkCircleIcon,
href: '/questions',
},
{
name: 'Assessments',
icon: ClipboardListIcon,
href: '/assessments',
},
{
name: 'Practice',
icon: CollectionIcon,
href: '/practice',
},
{
name: 'Members',
icon: UsersIcon,
href: '/members',
},
{
name: 'Settings',
icon: CogIcon,
allowedOnly: [ClassroomRole.OWNER],
href: '/settings',
},
// {
// name: 'Settings',
// icon: CogIcon,
// allowedOnly: [ClassroomRole.OWNER],
// href: '/settings',
// },
]

type ClassroomLayoutProps = Omit<LayoutProps, 'links'>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ const DashboardLinks = [
href: '/app/classrooms',
},
{
name: 'Questions',
name: 'Discussions',
icon: QuestionMarkCircleIcon,
href: '/app/questions',
href: '/app/discussions',
},
{
name: 'Leaderboard',
Expand Down
Loading

0 comments on commit 02060ef

Please sign in to comment.