Skip to content

Commit

Permalink
update user metadata table name
Browse files Browse the repository at this point in the history
  • Loading branch information
npalaska committed Mar 17, 2021
1 parent 0615b56 commit 3ea4cef
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 14 deletions.
22 changes: 13 additions & 9 deletions lib/pbench/server/api/resources/metadata_api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from flask_restful import Resource, abort
from flask import request, make_response, jsonify
from pbench.server.database.models.metadata import Metadata
from pbench.server.database.models.metadata import UserMetadata
from pbench.server.api.auth import Auth


Expand Down Expand Up @@ -64,7 +64,7 @@ def post(self):

try:
# Create a new metadata object
metadata_object = Metadata(
metadata_object = UserMetadata(
value=value, key=metadata_key.lower(), user_id=current_user_id
)
# insert the metadata object for a user
Expand Down Expand Up @@ -125,7 +125,9 @@ def get(self, key):
current_user_id = None
try:
# Query the metadata object with a given key
metadata_objects = Metadata.query(user_id=current_user_id, key=key.lower())
metadata_objects = UserMetadata.query(
user_id=current_user_id, key=key.lower()
)
data = [
metadata.get_json(include=["id", "created", "updated", "value"])
for metadata in metadata_objects
Expand Down Expand Up @@ -201,7 +203,7 @@ def get(self, id=None):

try:
# Fetch the metadata object
metadata_objects = Metadata.query(id=id)
metadata_objects = UserMetadata.query(id=id)
except Exception:
self.logger.exception(
"Exception occurred in the GET request while querying the Metadata model, id: {}",
Expand Down Expand Up @@ -263,7 +265,7 @@ def put(self, id=None):
abort(400, message="Invalid json object in request")

try:
metadata_objects = Metadata.query(id=id)
metadata_objects = UserMetadata.query(id=id)
except Exception:
self.logger.exception(
"Exception occurred in the PUT request while querying the Metadata model, id: {}",
Expand All @@ -284,15 +286,17 @@ def put(self, id=None):
# not present in the metadata db. If any key in the payload does not match
# with the column name we will abort the update request.
non_existent = set(post_data.keys()).difference(
set(Metadata.__table__.columns.keys())
set(UserMetadata.__table__.columns.keys())
)
if non_existent:
self.logger.warning(
"User trying to update fields that are not present in the metadata database. Fields: {}",
non_existent,
)
abort(400, message="Invalid fields in update request payload")
protected = set(post_data.keys()).intersection(set(Metadata.get_protected()))
protected = set(post_data.keys()).intersection(
set(UserMetadata.get_protected())
)
for field in protected:
if getattr(metadata_object, field) != post_data[field]:
self.logger.warning(
Expand Down Expand Up @@ -335,7 +339,7 @@ def delete(self, id=None):

try:
# Fetch the metadata object
metadata_objects = Metadata.query(id=id)
metadata_objects = UserMetadata.query(id=id)
except Exception:
self.logger.exception(
"Exception occurred in the Delete request while querying the Metadata model, id: {}",
Expand All @@ -354,7 +358,7 @@ def delete(self, id=None):

try:
# Delete the metadata object
Metadata.delete(id=id)
UserMetadata.delete(id=id)
except Exception:
self.logger.exception(
"Exception occurred in the while deleting the metadata entry, id: {}",
Expand Down
10 changes: 5 additions & 5 deletions lib/pbench/server/database/models/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Text


class Metadata(Database.Base):
class UserMetadata(Database.Base):
""" Metadata Model for storing user metadata details """

# TODO: Think about the better name
__tablename__ = "metadata"
__tablename__ = "user_metadata"

id = Column(Integer, primary_key=True, autoincrement=True)
created = Column(DateTime, nullable=False, default=datetime.datetime.now())
Expand All @@ -28,9 +28,9 @@ def get_protected():

@staticmethod
def query(**kwargs):
query = Database.db_session.query(Metadata)
query = Database.db_session.query(UserMetadata)
for attr, value in kwargs.items():
query = query.filter(getattr(Metadata, attr) == value)
query = query.filter(getattr(UserMetadata, attr) == value)
return query.all()

def add(self):
Expand Down Expand Up @@ -64,7 +64,7 @@ def delete(id):
:return:
"""
try:
metadata_query = Database.db_session.query(Metadata).filter_by(id=id)
metadata_query = Database.db_session.query(UserMetadata).filter_by(id=id)
metadata_query.delete()
Database.db_session.commit()
return True
Expand Down

0 comments on commit 3ea4cef

Please sign in to comment.