Files
eamco_office_api/app/admin/views.py
2025-09-27 14:25:20 -04:00

88 lines
2.8 KiB
Python
Executable File

from flask import request, jsonify
from flask_login import current_user, logout_user, login_user, login_required
from app.admin import admin
from app import db
from datetime import datetime
from app.classes.pricing import (
Pricing_Oil_Oil,
Pricing_Oil_Oil_schema)
from app.classes.admin import Admin_Company, Admin_Company_schema, Call
@admin.route("/oil/create", methods=["POST"])
def create_oil_price():
"""
Changes the price for oil deliveries
"""
now = datetime.utcnow()
price_from_supplier = request.json["price_from_supplier"]
price_for_customer = request.json["price_for_customer"]
price_for_employee = request.json["price_for_employee"]
price_same_day = request.json["price_same_day"]
price_prime = request.json["price_prime"]
price_emergency= request.json["price_emergency"]
new_admin_oil_price = Pricing_Oil_Oil(
price_from_supplier=price_from_supplier,
price_for_customer=price_for_customer,
price_for_employee=price_for_employee,
price_same_day=price_same_day,
price_prime=price_prime,
price_emergency=price_emergency,
date=now,
)
# new_admin_oil_price = Pricing_Oil_Oil(
# price_from_supplier=price_from_supplier,
# price_for_customer=price_for_customer,
# price_for_employee=price_for_employee,
# price_same_day=price_same_day,
# price_prime=price_prime,
# date=now,
# )
db.session.add(new_admin_oil_price)
db.session.commit()
return jsonify({
"ok": True,
'price': new_admin_oil_price.id,
}), 200
@admin.route("/oil/get", methods=["GET"])
def get_oil_price():
"""
gets oil prices
"""
get_oil_prices = (db.session
.query(Pricing_Oil_Oil)
.order_by(Pricing_Oil_Oil.date.desc())
.first())
price_schema = Pricing_Oil_Oil_schema(many=False)
return jsonify(price_schema.dump(get_oil_prices))
@admin.route("/company/<int:company_id>", methods=["GET"])
def get_company(company_id):
get_data_company = (db.session
.query(Admin_Company)
.first())
company_schema = Admin_Company_schema(many=False)
return jsonify(company_schema.dump(get_data_company))
@admin.route("/voip_routing", methods=["GET"])
def get_voip_routing():
"""
Gets the current VOIP routing (latest Call record's current_phone)
"""
latest_call = (db.session
.query(Call)
.order_by(Call.created_at.desc())
.first())
if latest_call:
return jsonify({"current_phone": latest_call.current_phone})
else:
return jsonify({"current_phone": None}), 404