Add nonce
Signed-off-by: Tiago Garcia <tiago.rgarcia@ua.pt>
This commit is contained in:
parent
afbde75888
commit
7fd5f1bcd8
|
@ -11,6 +11,7 @@ class File(db_connection.Model):
|
||||||
created_at = db_connection.Column(db_connection.Integer, nullable=False)
|
created_at = db_connection.Column(db_connection.Integer, nullable=False)
|
||||||
key = db_connection.Column(db_connection.String, nullable=False)
|
key = db_connection.Column(db_connection.String, nullable=False)
|
||||||
alg = db_connection.Column(db_connection.String, nullable=False)
|
alg = db_connection.Column(db_connection.String, nullable=False)
|
||||||
|
nonce = db_connection.Column(db_connection.String, nullable=False)
|
||||||
org_id = db_connection.Column(db_connection.Integer, db_connection.ForeignKey('organizations.id'), nullable=False)
|
org_id = db_connection.Column(db_connection.Integer, db_connection.ForeignKey('organizations.id'), nullable=False)
|
||||||
creator_id = db_connection.Column(db_connection.Integer, db_connection.ForeignKey('users.id'), nullable=False)
|
creator_id = db_connection.Column(db_connection.Integer, db_connection.ForeignKey('users.id'), nullable=False)
|
||||||
org = db_connection.relationship('Organization', backref=db_connection.backref('org_files', uselist=False))
|
org = db_connection.relationship('Organization', backref=db_connection.backref('org_files', uselist=False))
|
||||||
|
@ -25,6 +26,7 @@ class File(db_connection.Model):
|
||||||
"created_at": self.created_at,
|
"created_at": self.created_at,
|
||||||
"key": self.key,
|
"key": self.key,
|
||||||
"alg": self.alg,
|
"alg": self.alg,
|
||||||
|
"nonce": self.nonce,
|
||||||
"org": {"id": self.org.id, "name": self.org.name},
|
"org": {"id": self.org.id, "name": self.org.name},
|
||||||
"creator": {"id": self.creator.id, "username": self.creator.username}
|
"creator": {"id": self.creator.id, "username": self.creator.username}
|
||||||
}
|
}
|
|
@ -20,5 +20,4 @@ class Organization(db_connection.Model):
|
||||||
"email": user_data["email"],
|
"email": user_data["email"],
|
||||||
"status": user_data["status"]
|
"status": user_data["status"]
|
||||||
}} for user_id, user_data in self.users.items()],
|
}} for user_id, user_data in self.users.items()],
|
||||||
# "files": [{"id": file.id, "name": file.name, "file_handle": file.file_handle} for file in self.files]
|
|
||||||
}
|
}
|
|
@ -19,5 +19,4 @@ class User(db_connection.Model):
|
||||||
"full_name": self.full_name,
|
"full_name": self.full_name,
|
||||||
"email": self.email,
|
"email": self.email,
|
||||||
"orgs": [{"id": org_id, "name": org_data["name"], "status": org_data["status"]} for org_id, org_data in self.orgs.items()],
|
"orgs": [{"id": org_id, "name": org_data["name"], "status": org_data["status"]} for org_id, org_data in self.orgs.items()],
|
||||||
# "files": [{"id": file.id, "name": file.name, "file_handle": file.file_handle} for file in self.files]
|
|
||||||
}
|
}
|
|
@ -48,7 +48,7 @@ def file_upload_metadata():
|
||||||
data = request.json
|
data = request.json
|
||||||
if type(data) is str:
|
if type(data) is str:
|
||||||
data = json.loads(data)
|
data = json.loads(data)
|
||||||
if "document_name" not in data or "key" not in data or "alg" not in data:
|
if "document_name" not in data or "key" not in data or "alg" not in data or "nonce" not in data:
|
||||||
return jsonify({"error": "Missing required fields"}), 400
|
return jsonify({"error": "Missing required fields"}), 400
|
||||||
|
|
||||||
org = OrganizationService.get_organization(session.org_id)
|
org = OrganizationService.get_organization(session.org_id)
|
||||||
|
@ -59,7 +59,7 @@ def file_upload_metadata():
|
||||||
if not user:
|
if not user:
|
||||||
return jsonify({"error": "User not found"}), 404
|
return jsonify({"error": "User not found"}), 404
|
||||||
|
|
||||||
file = upload_service.create_file(session.token, org, user, data["document_name"], data["key"], data["alg"])
|
file = upload_service.create_file(session.token, org, user, data["document_name"], data["key"], data["alg"], data["nonce"])
|
||||||
return jsonify(file.to_dict()), 201
|
return jsonify(file.to_dict()), 201
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ class FileService:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.current_requests = {}
|
self.current_requests = {}
|
||||||
|
|
||||||
def create_file(self, session_token: str, org: Organization, user: User, file_name: str, key: str, alg: str) -> File:
|
def create_file(self, session_token: str, org: Organization, user: User, file_name: str, key: str, alg: str, nonce: str) -> File:
|
||||||
file = File(
|
file = File(
|
||||||
file_handle = None,
|
file_handle = None,
|
||||||
document_handle = get_hash(file_name),
|
document_handle = get_hash(file_name),
|
||||||
|
@ -21,6 +21,7 @@ class FileService:
|
||||||
created_at = int(datetime.now().timestamp()),
|
created_at = int(datetime.now().timestamp()),
|
||||||
key = key,
|
key = key,
|
||||||
alg = alg,
|
alg = alg,
|
||||||
|
nonce = nonce,
|
||||||
org_id = org.id,
|
org_id = org.id,
|
||||||
creator_id = user.id,
|
creator_id = user.id,
|
||||||
org = org,
|
org = org,
|
||||||
|
|
Loading…
Reference in New Issue