From ccdce37f8831c6d8216441a36575d7d1fc11d0fe Mon Sep 17 00:00:00 2001 From: Mir Arif Hasan Date: Tue, 28 Mar 2023 17:46:41 +0600 Subject: [PATCH] fix: enum type fixes in SDL (HBE-183) (#55) * fix: added reqType typed in sdl * fix: updateUserSession type --- .../src/user-collection/input-type.args.ts | 4 ++-- .../src/user-collection/user-collection.service.ts | 8 ++------ .../src/user-history/user-history.model.ts | 6 +----- .../src/user-history/user-history.resolver.ts | 7 +++++-- .../src/user-history/user-history.service.spec.ts | 4 ++-- .../src/user-history/user-history.service.ts | 3 ++- .../hoppscotch-backend/src/user-history/user.resolver.ts | 3 ++- .../src/user-request/input-type.args.ts | 2 +- .../src/user-request/resolvers/user-request.resolver.ts | 2 +- .../src/user-request/user-request.model.ts | 2 +- .../src/user-request/user-request.service.spec.ts | 2 +- .../src/user-request/user-request.service.ts | 2 +- packages/hoppscotch-backend/src/user/user.model.ts | 1 - packages/hoppscotch-backend/src/user/user.resolver.ts | 1 + packages/hoppscotch-backend/src/user/user.service.ts | 2 +- 15 files changed, 23 insertions(+), 26 deletions(-) diff --git a/packages/hoppscotch-backend/src/user-collection/input-type.args.ts b/packages/hoppscotch-backend/src/user-collection/input-type.args.ts index 4aea0cff3..07e612bf0 100644 --- a/packages/hoppscotch-backend/src/user-collection/input-type.args.ts +++ b/packages/hoppscotch-backend/src/user-collection/input-type.args.ts @@ -1,5 +1,5 @@ import { Field, ID, ArgsType } from '@nestjs/graphql'; -import { ReqType } from '@prisma/client'; +import { ReqType } from 'src/types/RequestTypes'; import { PaginationArgs } from 'src/types/input-types.args'; @ArgsType() @@ -82,7 +82,7 @@ export class ImportUserCollectionsFromJSONArgs { description: 'JSON string to import', }) jsonString: string; - @Field({ + @Field(() => ReqType, { name: 'reqType', description: 'Type of UserCollection', }) diff --git a/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts b/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts index c0475726e..f1cb0a03d 100644 --- a/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts +++ b/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts @@ -18,16 +18,12 @@ import { AuthUser } from 'src/types/AuthUser'; import * as E from 'fp-ts/Either'; import * as O from 'fp-ts/Option'; import { PubSubService } from 'src/pubsub/pubsub.service'; -import { - Prisma, - User, - UserCollection, - ReqType as DBReqType, -} from '@prisma/client'; +import { Prisma, UserCollection, ReqType as DBReqType } from '@prisma/client'; import { UserCollection as UserCollectionModel } from './user-collections.model'; import { ReqType } from 'src/types/RequestTypes'; import { isValidLength, stringToJson } from 'src/utils'; import { CollectionFolder } from 'src/types/CollectionFolder'; + @Injectable() export class UserCollectionService { constructor( diff --git a/packages/hoppscotch-backend/src/user-history/user-history.model.ts b/packages/hoppscotch-backend/src/user-history/user-history.model.ts index 493646466..49f8620ce 100644 --- a/packages/hoppscotch-backend/src/user-history/user-history.model.ts +++ b/packages/hoppscotch-backend/src/user-history/user-history.model.ts @@ -1,4 +1,5 @@ import { Field, ID, ObjectType, registerEnumType } from '@nestjs/graphql'; +import { ReqType } from 'src/types/RequestTypes'; @ObjectType() export class UserHistory { @@ -39,11 +40,6 @@ export class UserHistory { executedOn: Date; } -export enum ReqType { - REST = 'REST', - GQL = 'GQL', -} - registerEnumType(ReqType, { name: 'ReqType', }); diff --git a/packages/hoppscotch-backend/src/user-history/user-history.resolver.ts b/packages/hoppscotch-backend/src/user-history/user-history.resolver.ts index f3741a7aa..19c384c16 100644 --- a/packages/hoppscotch-backend/src/user-history/user-history.resolver.ts +++ b/packages/hoppscotch-backend/src/user-history/user-history.resolver.ts @@ -2,6 +2,7 @@ import { Args, ID, Mutation, Resolver, Subscription } from '@nestjs/graphql'; import { UserHistoryService } from './user-history.service'; import { PubSubService } from '../pubsub/pubsub.service'; import { UserHistory } from './user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import { UseGuards } from '@nestjs/common'; import { GqlAuthGuard } from '../guards/gql-auth.guard'; import { GqlUser } from '../decorators/gql-user.decorator'; @@ -40,8 +41,9 @@ export class UserHistoryResolver { @Args({ name: 'reqType', description: 'Request type, REST or GQL', + type: () => ReqType, }) - reqType: string, + reqType: ReqType, ): Promise { const createdHistory = await this.userHistoryService.createUserHistory( user.uid, @@ -101,8 +103,9 @@ export class UserHistoryResolver { @Args({ name: 'reqType', description: 'Request type, REST or GQL', + type: () => ReqType, }) - reqType: string, + reqType: ReqType, ): Promise { const deletedHistory = await this.userHistoryService.deleteAllUserHistory( user.uid, diff --git a/packages/hoppscotch-backend/src/user-history/user-history.service.spec.ts b/packages/hoppscotch-backend/src/user-history/user-history.service.spec.ts index 08abd099f..4eec4e975 100644 --- a/packages/hoppscotch-backend/src/user-history/user-history.service.spec.ts +++ b/packages/hoppscotch-backend/src/user-history/user-history.service.spec.ts @@ -2,12 +2,12 @@ import { UserHistoryService } from './user-history.service'; import { PrismaService } from '../prisma/prisma.service'; import { PubSubService } from '../pubsub/pubsub.service'; import { mockDeep, mockReset } from 'jest-mock-extended'; -import { ReqType, UserHistory } from './user-history.model'; +import { UserHistory } from './user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import { USER_HISTORY_INVALID_REQ_TYPE, USER_HISTORY_NOT_FOUND, } from '../errors'; -import { ReqType as DBReqType } from '@prisma/client'; const mockPrisma = mockDeep(); const mockPubSub = mockDeep(); diff --git a/packages/hoppscotch-backend/src/user-history/user-history.service.ts b/packages/hoppscotch-backend/src/user-history/user-history.service.ts index 80df70853..66e0b8ba3 100644 --- a/packages/hoppscotch-backend/src/user-history/user-history.service.ts +++ b/packages/hoppscotch-backend/src/user-history/user-history.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { PrismaService } from '../prisma/prisma.service'; import { PubSubService } from '../pubsub/pubsub.service'; -import { ReqType, UserHistory } from './user-history.model'; +import { UserHistory } from './user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import * as E from 'fp-ts/Either'; import * as O from 'fp-ts/Option'; import { diff --git a/packages/hoppscotch-backend/src/user-history/user.resolver.ts b/packages/hoppscotch-backend/src/user-history/user.resolver.ts index 01f7d97ee..95eab34a6 100644 --- a/packages/hoppscotch-backend/src/user-history/user.resolver.ts +++ b/packages/hoppscotch-backend/src/user-history/user.resolver.ts @@ -1,7 +1,8 @@ import { Args, Parent, ResolveField, Resolver } from '@nestjs/graphql'; import { User } from '../user/user.model'; import { UserHistoryService } from './user-history.service'; -import { ReqType, UserHistory } from './user-history.model'; +import { UserHistory } from './user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import { PaginationArgs } from '../types/input-types.args'; @Resolver(() => User) diff --git a/packages/hoppscotch-backend/src/user-request/input-type.args.ts b/packages/hoppscotch-backend/src/user-request/input-type.args.ts index 924a5244f..b45445bf5 100644 --- a/packages/hoppscotch-backend/src/user-request/input-type.args.ts +++ b/packages/hoppscotch-backend/src/user-request/input-type.args.ts @@ -1,6 +1,6 @@ import { Field, ID, ArgsType } from '@nestjs/graphql'; import { PaginationArgs } from 'src/types/input-types.args'; -import { ReqType } from 'src/user-history/user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; @ArgsType() export class GetUserRequestArgs extends PaginationArgs { diff --git a/packages/hoppscotch-backend/src/user-request/resolvers/user-request.resolver.ts b/packages/hoppscotch-backend/src/user-request/resolvers/user-request.resolver.ts index 06f76cab9..cff972dd3 100644 --- a/packages/hoppscotch-backend/src/user-request/resolvers/user-request.resolver.ts +++ b/packages/hoppscotch-backend/src/user-request/resolvers/user-request.resolver.ts @@ -24,7 +24,7 @@ import { } from '../input-type.args'; import { AuthUser } from 'src/types/AuthUser'; import { User } from 'src/user/user.model'; -import { ReqType } from 'src/user-history/user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import { GqlThrottlerGuard } from 'src/guards/gql-throttler.guard'; import { SkipThrottle } from '@nestjs/throttler'; diff --git a/packages/hoppscotch-backend/src/user-request/user-request.model.ts b/packages/hoppscotch-backend/src/user-request/user-request.model.ts index 2d03fec7e..eb2987fdc 100644 --- a/packages/hoppscotch-backend/src/user-request/user-request.model.ts +++ b/packages/hoppscotch-backend/src/user-request/user-request.model.ts @@ -1,5 +1,5 @@ import { Field, ID, ObjectType } from '@nestjs/graphql'; -import { ReqType } from 'src/user-history/user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; @ObjectType() export class UserRequest { diff --git a/packages/hoppscotch-backend/src/user-request/user-request.service.spec.ts b/packages/hoppscotch-backend/src/user-request/user-request.service.spec.ts index 9d6900b70..2ff0db6fa 100644 --- a/packages/hoppscotch-backend/src/user-request/user-request.service.spec.ts +++ b/packages/hoppscotch-backend/src/user-request/user-request.service.spec.ts @@ -20,7 +20,7 @@ import { import { UserRequest } from './user-request.model'; import { UserRequestService } from './user-request.service'; import { AuthUser } from 'src/types/AuthUser'; -import { ReqType } from 'src/user-history/user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import { UserCollectionService } from 'src/user-collection/user-collection.service'; const mockPrisma = mockDeep(); diff --git a/packages/hoppscotch-backend/src/user-request/user-request.service.ts b/packages/hoppscotch-backend/src/user-request/user-request.service.ts index 42d02bfa7..5d820a87f 100644 --- a/packages/hoppscotch-backend/src/user-request/user-request.service.ts +++ b/packages/hoppscotch-backend/src/user-request/user-request.service.ts @@ -13,7 +13,7 @@ import { } from 'src/errors'; import { stringToJson } from 'src/utils'; import { AuthUser } from 'src/types/AuthUser'; -import { ReqType } from 'src/user-history/user-history.model'; +import { ReqType } from 'src/types/RequestTypes'; import { UserCollectionService } from 'src/user-collection/user-collection.service'; @Injectable() diff --git a/packages/hoppscotch-backend/src/user/user.model.ts b/packages/hoppscotch-backend/src/user/user.model.ts index f4997fb17..d5eeb1ed8 100644 --- a/packages/hoppscotch-backend/src/user/user.model.ts +++ b/packages/hoppscotch-backend/src/user/user.model.ts @@ -2,7 +2,6 @@ import { ObjectType, ID, Field, - InputType, registerEnumType, } from '@nestjs/graphql'; diff --git a/packages/hoppscotch-backend/src/user/user.resolver.ts b/packages/hoppscotch-backend/src/user/user.resolver.ts index c5b865957..b8cdaa0d8 100644 --- a/packages/hoppscotch-backend/src/user/user.resolver.ts +++ b/packages/hoppscotch-backend/src/user/user.resolver.ts @@ -46,6 +46,7 @@ export class UserResolver { @Args({ name: 'sessionType', description: 'Type of the session', + type: () => SessionType, }) sessionType: SessionType, ): Promise { diff --git a/packages/hoppscotch-backend/src/user/user.service.ts b/packages/hoppscotch-backend/src/user/user.service.ts index edfe8e239..93da14e54 100644 --- a/packages/hoppscotch-backend/src/user/user.service.ts +++ b/packages/hoppscotch-backend/src/user/user.service.ts @@ -8,7 +8,7 @@ import * as T from 'fp-ts/Task'; import * as A from 'fp-ts/Array'; import { pipe, constVoid } from 'fp-ts/function'; import { AuthUser } from 'src/types/AuthUser'; -import { USER_NOT_FOUND, USERS_NOT_FOUND } from 'src/errors'; +import { USER_NOT_FOUND } from 'src/errors'; import { SessionType, User } from './user.model'; import { USER_UPDATE_FAILED } from 'src/errors'; import { PubSubService } from 'src/pubsub/pubsub.service';