clear schema and no password auth wip

This commit is contained in:
Untone 2021-07-30 15:53:22 +03:00
parent 8c6e1bcfa6
commit 5756a29dd0
2 changed files with 34 additions and 23 deletions

View File

@ -11,14 +11,25 @@ from resolvers.base import mutation, query
from settings import JWT_AUTH_HEADER from settings import JWT_AUTH_HEADER
@mutation.field("confirmEmail")
async def confirm(*_, token):
token = await Authorize.authorize(user)
return { "status": True, "token": token }
@mutation.field("registerUser") @mutation.field("registerUser")
async def register(*_, email: str, password: str) -> User: async def register(*_, email: str, password: str):
inp = { "email": email, "password": password} inp = { "email": email, "password": password}
create_user = CreateUser(**inp) create_user = CreateUser(**inp)
create_user.password = Password.encode(create_user.password) create_user.password = Password.encode(create_user.password)
create_user.username = email.split('@')[0] create_user.username = email.split('@')[0]
user = User.create(**create_user.dict()) user = User.create(**create_user.dict())
# if not password: # TODO: send confirmation email if not password:
# sendAuthEmail(]token)
# TODO: User.password === None and User.emailConfirmed = залогиненный пользователь
# без пароля не возвращаем, а высылаем токен на почту
#
return { "status": True, "user": user }
else:
token = await Authorize.authorize(user) token = await Authorize.authorize(user)
return {"status": True, "user": user, "token": token } return {"status": True, "user": user, "token": token }

View File

@ -20,12 +20,12 @@ type Mutation {
deleteMessage(messageId: Int!): ResultPayload! deleteMessage(messageId: Int!): ResultPayload!
# auth # auth
resetPassword(password: String!, token: String!): Token! # resetPassword(password: String!, token: String!): Token!
confirmEmail(token: String!): Token! confirmEmail(token: String!): ResultPayload!
invalidateAllTokens: Boolean! # invalidateAllTokens: Boolean!
invalidateTokenById(id: Int!): Boolean! # invalidateTokenById(id: Int!): Boolean!
requestEmailConfirmation: User! # requestEmailConfirmation: User!
requestPasswordReset(email: String!): Boolean! # requestPasswordReset(email: String!): Boolean!
registerUser(email: String!, password: String!): ResultPayload! registerUser(email: String!, password: String!): ResultPayload!
# shout # shout
@ -34,9 +34,9 @@ type Mutation {
rateShout(value: Int!): ResultPayload! rateShout(value: Int!): ResultPayload!
# profile # profile
rateUser(value: Int!): ResultPayload! # rateUser(value: Int!): ResultPayload!
updateOnlineStatus: ResultPayload! # updateOnlineStatus: ResultPayload!
updateUsername(username: String!): ResultPayload! # updateUsername(username: String!): ResultPayload!
} }
################################### Query ################################### Query
@ -47,22 +47,22 @@ type Query {
signIn(email: String!, password: String!): ResultPayload! signIn(email: String!, password: String!): ResultPayload!
signOut: ResultPayload! signOut: ResultPayload!
getCurrentUser: ResultPayload! getCurrentUser: ResultPayload!
getUserById(id: Int!): ResultPayload! # getUserById(id: Int!): ResultPayload!
getUserRating(shout: Int): Int! # getUserRating(shout: Int): Int!
# messages # messages
getMessages(count: Int = 100, page: Int = 1): [Message!]! getMessages(count: Int = 100, page: Int = 1): [Message!]!
# shouts # shouts
getShoutRating(shout: Int): Int! # getShoutRating(shout: Int): Int!
shoutsByAuthor(author: Int): [Shout]! # shoutsByAuthor(author: Int): [Shout]!
shoutsByReplyTo(shout: Int): [Shout]! # shoutsByReplyTo(shout: Int): [Shout]!
shoutsByTags(tags: [String]): [Shout]! # shoutsByTags(tags: [String]): [Shout]!
shoutsByTime(time: DateTime): [Shout]! # shoutsByTime(time: DateTime): [Shout]!
getOnlineUsers: [User!]! # getOnlineUsers: [User!]!
topAuthors: [User]! # topAuthors: [User]!
topShouts: [Shout]! # topShouts: [Shout]!
} }
############################################ Subscription ############################################ Subscription