Skip to content

Commit

Permalink
refactor: improvements in the logic
Browse files Browse the repository at this point in the history
  • Loading branch information
arteevraina committed Jan 11, 2023
1 parent fd5f614 commit 76bd6a9
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions flask/packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,18 +126,21 @@ def delete_package(username, namespace_name, package_name):
if not user or user["name"] != username:
return render_template("login.html")

# Find package using package_name and namespace_name.
package = db.packages.find_one({"name": package_name, "namespace": namespace_name})
# Get the namespace from the namespace name.
namespace = db.namespaces.find_one({"namespace": namespace_name})

# Find package using package_name and namespace's id.
package = db.packages.find_one({"name": package_name, "namespace": namespace["_id"]})

# If package is not found related to the package_id. Return 404.
if not package:
return jsonify({"message": "Package not found", "code": 404})

# Check if the user is authorized to delete the package.
if user["_id"] != package["author"] and user["_id"] not in package["maintainers"]:
if user["_id"] != package["author"]:
return jsonify({"message": "User is not authorized to delete the package", "code": 401})

package_deleted = db.packages.delete_one({"name": package_name, "namespace": namespace_name})
package_deleted = db.packages.delete_one({"name": package_name, "namespace": namespace["_id"]})

if package_deleted.deleted_count > 0:
return jsonify({"message": "Package deleted successfully", "code": 200})
Expand Down

0 comments on commit 76bd6a9

Please sign in to comment.