コード例 #1
0
ファイル: activities.py プロジェクト: Qamas95/mobileback
def edit_user_activity(token_info: dict, activity_id: str) -> Tuple[Response, int]:

    data = request.get_json()

    category = Categories.get_specific_category(data.pop("category_id"))

    start = _parse_to_utc_iso8610(data["activity_start"])
    end = _parse_to_utc_iso8610(data["activity_end"])

    data.update(category=category)

    data.update(
        duration=_calculate_duration_in_mins(
            start,
            end
        )
    )

    data["activity_start"] = start
    data["activity_end"] = end

    updated_activity = Activities.edit_specific_activity(activity_id, **data)

    print(updated_activity)

    return jsonify({"message": f"Activity {activity_id} successfully updated."}), 200
コード例 #2
0
def _calculate_category_duration(user_id: str, category_id: str) -> float:
    category = Categories.get_specific_category(category_id=category_id)

    activities = Activities.objects(user_id=user_id, category=category).exclude("id")

    sum_duration = sum([activity.duration for activity in activities])

    return sum_duration
コード例 #3
0
ファイル: activities.py プロジェクト: Qamas95/mobileback
def create_activity(token_info: dict) -> Tuple[Response, int]:

    data = request.get_json()

    start = _parse_to_utc_iso8610(data["activity_start"])
    end = _parse_to_utc_iso8610(data["activity_end"])
    activity_id = str(uuid.uuid4())

    category = Categories.get_specific_category(data["category_id"])

    duration = _calculate_duration_in_mins(start, end)

    Activities(
        activity_id=activity_id,
        name=data["name"],
        user_id=token_info["public_id"],
        activity_start=start,
        activity_end=end,
        category=category,
        duration=duration,
    ).save()

    return jsonify({"activity_id": activity_id}), 200