🔧 fix(schema.py): add liked_by_user field to ListComponentResponse schema
🔧 fix(service.py): add get_liked_by_user_components method to StoreService to retrieve liked components by user
The code was removing "page" and "limit" parameters from the params dictionary, but these parameters were not being used afterwards. Removing this unnecessary code improves code readability and maintainability.
The code was previously responsible for creating metadata for a component based on the nodes it contains. However, this functionality is no longer needed and has been removed to simplify the code and improve maintainability.
The `create_component` function in `store.py` has been modified to include the total count of each type in the metadata dictionary. This change improves the structure of the metadata and provides more comprehensive information about the types and their counts in the nodes.
🔧 fix(store.py): add missing metadata comment to clarify the purpose of the code block
✨ feat(store.py): add 'has_api_key' field to the response of 'check_if_store_is_enabled' endpoint to indicate if the user has an API key
🔧 fix(store.py): add missing metadata using the Component.data in the 'create_component' endpoint to properly handle component metadata
🔧 chore(store.py): add endpoint to like a component in the store API to enable users to like components
🔧 chore(base.py): add LIKE_WEBHOOK_URL to the settings to allow configuration of the webhook URL for liking components
🔧 chore(service.py): rename webhook_url variable to download_webhook_url for clarity and add like_webhook_url variable to store the LIKE_WEBHOOK_URL from the settings. Update call_webhook method to use download_webhook_url for downloading components and add like_component method to handle liking a component.
🔧 fix(store.py): add user_created.id field to the list_components response to match the schema
🔧 fix(store.py): add count(downloads) field to the list_components response to match the schema
🔧 fix(store.py): add tags_id field to the TagsIdResponse schema to match the response structure
🔧 fix(service.py): add user_created.first_name and user_created.id fields to the list_components query to match the schema
🔧 fix(service.py): add count(downloads) field to the list_components query to match the schema
🔧 fix(schema.py): add "metadata" field to the ComponentResponse, ListComponentResponse, DownloadComponentResponse, and StoreComponentCreate models to support metadata in the store component data
🔧 fix(service.py): add "metadata" field to the list of requested fields in the StoreService class to include metadata in the query parameters
✨ feat(service.py): add support for filtering by user_created field and limit the results to 100
✨ feat(service.py): add support for fetching additional fields in the response for better data retrieval
✨ feat(store.py): add new endpoint to get list of components liked by a user
🔧 fix(schema.py): add UsersLikesResponse schema to define the response structure for the new endpoint
🔧 fix(service.py): add get_user_likes method to retrieve the list of components liked by a user from the store API
✨ feat(__main__.py): add 'store' option to the run command to enable/disable store feature
🔧 fix(store.py): add check_if_store_is_enabled endpoint to check if store feature is enabled
✨ feat(store.py): add get_tags endpoint to retrieve tags from the store
🔧 fix(base.py): add STORE setting to enable/disable store feature
🔧 fix(schema.py): rename 'likes_count' field to 'liked_by_count' in ComponentResponse and ListComponentResponse
🔧 fix(service.py): change default sorting in query_components function to sort by 'count(liked_by)'
✅ test(test_store.py): update sort parameter in test_search_components to 'count(liked_by)'
✨ feat(store.py): add `count_components` endpoint to get the count of components based on filter criteria
🔧 fix(service.py): modify `query_components` function to return a list of dictionaries when `count` parameter is True
🔧 chore(service.py): add support for filtering components by user_created field when filter_by_user flag is set to True, otherwise filter by status field
✨ feat(store.py): add support for optional store API key to handle cases where user does not have a store API key set
🔧 chore(store.py): remove unnecessary dependency injection for settings_service in create_component, list_components, read_component, and search_endpoint functions
✨ feat(store.py): add support for filtering components by user in the list_components and read_component functions
🐛 fix(service.py): add filter_by_user parameter to list_components function in StoreService class to filter components by user
✨ feat(store.py): change response models for list_components and read_component endpoints to use new schema classes for improved consistency and clarity
🐛 fix(schema.py): add missing ListComponentResponse and DownloadComponentResponse classes to schema.py to fix NameError
✨ feat(service.py): change return types of list_components and download methods in StoreService to use new schema classes for improved consistency and clarity