Skip to content

Commit

Permalink
lots of random stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
quoncc committed Aug 21, 2023
1 parent b1b9d74 commit b554f4e
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 15 deletions.
1 change: 1 addition & 0 deletions api/apientry.py → api/api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from flask import *
from api import queries
import json
from auth import authenticate



Expand Down
16 changes: 5 additions & 11 deletions api/queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,14 @@
from models.member import member
from models.request import request
from sqlalchemy import select
from sqlalchemy.orm import Session
import variables
from sqlalchemy import create_engine
from db.database import create_db_engine, executeQuery


#execute query

db_engine = create_engine("postgresql://{}:{}@{}/{}".format(variables.db_user,
variables.db_password,
variables.db_host,
variables.db_name), echo=True)
db_engine = create_db_engine()

def executeQuery(statement, engine):
with Session(engine) as session:
return session.execute(statement)


# returns list of dicts for each member
Expand All @@ -30,7 +23,7 @@ def getMembers():
member.emailaddress,
member.slackhandle)
)
result = executeQuery(stmt,db_engine)
result = executeQuery(stmt, db_engine)
baselist = []
for row in result.all():
baselist.append(dict(zip(result.keys(), row)))
Expand All @@ -52,4 +45,5 @@ def getMemberByID(memberId):
response = dict(zip(result.keys(), result.one()))
except:
raise ValueError("Member does not exist")
return response
return response

Empty file added auth/__init__.py
Empty file.
14 changes: 14 additions & 0 deletions auth/authenticate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from sqlalchemy import create_engine
import variables
from db.database import create_db_engine, executeQuery
from auth.token import authToken
from sqlalchemy import select

db_engine = create_db_engine()

def get_userrole(token):
stmt = (
select(authToken.role).where(authToken.token == token)
)
result = executeQuery(stmt, db_engine)
return result.one()[0]
31 changes: 31 additions & 0 deletions auth/token.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from sqlalchemy import Column, Integer, DateTime, String, Date, TEXT, ForeignKey
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy.orm import Mapped
from sqlalchemy.orm import mapped_column
from sqlalchemy.orm import relationship
from models.baseModel import Base



class userRole(Base):
__tablename__ = 'userroles'

id: Mapped[int] = mapped_column(primary_key=True)
rolename: Mapped[str] = mapped_column(String(45))
get: Mapped[bool] = mapped_column()
put: Mapped[bool] = mapped_column()
update: Mapped[bool] = mapped_column()
seemembers: Mapped[bool] = mapped_column()

class authToken(Base):
__tablename__ = 'authtokens'

id: Mapped[int] = mapped_column(primary_key=True)
token: Mapped[str] = mapped_column((String(64)))
email: Mapped[str] = mapped_column(String(45))
slackhandle: Mapped[str] = mapped_column((String(45)))
role: Mapped[str] = mapped_column((String(45)))




Empty file added db/__init__.py
Empty file.
13 changes: 13 additions & 0 deletions db/database.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from sqlalchemy import create_engine
import variables
from sqlalchemy.orm import Session

def create_db_engine():
return create_engine("postgresql://{}:{}@{}/{}".format(variables.db_user,
variables.db_password,
variables.db_host,
variables.db_name), echo=True)

def executeQuery(statement, db_engine):
with Session(db_engine) as session:
return session.execute(statement)
7 changes: 3 additions & 4 deletions db_init.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import variables
from sqlalchemy_utils import database_exists, create_database
from db.database import create_db_engine


##MODELS NEED TO BE IMPORTED HERE
Expand All @@ -9,6 +10,7 @@
import models.request
import models.baseModel
import models.install
import auth.token



Expand All @@ -17,10 +19,7 @@

def main():

engine = create_engine("postgresql://{}:{}@{}/{}".format(variables.db_user,
variables.db_password,
variables.db_host,
variables.db_name), echo=True)
engine = create_db_engine()

if not database_exists(engine.url):
create_database(engine.url)
Expand Down

0 comments on commit b554f4e

Please sign in to comment.