Sort metadata lists by name for more consistency

This commit is contained in:
Gregoo 2025-02-04 17:38:26 +01:00
parent 2e995b615d
commit 9642853d8e
10 changed files with 39 additions and 13 deletions

View File

@ -30,8 +30,9 @@ class BrickMetadataList(BrickRecordList[T]):
mapping: dict[str, T] mapping: dict[str, T]
model: Type[T] model: Type[T]
# Database table # Database
table: str table: str
order: str
# Queries # Queries
select_query: str select_query: str
@ -73,7 +74,7 @@ class BrickMetadataList(BrickRecordList[T]):
self.__class__.mapping = {} self.__class__.mapping = {}
# Load the metadata from the database # Load the metadata from the database
for record in self.select(): for record in self.select(order=self.order):
metadata = model(record=record) metadata = model(record=record)
self.__class__.records.append(metadata) self.__class__.records.append(metadata)

View File

@ -11,8 +11,9 @@ logger = logging.getLogger(__name__)
class BrickSetOwnerList(BrickMetadataList[BrickSetOwner]): class BrickSetOwnerList(BrickMetadataList[BrickSetOwner]):
kind: str = 'set owners' kind: str = 'set owners'
# Database table # Database
table: str = 'bricktracker_set_owners' table: str = 'bricktracker_set_owners'
order: str = '"bricktracker_metadata_owners"."name"'
# Queries # Queries
select_query = 'set/metadata/owner/list' select_query = 'set/metadata/owner/list'

View File

@ -15,9 +15,12 @@ class BrickSetPurchaseLocationList(
): ):
kind: str = 'set purchase locations' kind: str = 'set purchase locations'
# Order
order: str = '"bricktracker_metadata_purchase_locations"."name"'
# Queries # Queries
select_query = 'set/metadata/purchase_location/list' select_query: str = 'set/metadata/purchase_location/list'
all_query = 'set/metadata/purchase_location/all' all_query: str = 'set/metadata/purchase_location/all'
# Set value endpoint # Set value endpoint
set_value_endpoint: str = 'set.update_purchase_location' set_value_endpoint: str = 'set.update_purchase_location'

View File

@ -11,8 +11,9 @@ logger = logging.getLogger(__name__)
class BrickSetStatusList(BrickMetadataList[BrickSetStatus]): class BrickSetStatusList(BrickMetadataList[BrickSetStatus]):
kind: str = 'set statuses' kind: str = 'set statuses'
# Database table # Database
table: str = 'bricktracker_set_statuses' table: str = 'bricktracker_set_statuses'
order: str = '"bricktracker_metadata_statuses"."name"'
# Queries # Queries
select_query = 'set/metadata/status/list' select_query = 'set/metadata/status/list'

View File

@ -13,9 +13,12 @@ logger = logging.getLogger(__name__)
class BrickSetStorageList(BrickMetadataList[BrickSetStorage]): class BrickSetStorageList(BrickMetadataList[BrickSetStorage]):
kind: str = 'set storages' kind: str = 'set storages'
# Order
order: str = '"bricktracker_metadata_storages"."name"'
# Queries # Queries
select_query = 'set/metadata/storage/list' select_query: str = 'set/metadata/storage/list'
all_query = 'set/metadata/storage/all' all_query: str = 'set/metadata/storage/all'
# Set value endpoint # Set value endpoint
set_value_endpoint: str = 'set.update_storage' set_value_endpoint: str = 'set.update_storage'

View File

@ -11,11 +11,12 @@ logger = logging.getLogger(__name__)
class BrickSetTagList(BrickMetadataList[BrickSetTag]): class BrickSetTagList(BrickMetadataList[BrickSetTag]):
kind: str = 'set tags' kind: str = 'set tags'
# Database table # Database
table: str = 'bricktracker_set_tags' table: str = 'bricktracker_set_tags'
order: str = '"bricktracker_metadata_tags"."name"'
# Queries # Queries
select_query = 'set/metadata/tag/list' select_query: str = 'set/metadata/tag/list'
# Instantiate the list with the proper class # Instantiate the list with the proper class
@classmethod @classmethod

View File

@ -3,4 +3,8 @@ SELECT
"bricktracker_metadata_owners"."name" "bricktracker_metadata_owners"."name"
FROM "bricktracker_metadata_owners" FROM "bricktracker_metadata_owners"
{% block where %}{% endblock %} {% block where %}{% endblock %}
{% if order %}
ORDER BY {{ order }}
{% endif %}

View File

@ -4,3 +4,7 @@ SELECT
FROM "bricktracker_metadata_purchase_locations" FROM "bricktracker_metadata_purchase_locations"
{% block where %}{% endblock %} {% block where %}{% endblock %}
{% if order %}
ORDER BY {{ order }}
{% endif %}

View File

@ -4,4 +4,8 @@ SELECT
"bricktracker_metadata_statuses"."displayed_on_grid" "bricktracker_metadata_statuses"."displayed_on_grid"
FROM "bricktracker_metadata_statuses" FROM "bricktracker_metadata_statuses"
{% block where %}{% endblock %} {% block where %}{% endblock %}
{% if order %}
ORDER BY {{ order }}
{% endif %}

View File

@ -3,4 +3,8 @@ SELECT
"bricktracker_metadata_tags"."name" "bricktracker_metadata_tags"."name"
FROM "bricktracker_metadata_tags" FROM "bricktracker_metadata_tags"
{% block where %}{% endblock %} {% block where %}{% endblock %}
{% if order %}
ORDER BY {{ order }}
{% endif %}