diff --git a/auth_utils.py b/auth_utils.py deleted file mode 100644 index b8af071c..00000000 --- a/auth_utils.py +++ /dev/null @@ -1,46 +0,0 @@ -import jwt -from hashlib import md5 - -# see: settings.py -JWT_SECRET_KEY = "my secret key" -JWT_ALGORITHM = "HS256" - -JWT_AUTH_HEADER = "HTTP_AUTHORIZATION" - - -# see: auth.password.Password -def password_to_hash(password): - return md5(password.encode('utf-8')).hexdigest() - -def verify_password(password, hash): - return password_to_hash(password) == hash - -# see: auth.auth.token.Token -def jwt_encode(user): - payload = { - "user_id" : user.id - } - - token = jwt.encode(payload, JWT_SECRET_KEY, JWT_ALGORITHM) - - if isinstance(token, bytes): - return token.decode('utf-8') - - return token - -def jwt_decode(token): - try: - payload = jwt.decode(token, JWT_SECRET_KEY, algorithms = [JWT_ALGORITHM]) - except jwt.DecodeError: - raise Exception("Error decoding signature") - except jwt.InvalidTokenError: - raise Exception("Invalid token") - - user_id = payload["user_id"] - return user_id - -# see: auth.authorize -def authorize(request): - token = request.headers.get(JWT_AUTH_HEADER, '') - user_id = jwt_decode(token) - return user_id diff --git a/schema.graphql b/schema.graphql deleted file mode 100644 index 66ea9e01..00000000 --- a/schema.graphql +++ /dev/null @@ -1,163 +0,0 @@ -scalar DateTime - -type createMessagePayload { - status: Boolean! - error: String - message: Message -} - -type deleteMessagePayload { - status: Boolean! - error: String -} - -input MessageInput { - body: String! - replyTo: Int -} - -input updateMessageInput { - id: Int! - body: String! -} - -type Message { - author: Int! - visibleForUsers: [Int] - body: String! - createdAt: DateTime! - id: Int! - replyTo: Int - updatedAt: DateTime! -} - -type Mutation { - # message - createMessage(input: MessageInput!): createMessagePayload! - updateMessage(input: updateMessageInput!): createMessagePayload! - deleteMessage(messageId: Int!): deleteMessagePayload! - - # auth - confirmEmail(token: String!): Token! - invalidateAllTokens: Boolean! - invalidateTokenById(id: Int!): Boolean! - requestEmailConfirmation: User! - requestPasswordReset(email: String!): Boolean! - resetPassword(password: String!, token: String!): Token! - signIn(email: String!, password: String!): Token! # login - signUp(email: String!, password: String!, username: String): User! # register - - # shout - createShout(body: String!, replyTo: [Int], title: String, versionOf: [Int], visibleForRoles: [Int], visibleForUsers: [Int]): Message! - deleteShout(shoutId: Int!): Message! - rateShout(value: Int!): Boolean! - - # profile - rateUser(value: Int!): Boolean! - updateOnlineStatus: Boolean! - updateUsername(username: String!): User! - - # proposal - createProposal(shout: Int!, range: String!): Boolean! - updateProposal(proposal: Int!, body: String!): Boolean! - removeProposal(proposal: Int!): Boolean! - approveProposal(proposal: Int!): Boolean! -} - -type Query { - # auth - getCurrentUser: User! - logout: [Boolean!] - getTokens: [Token!]! - isUsernameFree(username: String!): Boolean! - - # profile - getUserById(id: Int!): User! - getUserRating(shout: Int): Int! - getOnline: [User!]! - - # message - getMessages(count: Int = 100, page: Int = 1): [Message!]! - - # shout - getShoutRating(shout: Int): Int! - shoutsByAuthor(author: Int): [Shout]! - shoutsByReplyTo(shout: Int): [Shout]! - shoutsByTags(tags: [String]): [Shout]! - shoutsByTime(time: DateTime): [Shout]! - topAuthors: [User]! - topShouts: [Shout]! - - # proposal - getShoutProposals(shout: Int): [Proposal]! -} - -type Role { - id: Int! - name: String! -} - -type Shout { - author: Int! - body: String! - createdAt: DateTime! - deletedAt: DateTime - deletedBy: Int - id: Int! - rating: Int - published: DateTime! # if there is no published field - it is not published - replyTo: Int # another shout - tags: [String] - title: String - updatedAt: DateTime! - versionOf: Int - visibleForRoles: [Role]! - visibleForUsers: [Int] -} - -type Proposal { - body: String! - shout: Int! - range: String # full / 0:2340 - author: Int! - createdAt: DateTime! -} - -type Subscription { - profileUpdate(user_id: Int!): User! - chatUpdate(user_id: Int!): Message! - onlineUpdate: [User!]! # userlist - shoutUpdate(shout_id: Int!): Shout! -} - -type Token { - createdAt: DateTime! - expiresAt: DateTime - id: Int! - ownerId: Int! - usedAt: DateTime - value: String! -} - -type User { - createdAt: DateTime! - email: String - emailConfirmed: Boolean - id: Int! - muted: Boolean - rating: Int - roles: [Role!]! - updatedAt: DateTime! - username: String - userpic: String - userpicId: String - wasOnlineAt: DateTime -} - -type Like { - author: Int! - id: Int! - shout: Int - user: Int - value: Int! -}