create appointement endpoint
This commit is contained in:
parent
b83f5257c7
commit
438fd2c6e4
@ -0,0 +1,105 @@
|
||||
from flask import request, jsonify
|
||||
from pony.orm import ObjectNotFound
|
||||
from datetime import datetime
|
||||
from ITPlanning.db import Appointment
|
||||
from ITPlanning.api.exception import NotFound, GenericError
|
||||
from . import api
|
||||
|
||||
|
||||
def datefiltering(query):
|
||||
before, after = map(request.values.get, ("before", "after"))
|
||||
if before:
|
||||
before = datetime.strptime(before, "%Y-%m-%dT%H%M")
|
||||
query = query.filter(lambda a: a.start_datetime < before)
|
||||
if after:
|
||||
after = datetime.strptime(after, "%Y-%m-%dT%H%M")
|
||||
query = query.filter(lambda a: a.start_datetime > after)
|
||||
return query
|
||||
|
||||
|
||||
@api.route("/appointment")
|
||||
@api.route("/appointment/")
|
||||
@api.route("/appointment/<id>")
|
||||
def get_appointment(id=None):
|
||||
rv = None
|
||||
if id:
|
||||
rv = Appointment[id]
|
||||
else:
|
||||
query = Appointment.select()
|
||||
query = datefiltering(query)
|
||||
for f in query:
|
||||
rv += query
|
||||
if rv is None:
|
||||
raise NotFound("Appointment")
|
||||
return jsonify(rv)
|
||||
|
||||
|
||||
@api.route("/appointment/planning/<id>")
|
||||
def get_appointment_by_planning(id):
|
||||
rv = None
|
||||
if id is None:
|
||||
raise GenericError("enter an ID")
|
||||
query = Appointment.select(lambda a: a.planning.id == id)
|
||||
query = datefiltering(query)
|
||||
for f in query:
|
||||
rv += f
|
||||
if rv is None:
|
||||
raise NotFound("Appointment")
|
||||
return jsonify(rv)
|
||||
|
||||
|
||||
@api.route("/appointment/service/<id>")
|
||||
def get_appointment_by_service(id):
|
||||
rv = None
|
||||
if id is None:
|
||||
raise GenericError("enter an ID")
|
||||
query = Appointment.select(lambda a: a.service.id == id)
|
||||
query = datefiltering(query)
|
||||
for f in query:
|
||||
rv += f
|
||||
if rv is None:
|
||||
raise NotFound("Appointment")
|
||||
return jsonify(rv)
|
||||
|
||||
|
||||
@api.route("/appointment/customer/<id>")
|
||||
def get_appointment_by_customer(id):
|
||||
rv = None
|
||||
if id is None:
|
||||
raise GenericError("enter an ID")
|
||||
query = Appointment.select(lambda a: a.customer.id == id)
|
||||
query = datefiltering(query)
|
||||
for f in query:
|
||||
rv += f
|
||||
if rv is None:
|
||||
raise NotFound("Appointment")
|
||||
return jsonify(rv)
|
||||
|
||||
|
||||
@api.route("/appointment/ticket/<id>")
|
||||
def get_appointment_by_ticket(id):
|
||||
rv = None
|
||||
if id is None:
|
||||
raise GenericError("enter an ID")
|
||||
query = Appointment.select(lambda a: a.ticket.id == id)
|
||||
query = datefiltering(query)
|
||||
for f in query:
|
||||
rv += f
|
||||
if rv is None:
|
||||
raise NotFound("Appointment")
|
||||
return jsonify(rv)
|
||||
|
||||
|
||||
@api.route("/appointment", methods=["POST"])
|
||||
def new_appointment():
|
||||
pass
|
||||
|
||||
|
||||
@api.route("/appointment", methods=["PUT"])
|
||||
def update_appointment():
|
||||
pass
|
||||
|
||||
|
||||
@api.route("/appointment", methods=["DELETE"])
|
||||
def delete_appointment():
|
||||
pass
|
Loading…
Reference in New Issue
Block a user