mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Changed structure of the models, now they are not all in one file.
This commit is contained in:
parent
f77364e053
commit
aa22d9154d
@ -11,10 +11,10 @@ export const apiPost = async (url: string, payload: unknown): Promise<any> => {
|
|||||||
if (result.data.state !== 'success') {
|
if (result.data.state !== 'success') {
|
||||||
throw new Error(result.data.msg)
|
throw new Error(result.data.msg)
|
||||||
}
|
}
|
||||||
return { success: true, result }
|
return { success: true, data: result.data }
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
return { success: false, result: error }
|
return { success: false, data: error.message }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,11 +29,11 @@ export const apiGet = async (url: string): Promise<any> => {
|
|||||||
if (!['success', 'warning'].includes(result.data.state)) {
|
if (!['success', 'warning'].includes(result.data.state)) {
|
||||||
throw new Error(result.data.msg)
|
throw new Error(result.data.msg)
|
||||||
}
|
}
|
||||||
return { success: true, result: result }
|
return { success: true, data: result.data }
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log('IN apiGet.ERROR: ' + JSON.stringify({ success: false, result: error }))
|
console.log('IN apiGet.ERROR: ' + JSON.stringify({ success: false, result: error }))
|
||||||
return { success: false, result: error }
|
return { success: false, data: error.message }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import { ObjectType, ArgsType, Field, Int, Float } from 'type-graphql'
|
import { ArgsType, Field } from 'type-graphql'
|
||||||
import { Entity, BaseEntity, Column, Double } from 'typeorm'
|
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export class TransactionInput {
|
export class TransactionInput {
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import { Entity, BaseEntity, Column } from 'typeorm'
|
import { Entity, BaseEntity, Column } from 'typeorm'
|
||||||
import { ObjectType, Field } from 'type-graphql'
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
@ObjectType()
|
@ObjectType()
|
||||||
export class Balance extends BaseEntity {
|
export class Balance extends BaseEntity {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
constructor(json: any) {
|
constructor(json: any) {
|
||||||
super()
|
super()
|
||||||
this.balance = json.balance
|
this.balance = json.balance
|
||||||
|
|||||||
9
backend/src/graphql/models/BaseResponse.ts
Normal file
9
backend/src/graphql/models/BaseResponse.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class BaseResponse extends BaseEntity {
|
||||||
|
@Field(() => Boolean)
|
||||||
|
success: boolean
|
||||||
|
}
|
||||||
9
backend/src/graphql/models/ChangePasswordResponse.ts
Normal file
9
backend/src/graphql/models/ChangePasswordResponse.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class ChangePasswordResponse extends BaseEntity {
|
||||||
|
@Field(() => String)
|
||||||
|
state: string
|
||||||
|
}
|
||||||
15
backend/src/graphql/models/CheckUsernameResponse.ts
Normal file
15
backend/src/graphql/models/CheckUsernameResponse.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class CheckUsernameResponse extends BaseEntity {
|
||||||
|
@Field(() => String)
|
||||||
|
state: string
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
msg?: string
|
||||||
|
|
||||||
|
@Field(() => Number)
|
||||||
|
groupId?: number
|
||||||
|
}
|
||||||
14
backend/src/graphql/models/CreateResponse.ts
Normal file
14
backend/src/graphql/models/CreateResponse.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class CreateResponse extends BaseEntity {
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.state = json.state
|
||||||
|
}
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
state: string
|
||||||
|
}
|
||||||
25
backend/src/graphql/models/LoginResponse.ts
Normal file
25
backend/src/graphql/models/LoginResponse.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
|
import { Entity, BaseEntity, Column } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
import { User } from './User'
|
||||||
|
|
||||||
|
// temporaray solution until we have JWT implemented
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class LoginResponse extends BaseEntity {
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.sessionId = json.session_id
|
||||||
|
this.user = new User(json.user)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Field(() => Number)
|
||||||
|
@Column()
|
||||||
|
sessionId: number
|
||||||
|
|
||||||
|
@Field(() => User)
|
||||||
|
@Column()
|
||||||
|
user: User
|
||||||
|
}
|
||||||
22
backend/src/graphql/models/LoginViaVerificationCode.ts
Normal file
22
backend/src/graphql/models/LoginViaVerificationCode.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
|
import { Entity, BaseEntity, Column } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class LoginViaVerificationCode extends BaseEntity {
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.sessionId = json.session_id
|
||||||
|
this.email = json.user.email
|
||||||
|
}
|
||||||
|
|
||||||
|
@Field(() => Number)
|
||||||
|
@Column()
|
||||||
|
sessionId: number
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
@Column()
|
||||||
|
email: string
|
||||||
|
}
|
||||||
18
backend/src/graphql/models/SendEmailResponse.ts
Normal file
18
backend/src/graphql/models/SendEmailResponse.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class SendEmailResponse extends BaseEntity {
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.state = json.state
|
||||||
|
this.msg = json.msg
|
||||||
|
}
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
state: string
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
msg?: string
|
||||||
|
}
|
||||||
14
backend/src/graphql/models/Server.ts
Normal file
14
backend/src/graphql/models/Server.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class Server extends BaseEntity {
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.loginServerPath = json.login_server_path
|
||||||
|
}
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
loginServerPath: string
|
||||||
|
}
|
||||||
15
backend/src/graphql/models/UpdateUserInfosResponse.ts
Normal file
15
backend/src/graphql/models/UpdateUserInfosResponse.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class UpdateUserInfosResponse extends BaseEntity {
|
||||||
|
@Field(() => String)
|
||||||
|
state: string
|
||||||
|
|
||||||
|
@Field(() => Number)
|
||||||
|
validValues: number
|
||||||
|
|
||||||
|
@Field(() => [String])
|
||||||
|
errors: [string]
|
||||||
|
}
|
||||||
@ -1,3 +1,5 @@
|
|||||||
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import { Entity, BaseEntity, Column } from 'typeorm'
|
import { Entity, BaseEntity, Column } from 'typeorm'
|
||||||
import { ObjectType, Field } from 'type-graphql'
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
|
||||||
@ -9,6 +11,15 @@ export class User extends BaseEntity {
|
|||||||
@PrimaryGeneratedColumn()
|
@PrimaryGeneratedColumn()
|
||||||
id: number
|
id: number
|
||||||
*/
|
*/
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.email = json.email
|
||||||
|
this.firstName = json.first_name
|
||||||
|
this.lastName = json.last_name
|
||||||
|
this.username = json.username
|
||||||
|
this.description = json.description
|
||||||
|
this.language = json.language
|
||||||
|
}
|
||||||
|
|
||||||
@Field(() => String)
|
@Field(() => String)
|
||||||
@Column({ length: 191 })
|
@Column({ length: 191 })
|
||||||
@ -70,115 +81,3 @@ export class User extends BaseEntity {
|
|||||||
publisherId: number
|
publisherId: number
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
// temporaray solution until we have JWT implemented
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class LoginResponse extends BaseEntity {
|
|
||||||
@Field(() => Number)
|
|
||||||
@Column()
|
|
||||||
sessionId: number
|
|
||||||
|
|
||||||
@Field(() => User)
|
|
||||||
@Column()
|
|
||||||
user: User
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class LoginViaVerificationCode extends BaseEntity {
|
|
||||||
@Field(() => Number)
|
|
||||||
@Column()
|
|
||||||
sessionId: number
|
|
||||||
|
|
||||||
@Field(() => String)
|
|
||||||
@Column()
|
|
||||||
email: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class LogoutResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class CreateResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class SendEmailResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
|
|
||||||
@Field(() => String)
|
|
||||||
msg?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class Server extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
loginServerPath: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class ErrorData extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
messages: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class GetUserInfoResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
|
|
||||||
@Field(() => User)
|
|
||||||
userData: User
|
|
||||||
|
|
||||||
@Field(() => Server)
|
|
||||||
server: Server
|
|
||||||
|
|
||||||
@Field(() => [ErrorData])
|
|
||||||
errors: [ErrorData]
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class ChangePasswordResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class UpdateUserInfosResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
|
|
||||||
@Field(() => Number)
|
|
||||||
validValues: number
|
|
||||||
|
|
||||||
@Field(() => [ErrorData])
|
|
||||||
errors: [ErrorData]
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity()
|
|
||||||
@ObjectType()
|
|
||||||
export class CheckUsernameResponse extends BaseEntity {
|
|
||||||
@Field(() => String)
|
|
||||||
state: string
|
|
||||||
|
|
||||||
@Field(() => String)
|
|
||||||
msg?: string
|
|
||||||
|
|
||||||
@Field(() => Number)
|
|
||||||
groupId?: number
|
|
||||||
}
|
|
||||||
|
|||||||
38
backend/src/graphql/models/UserInfoData.ts
Normal file
38
backend/src/graphql/models/UserInfoData.ts
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import { Entity, BaseEntity } from 'typeorm'
|
||||||
|
import { ObjectType, Field } from 'type-graphql'
|
||||||
|
import { Server } from './Server'
|
||||||
|
import { User } from './User'
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class UserInfoData extends BaseEntity {
|
||||||
|
constructor(json: any) {
|
||||||
|
super()
|
||||||
|
this.state = json.state
|
||||||
|
this.userData = new User(json.user_data)
|
||||||
|
this.server = new Server(json.server)
|
||||||
|
this.errors = json.errors
|
||||||
|
}
|
||||||
|
|
||||||
|
@Field(() => String)
|
||||||
|
state: string
|
||||||
|
|
||||||
|
@Field(() => User)
|
||||||
|
userData: User
|
||||||
|
|
||||||
|
@Field(() => Server)
|
||||||
|
server: Server
|
||||||
|
|
||||||
|
@Field(() => [String])
|
||||||
|
errors: [string]
|
||||||
|
}
|
||||||
|
|
||||||
|
@Entity()
|
||||||
|
@ObjectType()
|
||||||
|
export class GetUserInfoResponse extends BaseEntity {
|
||||||
|
@Field(() => Boolean)
|
||||||
|
success: boolean
|
||||||
|
|
||||||
|
@Field(() => UserInfoData)
|
||||||
|
data: UserInfoData
|
||||||
|
}
|
||||||
@ -41,7 +41,7 @@ export class CommunityTransactionResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Query(() => String)
|
@Query(() => String)
|
||||||
async create(
|
async createCoins(
|
||||||
@Args() { sessionId, email, amount, memo, targetDate = new Date() }: TransactionCreateArgs,
|
@Args() { sessionId, email, amount, memo, targetDate = new Date() }: TransactionCreateArgs,
|
||||||
): Promise<any> {
|
): Promise<any> {
|
||||||
const payload = {
|
const payload = {
|
||||||
|
|||||||
@ -1,17 +1,14 @@
|
|||||||
// import jwt from 'jsonwebtoken'
|
// import jwt from 'jsonwebtoken'
|
||||||
import { Resolver, Query, /* Mutation, */ Args, Arg } from 'type-graphql'
|
import { Resolver, Query, /* Mutation, */ Args, Arg } from 'type-graphql'
|
||||||
import CONFIG from '../../config'
|
import CONFIG from '../../config'
|
||||||
import {
|
import { ChangePasswordResponse } from '../models/ChangePasswordResponse'
|
||||||
ChangePasswordResponse,
|
import { CheckUsernameResponse } from '../models/CheckUsernameResponse'
|
||||||
CheckUsernameResponse,
|
import { CreateResponse } from '../models/CreateResponse'
|
||||||
CreateResponse,
|
import { GetUserInfoResponse } from '../models/UserInfoData'
|
||||||
GetUserInfoResponse,
|
import { LoginResponse } from '../models/LoginResponse'
|
||||||
LoginResponse,
|
import { LoginViaVerificationCode } from '../models/LoginViaVerificationCode'
|
||||||
LoginViaVerificationCode,
|
import { SendEmailResponse } from '../models/SendEmailResponse'
|
||||||
LogoutResponse,
|
import { UpdateUserInfosResponse } from '../models/UpdateUserInfosResponse'
|
||||||
SendEmailResponse,
|
|
||||||
UpdateUserInfosResponse,
|
|
||||||
} from '../models/User'
|
|
||||||
import {
|
import {
|
||||||
ChangePasswordArgs,
|
ChangePasswordArgs,
|
||||||
CheckUsernameArgs,
|
CheckUsernameArgs,
|
||||||
@ -27,27 +24,17 @@ import { apiPost, apiGet } from '../../apis/loginAPI'
|
|||||||
export class UserResolver {
|
export class UserResolver {
|
||||||
@Query(() => LoginResponse)
|
@Query(() => LoginResponse)
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
async login(@Args() { email, password }: UnsecureLoginArgs): Promise<any> {
|
async login(@Args() { email, password }: UnsecureLoginArgs): Promise<LoginResponse> {
|
||||||
email = email.trim().toLowerCase()
|
email = email.trim().toLowerCase()
|
||||||
const result = await apiPost(CONFIG.LOGIN_API_URL + 'unsecureLogin', { email, password })
|
const result = await apiPost(CONFIG.LOGIN_API_URL + 'unsecureLogin', { email, password })
|
||||||
|
|
||||||
// if there is no user, throw an authentication error
|
// if there is no user, throw an authentication error
|
||||||
if (!result.success) {
|
if (!result.success) {
|
||||||
throw new Error(result.result)
|
throw new Error(result.data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// temporary solution until we have JWT implemented
|
// temporary solution until we have JWT implemented
|
||||||
return {
|
return new LoginResponse(result.data)
|
||||||
sessionId: result.result.data.session_id,
|
|
||||||
user: {
|
|
||||||
email: result.result.data.user.email,
|
|
||||||
language: result.result.data.user.language,
|
|
||||||
username: result.result.data.user.username,
|
|
||||||
firstName: result.result.data.user.first_name,
|
|
||||||
lastName: result.result.data.user.last_name,
|
|
||||||
description: result.result.data.user.description,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
// create and return the json web token
|
// create and return the json web token
|
||||||
// The expire doesn't help us here. The client needs to track when the token expires on its own,
|
// The expire doesn't help us here. The client needs to track when the token expires on its own,
|
||||||
@ -65,29 +52,35 @@ export class UserResolver {
|
|||||||
|
|
||||||
@Query(() => LoginViaVerificationCode)
|
@Query(() => LoginViaVerificationCode)
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
async loginViaEmailVerificationCode(@Arg('optin') optin: string): Promise<any> {
|
async loginViaEmailVerificationCode(
|
||||||
|
@Arg('optin') optin: string,
|
||||||
|
): Promise<LoginViaVerificationCode> {
|
||||||
// I cannot use number as type here.
|
// I cannot use number as type here.
|
||||||
// The value received is not the same as sent by the query
|
// The value received is not the same as sent by the query
|
||||||
const result = await apiGet(
|
const result = await apiGet(
|
||||||
CONFIG.LOGIN_API_URL + 'loginViaEmailVerificationCode?emailVerificationCode=' + optin,
|
CONFIG.LOGIN_API_URL + 'loginViaEmailVerificationCode?emailVerificationCode=' + optin,
|
||||||
)
|
)
|
||||||
if (result.success)
|
if (!result.success) {
|
||||||
return {
|
throw new Error(result.data)
|
||||||
sessionId: result.result.data.session_id,
|
}
|
||||||
email: result.result.data.user.email,
|
return new LoginViaVerificationCode(result.data)
|
||||||
}
|
|
||||||
return result.result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Query(() => LogoutResponse)
|
/* @Query(() => LogoutResponse)
|
||||||
async logout(@Arg('sessionId') sessionId: number): Promise<any> {
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
async logout(@Arg('sessionId') sessionId: number): Promise<LogoutResponse> {
|
||||||
const payload = { session_id: sessionId }
|
const payload = { session_id: sessionId }
|
||||||
const result = apiPost(CONFIG.LOGIN_API_URL + 'logout', payload);
|
const result = apiPost(CONFIG.LOGIN_API_URL + 'logout', payload)
|
||||||
return result
|
if (!result.success) {
|
||||||
|
throw new Error(result.data)
|
||||||
|
}
|
||||||
|
return result.data
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
@Query(() => CreateResponse)
|
@Query(() => CreateResponse)
|
||||||
async create(@Args() { email, firstName, lastName, password }: CreateUserArgs): Promise<any> {
|
async create(
|
||||||
|
@Args() { email, firstName, lastName, password }: CreateUserArgs,
|
||||||
|
): Promise<CreateResponse> {
|
||||||
const payload = {
|
const payload = {
|
||||||
email,
|
email,
|
||||||
first_name: firstName,
|
first_name: firstName,
|
||||||
@ -96,7 +89,11 @@ export class UserResolver {
|
|||||||
emailType: 2,
|
emailType: 2,
|
||||||
login_after_register: true,
|
login_after_register: true,
|
||||||
}
|
}
|
||||||
return apiPost(CONFIG.LOGIN_API_URL + 'createUser', payload)
|
const result = await apiPost(CONFIG.LOGIN_API_URL + 'createUser', payload)
|
||||||
|
if (!result.success) {
|
||||||
|
throw new Error(result.data)
|
||||||
|
}
|
||||||
|
return new CreateResponse(result.data)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Query(() => SendEmailResponse)
|
@Query(() => SendEmailResponse)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user