diff --git a/backend/app/dav/caldav.py b/backend/app/dav/caldav.py index cc92f01..6c5358e 100644 --- a/backend/app/dav/caldav.py +++ b/backend/app/dav/caldav.py @@ -440,6 +440,9 @@ def _extract_time_range(root: ET.Element): @dav_bp.route('///', methods=['GET', 'HEAD']) @basic_auth def get_event(username, cal_part, filename): + if cal_part.startswith('ab-'): + from .carddav import ab_get + return ab_get(username=username, ab_part=cal_part, filename=filename) user: User = request.dav_user if username != user.username: return Response('', 403) @@ -465,6 +468,9 @@ def get_event(username, cal_part, filename): @dav_bp.route('///', methods=['PUT']) @basic_auth def put_event(username, cal_part, filename): + if cal_part.startswith('ab-'): + from .carddav import ab_put + return ab_put(username=username, ab_part=cal_part, filename=filename) user: User = request.dav_user if username != user.username: return Response('', 403) @@ -519,6 +525,9 @@ def put_event(username, cal_part, filename): @dav_bp.route('///', methods=['DELETE']) @basic_auth def delete_event(username, cal_part, filename): + if cal_part.startswith('ab-'): + from .carddav import ab_delete + return ab_delete(username=username, ab_part=cal_part, filename=filename) user: User = request.dav_user if username != user.username: return Response('', 403) @@ -539,6 +548,9 @@ def delete_event(username, cal_part, filename): @dav_bp.route('//', methods=['DELETE']) @basic_auth def delete_calendar(username, cal_part): + if cal_part.startswith('ab-'): + from .carddav import ab_delete_collection + return ab_delete_collection(username=username, ab_part=cal_part) user: User = request.dav_user if username != user.username: return Response('', 403)