"""Unsubmit logic.""" from flask import g from owsresponse import response from product_review.api import db from product_review.models import review_queue as review_queue_model from product_review.models import unsubmit as unsubmit_model def unsubmit_product(product_id, reason): """Delete a product from the queue, returning whether the product was updated.""" items, item_count = review_queue_model.get_items( product_id=product_id, status="new" ) if not item_count: return response.create_not_found_response( f"Product {product_id} has no active review" ) user_id = ( g.request_context.identity_id if g.request_context.identity_id else "workstation_user" ) created_record = unsubmit_model.create_unsubmit( items[0].review_queue_id, reason, user_id ) db.session.commit() return created_record