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

View File

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