fix(api): added mail cerberus validator to user_mail endpoint
parent
267d1e26a1
commit
897da17dbd
|
@ -0,0 +1,34 @@
|
||||||
|
user_id:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
required: false
|
||||||
|
email:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
regex: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
|
||||||
|
inbound_host:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
inbound_port:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
inbound_ssl_mode:
|
||||||
|
type: string
|
||||||
|
default: ssl
|
||||||
|
inbound_user:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
outbound_host:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
outbound_port:
|
||||||
|
type: integer
|
||||||
|
required: true
|
||||||
|
outbound_ssl_mode:
|
||||||
|
type: string
|
||||||
|
default: ssl
|
||||||
|
outbound_user:
|
||||||
|
type: string
|
||||||
|
required: true
|
|
@ -267,6 +267,33 @@ def ddapi_group(id=None):
|
||||||
return json.dumps({}), 200, {"Content-Type": "application/json"}
|
return json.dumps({}), 200, {"Content-Type": "application/json"}
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/ddapi/user_mail", methods=["POST"])
|
||||||
|
@app.route("/ddapi/user_mail/<id>", methods=["GET", "POST", "DELETE"])
|
||||||
|
@has_token
|
||||||
|
def ddapi_user_mail(id=None):
|
||||||
|
if request.method == "GET":
|
||||||
|
return (
|
||||||
|
json.dumps("Not implemented yet"),
|
||||||
|
200,
|
||||||
|
{"Content-Type": "application/json"},
|
||||||
|
)
|
||||||
|
if request.method == "POST":
|
||||||
|
data = request.get_json(force=True)
|
||||||
|
|
||||||
|
if not app.validators["mail"].validate(data):
|
||||||
|
raise Error(
|
||||||
|
"bad_request",
|
||||||
|
"Data validation for mail failed: "
|
||||||
|
+ str(app.validators["mail"].errors),
|
||||||
|
traceback.format_exc(),
|
||||||
|
)
|
||||||
|
return (
|
||||||
|
json.dumps("Not implemented yet"),
|
||||||
|
200,
|
||||||
|
{"Content-Type": "application/json"},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def user_parser(user):
|
def user_parser(user):
|
||||||
return {
|
return {
|
||||||
"keycloak_id": user["id"],
|
"keycloak_id": user["id"],
|
||||||
|
|
|
@ -42,12 +42,7 @@ def socketio_disconnect():
|
||||||
|
|
||||||
@app.socketio.on("connect", namespace="/sio/events")
|
@app.socketio.on("connect", namespace="/sio/events")
|
||||||
def socketio_connect():
|
def socketio_connect():
|
||||||
try:
|
|
||||||
jwt = get_token_payload(request.args.get("jwt"))
|
jwt = get_token_payload(request.args.get("jwt"))
|
||||||
except:
|
|
||||||
return Error("bad_request", "Missing websocket jwt authorization bearer token")
|
|
||||||
|
|
||||||
payload = get_token_payload(jwt)
|
|
||||||
|
|
||||||
join_room("events")
|
join_room("events")
|
||||||
app.socketio.emit(
|
app.socketio.emit(
|
||||||
|
|
Loading…
Reference in New Issue