API Reference
User default gear module for activity type gear assignments.
This module provides CRUD operations and data models for managing user default gear settings per activity type (run, ride, swim, etc.).
Exports
- CRUD: get_user_default_gear_by_user_id, create_user_default_gear, edit_user_default_gear
- Schemas: UsersDefaultGearBase, UsersDefaultGearUpdate, UsersDefaultGearRead
- Models: UsersDefaultGear (ORM model)
- Utils: get_user_default_gear_by_activity_type
- Constants: ACTIVITY_TYPE_TO_GEAR_ATTR
UsersDefaultGearBase
Bases: BaseModel
Base schema for users default gear assignments.
Attributes:
| Name | Type | Description |
|---|---|---|
run_gear_id |
StrictInt | None
|
Default gear for run activities. |
trail_run_gear_id |
StrictInt | None
|
Default gear for trail run activities. |
virtual_run_gear_id |
StrictInt | None
|
Default gear for virtual run activities. |
ride_gear_id |
StrictInt | None
|
Default gear for ride activities. |
gravel_ride_gear_id |
StrictInt | None
|
Default gear for gravel ride activities. |
mtb_ride_gear_id |
StrictInt | None
|
Default gear for MTB ride activities. |
virtual_ride_gear_id |
StrictInt | None
|
Default gear for virtual ride activities. |
ows_gear_id |
StrictInt | None
|
Default gear for open water swim activities. |
walk_gear_id |
StrictInt | None
|
Default gear for walk activities. |
hike_gear_id |
StrictInt | None
|
Default gear for hike activities. |
tennis_gear_id |
StrictInt | None
|
Default gear for tennis activities. |
alpine_ski_gear_id |
StrictInt | None
|
Default gear for alpine ski activities. |
nordic_ski_gear_id |
StrictInt | None
|
Default gear for nordic ski activities. |
snowboard_gear_id |
StrictInt | None
|
Default gear for snowboard activities. |
windsurf_gear_id |
StrictInt | None
|
Default gear for windsurf activities. |
Source code in backend/app/users/users_default_gear/schema.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | |
UsersDefaultGearModel
Bases: Base
User default gear assignments for activity types.
Attributes:
| Name | Type | Description |
|---|---|---|
id |
Mapped[int]
|
Primary key. |
user_id |
Mapped[int]
|
Foreign key to users table. |
run_gear_id |
Mapped[int | None]
|
Default gear for run activities. |
trail_run_gear_id |
Mapped[int | None]
|
Default gear for trail run activities. |
virtual_run_gear_id |
Mapped[int | None]
|
Default gear for virtual run activities. |
ride_gear_id |
Mapped[int | None]
|
Default gear for ride activities. |
gravel_ride_gear_id |
Mapped[int | None]
|
Default gear for gravel ride activities. |
mtb_ride_gear_id |
Mapped[int | None]
|
Default gear for MTB ride activities. |
virtual_ride_gear_id |
Mapped[int | None]
|
Default gear for virtual ride activities. |
ows_gear_id |
Mapped[int | None]
|
Default gear for open water swim activities. |
walk_gear_id |
Mapped[int | None]
|
Default gear for walk activities. |
hike_gear_id |
Mapped[int | None]
|
Default gear for hike activities. |
tennis_gear_id |
Mapped[int | None]
|
Default gear for tennis activities. |
alpine_ski_gear_id |
Mapped[int | None]
|
Default gear for alpine ski activities. |
nordic_ski_gear_id |
Mapped[int | None]
|
Default gear for nordic ski activities. |
snowboard_gear_id |
Mapped[int | None]
|
Default gear for snowboard activities. |
windsurf_gear_id |
Mapped[int | None]
|
Default gear for windsurf activities. |
user |
Mapped[int | None]
|
Relationship to Users model. |
run_gear |
Relationship to run Gear model. |
|
trail_run_gear |
Relationship to trail run Gear model. |
|
virtual_run_gear |
Relationship to virtual run Gear model. |
|
ride_gear |
Relationship to ride Gear model. |
|
gravel_ride_gear |
Relationship to gravel ride Gear model. |
|
mtb_ride_gear |
Relationship to MTB ride Gear model. |
|
virtual_ride_gear |
Relationship to virtual ride Gear model. |
|
ows_gear |
Relationship to OWS Gear model. |
|
walk_gear |
Relationship to walk Gear model. |
|
hike_gear |
Relationship to hike Gear model. |
|
tennis_gear |
Relationship to tennis Gear model. |
|
alpine_ski_gear |
Relationship to alpine ski Gear model. |
|
nordic_ski_gear |
Relationship to nordic ski Gear model. |
|
snowboard_gear |
Relationship to snowboard Gear model. |
|
windsurf_gear |
Relationship to windsurf Gear model. |
Source code in backend/app/users/users_default_gear/models.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | |
UsersDefaultGearRead
Bases: UsersDefaultGearBase
Schema for reading user default gear settings.
Extends base with identifier fields.
Attributes:
| Name | Type | Description |
|---|---|---|
id |
StrictInt
|
Unique identifier for the record. |
user_id |
StrictInt
|
User ID reference. |
Source code in backend/app/users/users_default_gear/schema.py
124 125 126 127 128 129 130 131 132 133 134 135 136 | |
UsersDefaultGearUpdate
Bases: UsersDefaultGearRead
Schema for updating user default gear settings.
Inherits all gear assignment fields from read schema. All fields are optional for partial updates.
Source code in backend/app/users/users_default_gear/schema.py
139 140 141 142 143 144 145 | |
create_user_default_gear
create_user_default_gear(user_id, db)
Create default gear settings for a user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id
|
int
|
The ID of the user to create settings for. |
required |
db
|
Session
|
SQLAlchemy database session. |
required |
Returns:
| Type | Description |
|---|---|
UsersDefaultGear
|
The created UsersDefaultGear model. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
409 error if settings already exist. |
HTTPException
|
500 error if database operation fails. |
Source code in backend/app/users/users_default_gear/crud.py
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | |
edit_user_default_gear
edit_user_default_gear(user_default_gear, user_id, db)
Update default gear settings for a user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_default_gear
|
UsersDefaultGearUpdate
|
Schema with gear fields to update. |
required |
user_id
|
int
|
The ID of the user. |
required |
db
|
Session
|
SQLAlchemy database session. |
required |
Returns:
| Type | Description |
|---|---|
UsersDefaultGear
|
The updated UsersDefaultGear model. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
404 error if settings not found. |
HTTPException
|
500 error if database operation fails. |
Source code in backend/app/users/users_default_gear/crud.py
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | |
get_user_default_gear_by_activity_type
get_user_default_gear_by_activity_type(user_id, activity_type, db)
Get default gear ID for a specific activity type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id
|
int
|
The ID of the user. |
required |
activity_type
|
int
|
The activity type code. |
required |
db
|
Session
|
SQLAlchemy database session. |
required |
Returns:
| Type | Description |
|---|---|
int | None
|
The gear ID for the activity type, or None if not set |
int | None
|
or activity type is unknown. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
If user default gear not found or database error occurs. |
Source code in backend/app/users/users_default_gear/utils.py
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | |
get_user_default_gear_by_user_id
get_user_default_gear_by_user_id(user_id, db)
Retrieve default gear settings for a specific user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id
|
int
|
The ID of the user to fetch settings for. |
required |
db
|
Session
|
SQLAlchemy database session. |
required |
Returns:
| Type | Description |
|---|---|
UsersDefaultGear | None
|
The UsersDefaultGear model for the user or None if not found. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
404 error if settings not found. |
HTTPException
|
500 error if database query fails. |
Source code in backend/app/users/users_default_gear/crud.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |