From 0b4d27f398b6b9b84a0e3d2350894aed74b0904e Mon Sep 17 00:00:00 2001 From: Hazem Krimi Date: Thu, 29 Apr 2021 19:09:51 +0100 Subject: [PATCH] Update gql types and mutations --- src/graphql/auth.api.ts | 59 +++++++---- src/graphql/types.ts | 225 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 258 insertions(+), 26 deletions(-) diff --git a/src/graphql/auth.api.ts b/src/graphql/auth.api.ts index 6af0d04..3318c63 100644 --- a/src/graphql/auth.api.ts +++ b/src/graphql/auth.api.ts @@ -1,26 +1,8 @@ import gql from 'graphql-tag'; export const SIGNUP = gql` - mutation Signup( - $email: String! - $password: String! - $firstName: String! - $lastName: String! - $phone: PhoneInputModel! - $address: AddressInputModel! - $active: Boolean! - $role: Role! - ) { - signup( - email: $email - password: $password - firstName: $firstName - lastName: $lastName - phone: $phone - address: $address - active: $active - role: $role - ) { + mutation Signup($email: String!, $password: String!) { + signup(email: $email, password: $password) { user { id email @@ -115,3 +97,40 @@ export const CONFIRM_USER_RESET_PASSWORD = gql` } } `; + +export const UPDATE_USER_INFO = gql` + mutation UpdateUserInfo( + $id: String! + $email: String! + $firstName: String! + $lastName: String! + $phone: PhoneInputModel! + $address: AddressInputModel! + ) { + updateUserInfo( + id: $id + email: $email + firstName: $firstName + lastName: $lastName + phone: $phone + address: $address + ) { + id + email + firstName + lastName + phone { + prefix + number + } + address { + place + city + country + zip + } + active + role + } + } +`; diff --git a/src/graphql/types.ts b/src/graphql/types.ts index 4b4fbc3..298c5db 100644 --- a/src/graphql/types.ts +++ b/src/graphql/types.ts @@ -33,21 +33,82 @@ export type AuthResponseModel = { token: Scalars['String']; }; +export type CategoryResponseModel = { + __typename?: 'CategoryResponseModel'; + id: Scalars['String']; + name: Scalars['String']; + description: Scalars['String']; + image: File; +}; + +export type FeatureResponseModel = { + __typename?: 'FeatureResponseModel'; + id: Scalars['String']; + name: Scalars['String']; + description: Scalars['String']; + featureType: Scalars['String']; + image: File; + wireframes?: Maybe>; + price: Scalars['Float']; + repo: Scalars['String']; +}; + +export type File = { + __typename?: 'File'; + name: Scalars['String']; + src: Scalars['String']; +}; + +export type FileWithOutOId = { + __typename?: 'FileWithOutOId'; + id: Scalars['String']; + name: Scalars['String']; + src: Scalars['String']; +}; + +export type Introduction = { + __typename?: 'Introduction'; + purpose: Scalars['String']; + documentConventions: Scalars['String']; + intendedAudience: Scalars['String']; + projectScope: Scalars['String']; +}; + +export type IntroductionInput = { + purpose: Scalars['String']; + documentConventions: Scalars['String']; + intendedAudience: Scalars['String']; + projectScope: Scalars['String']; +}; + export type MutationRoot = { __typename?: 'MutationRoot'; signup: AuthResponseModel; + createUser: UserResponseModel; login: AuthResponseModel; deleteUser: UserResponseModel; updateUserInfo: UserResponseModel; updateUserPassword: UserResponseModel; resetUserPassword: UserResponseModel; confirmUserResetPassword: UserResponseModel; + deleteCategory: CategoryResponseModel; + deleteFeature: FeatureResponseModel; + deleteTemplate: TemplateModel; + addTemplateFeature: TemplateResponseModel; + deleteTemplateFeature: TemplateResponseModel; + addTemplateSpecification: TemplateResponseModel; }; export type MutationRootSignupArgs = { email: Scalars['String']; password: Scalars['String']; +}; + + +export type MutationRootCreateUserArgs = { + email: Scalars['String']; + password: Scalars['String']; firstName: Scalars['String']; lastName: Scalars['String']; phone: PhoneInputModel; @@ -71,6 +132,8 @@ export type MutationRootDeleteUserArgs = { export type MutationRootUpdateUserInfoArgs = { id: Scalars['String']; + firstName: Scalars['String']; + lastName: Scalars['String']; email: Scalars['String']; phone: PhoneInputModel; address: AddressInputModel; @@ -93,6 +156,73 @@ export type MutationRootConfirmUserResetPasswordArgs = { password: Scalars['String']; }; + +export type MutationRootDeleteCategoryArgs = { + id: Scalars['String']; +}; + + +export type MutationRootDeleteFeatureArgs = { + id: Scalars['String']; +}; + + +export type MutationRootDeleteTemplateArgs = { + id: Scalars['String']; +}; + + +export type MutationRootAddTemplateFeatureArgs = { + id: Scalars['String']; + featuresId: Array; +}; + + +export type MutationRootDeleteTemplateFeatureArgs = { + id: Scalars['String']; + featuerId: Scalars['String']; +}; + + +export type MutationRootAddTemplateSpecificationArgs = { + id: Scalars['String']; + specification: SpecificationInput; +}; + +export type NonFunctionalRequirements = { + __typename?: 'NonFunctionalRequirements'; + performanceRequirements: Scalars['String']; + safetyRequirements: Scalars['String']; + securityRequirements: Scalars['String']; + softwareQualityAttributes: Scalars['String']; +}; + +export type NonFunctionalRequirementsInput = { + performanceRequirements: Scalars['String']; + safetyRequirements: Scalars['String']; + securityRequirements: Scalars['String']; + softwareQualityAttributes: Scalars['String']; +}; + +export type OverallDescription = { + __typename?: 'OverallDescription'; + perspective: Scalars['String']; + userCharacteristics: Scalars['String']; + operatingEnvironment: Scalars['String']; + designImplementationConstraints: Scalars['String']; + userDocumentation: Scalars['String']; + assemptionsDependencies: Scalars['String']; +}; + +export type OverallDescriptionInput = { + perspective: Scalars['String']; + userCharacteristics: Scalars['String']; + operatingEnvironment: Scalars['String']; + designImplementationConstraints: Scalars['String']; + userDocumentation: Scalars['String']; + assemptionsDependencies: Scalars['String']; +}; + export type PasswordInputModel = { oldPassword: Scalars['String']; newPassword: Scalars['String']; @@ -113,6 +243,12 @@ export type QueryRoot = { __typename?: 'QueryRoot'; getAllUsers: Array; getUserById: UserResponseModel; + getCategoryById: CategoryResponseModel; + getFeatureById: FeatureResponseModel; + getTemplateById: TemplateResponseModel; + getAllCategories: Array; + getAllFeatures: Array; + getAllTemplates: Array; }; @@ -120,12 +256,70 @@ export type QueryRootGetUserByIdArgs = { id: Scalars['String']; }; + +export type QueryRootGetCategoryByIdArgs = { + id: Scalars['String']; +}; + + +export type QueryRootGetFeatureByIdArgs = { + id: Scalars['String']; +}; + + +export type QueryRootGetTemplateByIdArgs = { + id: Scalars['String']; +}; + export type Role = | 'Admin' | 'Client' | 'ProductOwner' | 'Developer'; +export type Specification = { + __typename?: 'Specification'; + introduction: Introduction; + overallDescription: OverallDescription; + nonFunctionalRequirements: NonFunctionalRequirements; + otherRequirements: Scalars['String']; + glossary: Scalars['String']; + analysisModels: Scalars['String']; + issuesList: Scalars['String']; +}; + +export type SpecificationInput = { + introduction: IntroductionInput; + overallDescription: OverallDescriptionInput; + nonFunctionalRequirements: NonFunctionalRequirementsInput; + otherRequirements: Scalars['String']; + glossary: Scalars['String']; + analysisModels: Scalars['String']; + issuesList: Scalars['String']; +}; + +export type TemplateModel = { + __typename?: 'TemplateModel'; + id: Scalars['String']; + name: Scalars['String']; + description: Scalars['String']; + category: Scalars['String']; + features?: Maybe>; + image: File; + specification?: Maybe; +}; + +export type TemplateResponseModel = { + __typename?: 'TemplateResponseModel'; + id: Scalars['String']; + name: Scalars['String']; + description: Scalars['String']; + category: Scalars['String']; + features?: Maybe>; + image: File; + specification?: Maybe; +}; + export type UserResponseModel = { __typename?: 'UserResponseModel'; id: Scalars['String']; @@ -141,12 +335,6 @@ export type UserResponseModel = { export type SignupMutationVariables = Exact<{ email: Scalars['String']; password: Scalars['String']; - firstName: Scalars['String']; - lastName: Scalars['String']; - phone: PhoneInputModel; - address: AddressInputModel; - active: Scalars['Boolean']; - role: Role; }>; @@ -234,3 +422,28 @@ export type ConfirmUserResetPasswordMutation = ( ) } ) } ); + +export type UpdateUserInfoMutationVariables = Exact<{ + id: Scalars['String']; + email: Scalars['String']; + firstName: Scalars['String']; + lastName: Scalars['String']; + phone: PhoneInputModel; + address: AddressInputModel; +}>; + + +export type UpdateUserInfoMutation = ( + { __typename?: 'MutationRoot' } + & { updateUserInfo: ( + { __typename?: 'UserResponseModel' } + & Pick + & { phone: ( + { __typename?: 'PhoneModel' } + & Pick + ), address: ( + { __typename?: 'AddressModel' } + & Pick + ) } + ) } +);