API - return records with user data
This commit is contained in:
parent
16df55f4d8
commit
064ca22b85
@ -431,6 +431,7 @@ class TestUserProfile(ApiTestCaseMixin):
|
|||||||
assert data['data']['language'] is None
|
assert data['data']['language'] is None
|
||||||
assert data['data']['nb_sports'] == 0
|
assert data['data']['nb_sports'] == 0
|
||||||
assert data['data']['nb_workouts'] == 0
|
assert data['data']['nb_workouts'] == 0
|
||||||
|
assert data['data']['records'] == []
|
||||||
assert data['data']['sports_list'] == []
|
assert data['data']['sports_list'] == []
|
||||||
assert data['data']['total_distance'] == 0
|
assert data['data']['total_distance'] == 0
|
||||||
assert data['data']['total_duration'] == '0:00:00'
|
assert data['data']['total_duration'] == '0:00:00'
|
||||||
@ -463,6 +464,7 @@ class TestUserProfile(ApiTestCaseMixin):
|
|||||||
assert data['data']['language'] == 'en'
|
assert data['data']['language'] == 'en'
|
||||||
assert data['data']['nb_sports'] == 0
|
assert data['data']['nb_sports'] == 0
|
||||||
assert data['data']['nb_workouts'] == 0
|
assert data['data']['nb_workouts'] == 0
|
||||||
|
assert data['data']['records'] == []
|
||||||
assert data['data']['sports_list'] == []
|
assert data['data']['sports_list'] == []
|
||||||
assert data['data']['total_distance'] == 0
|
assert data['data']['total_distance'] == 0
|
||||||
assert data['data']['total_duration'] == '0:00:00'
|
assert data['data']['total_duration'] == '0:00:00'
|
||||||
@ -494,6 +496,7 @@ class TestUserProfile(ApiTestCaseMixin):
|
|||||||
assert data['data']['timezone'] is None
|
assert data['data']['timezone'] is None
|
||||||
assert data['data']['nb_sports'] == 2
|
assert data['data']['nb_sports'] == 2
|
||||||
assert data['data']['nb_workouts'] == 2
|
assert data['data']['nb_workouts'] == 2
|
||||||
|
assert len(data['data']['records']) == 6
|
||||||
assert data['data']['sports_list'] == [1, 2]
|
assert data['data']['sports_list'] == [1, 2]
|
||||||
assert data['data']['total_distance'] == 22
|
assert data['data']['total_distance'] == 22
|
||||||
assert data['data']['total_duration'] == '2:40:00'
|
assert data['data']['total_duration'] == '2:40:00'
|
||||||
@ -552,6 +555,7 @@ class TestUserProfileUpdate(ApiTestCaseMixin):
|
|||||||
assert data['data']['language'] == 'fr'
|
assert data['data']['language'] == 'fr'
|
||||||
assert data['data']['nb_sports'] == 0
|
assert data['data']['nb_sports'] == 0
|
||||||
assert data['data']['nb_workouts'] == 0
|
assert data['data']['nb_workouts'] == 0
|
||||||
|
assert data['data']['records'] == []
|
||||||
assert data['data']['sports_list'] == []
|
assert data['data']['sports_list'] == []
|
||||||
assert data['data']['total_distance'] == 0
|
assert data['data']['total_distance'] == 0
|
||||||
assert data['data']['total_duration'] == '0:00:00'
|
assert data['data']['total_duration'] == '0:00:00'
|
||||||
@ -597,6 +601,7 @@ class TestUserProfileUpdate(ApiTestCaseMixin):
|
|||||||
assert data['data']['language'] == 'fr'
|
assert data['data']['language'] == 'fr'
|
||||||
assert data['data']['nb_sports'] == 0
|
assert data['data']['nb_sports'] == 0
|
||||||
assert data['data']['nb_workouts'] == 0
|
assert data['data']['nb_workouts'] == 0
|
||||||
|
assert data['data']['records'] == []
|
||||||
assert data['data']['sports_list'] == []
|
assert data['data']['sports_list'] == []
|
||||||
assert data['data']['total_distance'] == 0
|
assert data['data']['total_distance'] == 0
|
||||||
assert data['data']['total_duration'] == '0:00:00'
|
assert data['data']['total_duration'] == '0:00:00'
|
||||||
|
@ -42,6 +42,7 @@ class TestGetUser(ApiTestCaseMixin):
|
|||||||
assert user['language'] is None
|
assert user['language'] is None
|
||||||
assert user['nb_sports'] == 0
|
assert user['nb_sports'] == 0
|
||||||
assert user['nb_workouts'] == 0
|
assert user['nb_workouts'] == 0
|
||||||
|
assert user['records'] == []
|
||||||
assert user['sports_list'] == []
|
assert user['sports_list'] == []
|
||||||
assert user['total_distance'] == 0
|
assert user['total_distance'] == 0
|
||||||
assert user['total_duration'] == '0:00:00'
|
assert user['total_duration'] == '0:00:00'
|
||||||
@ -80,6 +81,7 @@ class TestGetUser(ApiTestCaseMixin):
|
|||||||
assert user['timezone'] is None
|
assert user['timezone'] is None
|
||||||
assert user['weekm'] is False
|
assert user['weekm'] is False
|
||||||
assert user['language'] is None
|
assert user['language'] is None
|
||||||
|
assert len(user['records']) == 6
|
||||||
assert user['nb_sports'] == 2
|
assert user['nb_sports'] == 2
|
||||||
assert user['nb_workouts'] == 2
|
assert user['nb_workouts'] == 2
|
||||||
assert user['sports_list'] == [1, 2]
|
assert user['sports_list'] == [1, 2]
|
||||||
@ -132,6 +134,7 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][0]['language'] is None
|
assert data['data']['users'][0]['language'] is None
|
||||||
assert data['data']['users'][0]['nb_sports'] == 0
|
assert data['data']['users'][0]['nb_sports'] == 0
|
||||||
assert data['data']['users'][0]['nb_workouts'] == 0
|
assert data['data']['users'][0]['nb_workouts'] == 0
|
||||||
|
assert data['data']['users'][0]['records'] == []
|
||||||
assert data['data']['users'][0]['sports_list'] == []
|
assert data['data']['users'][0]['sports_list'] == []
|
||||||
assert data['data']['users'][0]['total_distance'] == 0
|
assert data['data']['users'][0]['total_distance'] == 0
|
||||||
assert data['data']['users'][0]['total_duration'] == '0:00:00'
|
assert data['data']['users'][0]['total_duration'] == '0:00:00'
|
||||||
@ -140,12 +143,14 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][1]['language'] is None
|
assert data['data']['users'][1]['language'] is None
|
||||||
assert data['data']['users'][1]['nb_sports'] == 0
|
assert data['data']['users'][1]['nb_sports'] == 0
|
||||||
assert data['data']['users'][1]['nb_workouts'] == 0
|
assert data['data']['users'][1]['nb_workouts'] == 0
|
||||||
|
assert data['data']['users'][1]['records'] == []
|
||||||
assert data['data']['users'][1]['sports_list'] == []
|
assert data['data']['users'][1]['sports_list'] == []
|
||||||
assert data['data']['users'][1]['total_distance'] == 0
|
assert data['data']['users'][1]['total_distance'] == 0
|
||||||
assert data['data']['users'][1]['total_duration'] == '0:00:00'
|
assert data['data']['users'][1]['total_duration'] == '0:00:00'
|
||||||
assert data['data']['users'][2]['timezone'] is None
|
assert data['data']['users'][2]['timezone'] is None
|
||||||
assert data['data']['users'][2]['weekm'] is True
|
assert data['data']['users'][2]['weekm'] is True
|
||||||
assert data['data']['users'][2]['language'] is None
|
assert data['data']['users'][2]['language'] is None
|
||||||
|
assert data['data']['users'][2]['records'] == []
|
||||||
assert data['data']['users'][2]['nb_sports'] == 0
|
assert data['data']['users'][2]['nb_sports'] == 0
|
||||||
assert data['data']['users'][2]['nb_workouts'] == 0
|
assert data['data']['users'][2]['nb_workouts'] == 0
|
||||||
assert data['data']['users'][2]['sports_list'] == []
|
assert data['data']['users'][2]['sports_list'] == []
|
||||||
@ -195,6 +200,7 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][0]['weekm'] is False
|
assert data['data']['users'][0]['weekm'] is False
|
||||||
assert data['data']['users'][0]['nb_sports'] == 2
|
assert data['data']['users'][0]['nb_sports'] == 2
|
||||||
assert data['data']['users'][0]['nb_workouts'] == 2
|
assert data['data']['users'][0]['nb_workouts'] == 2
|
||||||
|
assert len(data['data']['users'][0]['records']) == 6
|
||||||
assert data['data']['users'][0]['sports_list'] == [1, 2]
|
assert data['data']['users'][0]['sports_list'] == [1, 2]
|
||||||
assert data['data']['users'][0]['total_distance'] == 22.0
|
assert data['data']['users'][0]['total_distance'] == 22.0
|
||||||
assert data['data']['users'][0]['total_duration'] == '2:40:00'
|
assert data['data']['users'][0]['total_duration'] == '2:40:00'
|
||||||
@ -202,6 +208,7 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][1]['weekm'] is False
|
assert data['data']['users'][1]['weekm'] is False
|
||||||
assert data['data']['users'][1]['nb_sports'] == 1
|
assert data['data']['users'][1]['nb_sports'] == 1
|
||||||
assert data['data']['users'][1]['nb_workouts'] == 1
|
assert data['data']['users'][1]['nb_workouts'] == 1
|
||||||
|
assert len(data['data']['users'][1]['records']) == 2
|
||||||
assert data['data']['users'][1]['sports_list'] == [1]
|
assert data['data']['users'][1]['sports_list'] == [1]
|
||||||
assert data['data']['users'][1]['total_distance'] == 15
|
assert data['data']['users'][1]['total_distance'] == 15
|
||||||
assert data['data']['users'][1]['total_duration'] == '1:00:00'
|
assert data['data']['users'][1]['total_duration'] == '1:00:00'
|
||||||
@ -209,6 +216,7 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][2]['weekm'] is True
|
assert data['data']['users'][2]['weekm'] is True
|
||||||
assert data['data']['users'][2]['nb_sports'] == 0
|
assert data['data']['users'][2]['nb_sports'] == 0
|
||||||
assert data['data']['users'][2]['nb_workouts'] == 0
|
assert data['data']['users'][2]['nb_workouts'] == 0
|
||||||
|
assert len(data['data']['users'][2]['records']) == 0
|
||||||
assert data['data']['users'][2]['sports_list'] == []
|
assert data['data']['users'][2]['sports_list'] == []
|
||||||
assert data['data']['users'][2]['total_distance'] == 0
|
assert data['data']['users'][2]['total_distance'] == 0
|
||||||
assert data['data']['users'][2]['total_duration'] == '0:00:00'
|
assert data['data']['users'][2]['total_duration'] == '0:00:00'
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from flask import Flask
|
from flask import Flask
|
||||||
|
|
||||||
from fittrackee.users.models import User
|
from fittrackee.users.models import User
|
||||||
|
from fittrackee.workouts.models import Sport, Workout
|
||||||
|
|
||||||
|
|
||||||
class TestUserModel:
|
class TestUserModel:
|
||||||
@ -22,6 +23,8 @@ class TestUserModel:
|
|||||||
assert serialized_user['language'] is None
|
assert serialized_user['language'] is None
|
||||||
assert serialized_user['nb_sports'] == 0
|
assert serialized_user['nb_sports'] == 0
|
||||||
assert serialized_user['nb_workouts'] == 0
|
assert serialized_user['nb_workouts'] == 0
|
||||||
|
assert serialized_user['records'] == []
|
||||||
|
assert serialized_user['sports_list'] == []
|
||||||
assert serialized_user['total_distance'] == 0
|
assert serialized_user['total_distance'] == 0
|
||||||
assert serialized_user['total_duration'] == '0:00:00'
|
assert serialized_user['total_duration'] == '0:00:00'
|
||||||
|
|
||||||
@ -37,3 +40,22 @@ class TestUserModel:
|
|||||||
auth_token = user_1.encode_auth_token(user_1.id)
|
auth_token = user_1.encode_auth_token(user_1.id)
|
||||||
assert isinstance(auth_token, str)
|
assert isinstance(auth_token, str)
|
||||||
assert User.decode_auth_token(auth_token) == user_1.id
|
assert User.decode_auth_token(auth_token) == user_1.id
|
||||||
|
|
||||||
|
def test_it_returns_user_records(
|
||||||
|
self,
|
||||||
|
app: Flask,
|
||||||
|
user_1: User,
|
||||||
|
sport_1_cycling: Sport,
|
||||||
|
workout_cycling_user_1: Workout,
|
||||||
|
) -> None:
|
||||||
|
serialized_user = user_1.serialize()
|
||||||
|
assert len(serialized_user['records']) == 4
|
||||||
|
assert serialized_user['records'][0]['record_type'] == 'AS'
|
||||||
|
assert serialized_user['records'][0]['sport_id'] == sport_1_cycling.id
|
||||||
|
assert serialized_user['records'][0]['user'] == user_1.username
|
||||||
|
assert serialized_user['records'][0]['value'] > 0
|
||||||
|
assert (
|
||||||
|
serialized_user['records'][0]['workout_id']
|
||||||
|
== workout_cycling_user_1.short_id
|
||||||
|
)
|
||||||
|
assert serialized_user['records'][0]['workout_date']
|
||||||
|
@ -309,6 +309,44 @@ def get_authenticated_user_profile(
|
|||||||
"nb_sports": 3,
|
"nb_sports": 3,
|
||||||
"nb_workouts": 6,
|
"nb_workouts": 6,
|
||||||
"picture": false,
|
"picture": false,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"record_type": "AS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"record_type": "FD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"record_type": "LD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": "1:01:00",
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"record_type": "MS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
}
|
||||||
|
],
|
||||||
"sports_list": [
|
"sports_list": [
|
||||||
1,
|
1,
|
||||||
4,
|
4,
|
||||||
@ -370,6 +408,44 @@ def edit_user(auth_user_id: int) -> Union[Dict, HttpResponse]:
|
|||||||
"nb_sports": 3,
|
"nb_sports": 3,
|
||||||
"nb_workouts": 6,
|
"nb_workouts": 6,
|
||||||
"picture": false,
|
"picture": false,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"record_type": "AS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"record_type": "FD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"record_type": "LD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": "1:01:00",
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"record_type": "MS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "sam",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
}
|
||||||
|
],
|
||||||
"sports_list": [
|
"sports_list": [
|
||||||
1,
|
1,
|
||||||
4,
|
4,
|
||||||
|
@ -136,6 +136,7 @@ class User(BaseModel):
|
|||||||
'language': self.language,
|
'language': self.language,
|
||||||
'nb_sports': len(sports),
|
'nb_sports': len(sports),
|
||||||
'nb_workouts': self.workouts_count,
|
'nb_workouts': self.workouts_count,
|
||||||
|
'records': [record.serialize() for record in self.records],
|
||||||
'sports_list': [
|
'sports_list': [
|
||||||
sport for sportslist in sports for sport in sportslist
|
sport for sportslist in sports for sport in sportslist
|
||||||
],
|
],
|
||||||
|
@ -69,6 +69,44 @@ def get_users(auth_user_id: int) -> Dict:
|
|||||||
"nb_sports": 3,
|
"nb_sports": 3,
|
||||||
"nb_workouts": 6,
|
"nb_workouts": 6,
|
||||||
"picture": false,
|
"picture": false,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"record_type": "AS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"record_type": "FD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"record_type": "LD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": "1:01:00",
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"record_type": "MS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
}
|
||||||
|
],
|
||||||
"sports_list": [
|
"sports_list": [
|
||||||
1,
|
1,
|
||||||
4,
|
4,
|
||||||
@ -92,6 +130,7 @@ def get_users(auth_user_id: int) -> Dict:
|
|||||||
"nb_sports": 0,
|
"nb_sports": 0,
|
||||||
"nb_workouts": 0,
|
"nb_workouts": 0,
|
||||||
"picture": false,
|
"picture": false,
|
||||||
|
"records": [],
|
||||||
"sports_list": [],
|
"sports_list": [],
|
||||||
"timezone": "Europe/Paris",
|
"timezone": "Europe/Paris",
|
||||||
"total_distance": 0,
|
"total_distance": 0,
|
||||||
@ -212,6 +251,44 @@ def get_single_user(
|
|||||||
"nb_sports": 3,
|
"nb_sports": 3,
|
||||||
"nb_workouts": 6,
|
"nb_workouts": 6,
|
||||||
"picture": false,
|
"picture": false,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"record_type": "AS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"record_type": "FD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"record_type": "LD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": "1:01:00",
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"record_type": "MS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
}
|
||||||
|
],
|
||||||
"sports_list": [
|
"sports_list": [
|
||||||
1,
|
1,
|
||||||
4,
|
4,
|
||||||
@ -328,6 +405,44 @@ def update_user(
|
|||||||
"nb_workouts": 6,
|
"nb_workouts": 6,
|
||||||
"nb_sports": 3,
|
"nb_sports": 3,
|
||||||
"picture": false,
|
"picture": false,
|
||||||
|
"records": [
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"record_type": "AS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"record_type": "FD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"record_type": "LD",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": "1:01:00",
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"record_type": "MS",
|
||||||
|
"sport_id": 1,
|
||||||
|
"user": "admin",
|
||||||
|
"value": 18,
|
||||||
|
"workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
|
||||||
|
"workout_id": "hvYBqYBRa7wwXpaStWR4V2"
|
||||||
|
}
|
||||||
|
],
|
||||||
"sports_list": [
|
"sports_list": [
|
||||||
1,
|
1,
|
||||||
4,
|
4,
|
||||||
|
Loading…
Reference in New Issue
Block a user