Commit graph

35 commits

Author SHA1 Message Date
0194d152fe Merge branch 'master' into storefront-nuxt 2026-03-05 14:14:37 +03:00
38903e0323 refactor(graphene): consolidate address fields into single field address_line
Replaced `address_line_1` and `address_line_2` with `address_line` to simplify the structure and reduce redundancy in the object type definition.
2026-03-05 14:14:22 +03:00
114204b105 Merge branch 'master' into storefront-nuxt 2026-03-05 14:01:08 +03:00
b914b5fc91 feat(graphene): replace Float with Decimal for price and discount_price
Switched Float fields to Decimal in Graphene for increased precision in monetary values. Updated related queries and resolvers accordingly.

Additionally:
- Added custom DynamicMail health check for runtime-based email configuration.
- Enhanced admin login flow to handle unconfigured email backends by logging users directly.
2026-03-05 14:00:49 +03:00
52687beeec Merge branch 'master' into storefront-nuxt 2026-03-04 20:17:40 +03:00
3859445c78 feat(graphene): add address_line_1 and address_line_2 to object types
Expanded the object type fields to include additional address details for better data representation.
2026-03-04 20:17:30 +03:00
6ac5636779 feat(graphene): add address line fields to CreateAddress mutation
include `address_line_1` and optional `address_line_2` to enhance address creation functionality.
2026-03-04 19:59:42 +03:00
6c1dbe0c5f feat(graphene): add address line fields to CreateAddress mutation
include `address_line_1` and optional `address_line_2` to enhance address creation functionality.
2026-03-04 19:59:01 +03:00
ad320235d6 feat(payments, vibes_auth, core): introduce decimal fields, 2FA, and admin OTP
- Refactored monetary fields across models to use `DecimalField` for improved precision.
- Implemented two-factor authentication (2FA) for admin logins with OTP codes.
- Added ability to generate admin OTP via management commands.
- Updated Docker Compose override for dev-specific port bindings.
- Included template for 2FA OTP verification to enhance security.

Additional changes:
- Upgraded and downgraded various dependencies (e.g., django-celery-beat and yarl).
- Replaced float-based calculations with decimal for consistent rounding behavior.
- Improved admin user management commands for activation and OTP generation.
2026-03-03 00:42:21 +03:00
a5a9c70080 fix(mutations): require wishlist_uuid in mutations to ensure data integrity
Made `wishlist_uuid` a required argument to avoid processing without a valid identifier. Prevents potential errors caused by missing wishlist references.
2026-03-02 23:12:38 +03:00
dc94841f40 feat(core/blog): add support for product videos and blog post images
This commit introduces support for uploading optional video files to products and image files to blog posts. Enhanced admin interfaces were added to preview these files directly. Also includes adjustments to GraphQL types and serializers to expose the new fields.
2026-03-02 01:57:57 +03:00
d97e9a973b feat(viewsets, schema): unify retrieveExactProducts API in DRF and GraphQL
replace the custom Graphene mutation `RetrieveExactProducts` with a unified DRF implementation using `inline_serializer`. Updated GraphQL schema to resolve `retrieve_exact_products` query using a standardized approach.

This change improves consistency across DRF and GraphQL APIs, reduces duplicate logic, and centralizes request validations.
2026-03-02 01:31:41 +03:00
85576cf4ad feat(schema): add retrieveExactProducts query to support detailed product retrieval
Added the `RetrieveExactProducts` query to the schema to enable fetching specific product details. This addition enhances the granularity of product data retrieval in the GraphQL API.
2026-03-02 00:53:22 +03:00
ff99177139 feat(viewsets): add endpoint to retrieve products by identifier
introduce `exact_list` action in `viewsets.py` to retrieve products by `uuid`, `slug`, or `sku` identifiers. Includes input validation and ratelimiting. Adds corresponding schema documentation and a GraphQL mutation for similar functionality.
2026-03-01 22:22:59 +03:00
eef774c3a3 feat(markdown): integrate markdown rendering and editor support
Replace WYSIWYG editor with Markdown editor across all relevant models and admin fields. Add utilities for rendering and stripping markdown. Adjust serializers, views, and templates to support markdown content. Introduce `PastedImage` model and upload endpoint for handling inline image uploads in markdown.

This change simplifies content formatting while enhancing flexibility with markdown support.
2026-02-27 23:36:51 +03:00
f664b088a4 refactor(category): replace cache usage with model property for min/max price
remove redundant cache lookups for `min_price` and `max_price` in the category model by leveraging cached properties. minimizes complexity and improves maintainability while ensuring consistent behavior.
2026-02-25 12:19:39 +03:00
87ed875fe6 feat(category): add brands relationship and resolve method
enable brands association with categories and allow querying of active brands within a category. Updated GraphQL schema, models, and serializers to include this relationship while deprecating redundant category-to-brand ManyToManyField.
2026-02-21 18:27:10 +03:00
28622cec90 2026.1 2026-01-26 03:23:41 +03:00
39b841fcb2 2026.1 2026-01-25 23:16:38 +03:00
a91f8e30d3 Features: 1) Add value_type field to FilterableAttributeType for enhanced attribute customization;
Fixes: 1) Remove unused import of `i18n_patterns` in `urls.py`; 2) Update `coverage`, `psutil`, and `types-psutil` dependencies to latest stable versions in `pyproject.toml` and lock file for improved package compatibility;

Extra: 1) General housekeeping and dependency synchronization in `pyproject.toml` and lock file.
2025-12-29 16:04:41 +03:00
dc7f8be926 Features: 1) None;
Fixes: 1) Add `# ty: ignore` comments to suppress type errors in multiple files; 2) Correct method argument annotations and definitions to align with type hints; 3) Fix cases of invalid or missing imports and unresolved attributes;

Extra: Refactor method definitions to use tuple-based method declarations; replace custom type aliases with `Any`; improve caching utility and error handling logic in utility scripts.
2025-12-19 16:43:39 +03:00
13e7af52aa Features: 1) Improved request processing in middleware by adding mutable QueryDict implementation; 2) Extended type annotations across various modules for enhanced type safety; 3) Refined JWT token lifetime configuration for environment-specific logic.
Fixes: 1) Addressed missing or incorrect imports and type hints with `# ty:ignore` markers; 2) Fixed search queryset error handling in filters module; 3) Resolved issues in viewsets with updated `@action` method usage.

Extra: Removed unused classes and dependencies (e.g., `BaseMutation`, `basedpyright`, and related packages); streamlined GraphQL mutation implementations; cleaned up unused arguments in model `save` methods.
2025-12-19 15:17:17 +03:00
fdd42b8531 Features: I thought that's gonna be like 2 weeks stuff 2025-12-18 19:24:10 +03:00
a81f734e23 Features: (1) None;
Fixes: (1) Removed all `# type: ignore` annotations across the codebase; (2) Fixed usage of Django Model methods by eliminating unnecessary `# type: ignore` directives; (3) Adjusted usage of functions like `get()` to align with method expectations, removing incorrect comments;

Extra: (1) Deleted `pyrightconfig.json` as part of migration to a stricter type-checked environment; (2) Minor code cleanup, including formatting changes and refactoring import statements in adherence to PEP8 recommendations.
2025-12-18 15:55:43 +03:00
890957197c Extra: RUFF 2025-12-15 20:29:02 +03:00
87ba06ff0c Features: 1) Add LimitsType GraphQL object and payments_limits query to expose deposit limits; 2) Introduce LimitsSerializer and LimitsAPIView for retrieving minimal and maximal deposit amounts; 3) Implement get_limits utility to calculate deposit boundaries dynamically;
Fixes: 1) Add missing `LimitsSerializer` import in `drf.views` module;

Extra: 1) Update `.gitignore` to exclude `queries`; 2) Refactor schema and views to integrate new limits functionality.
2025-12-08 10:48:22 +03:00
770d3a935d Features: None
Fixes: 1) Update model type references from `payments.models.Transaction` to `engine.payments.models.Transaction`; 2) Update model type references from `core.models.Order` to `engine.core.models.Order`;

Extra: Consistent namespace fix across multiple files; no functional changes.
2025-11-18 12:51:51 +03:00
43dc556063 Features: 1) Migrate from Jazzmin to django-unfold for admin UI;
Fixes: 1) Remove deprecated Jazzmin configuration and replace with unfold dependencies; 2) Update DRF API title to use new PROJECT_NAME; 3) Fix import order and remove unused imports in core/viewsets.py;

Extra: 1) Add PROJECT_NAME to base settings; 2) Update INSTALLED_APPS to include unfold-related apps; 3) Clean up unused config references.
2025-11-15 01:38:14 +03:00
aa8d40c781 Features: 1) Add mutations for product management (CreateProduct, UpdateProduct, DeleteProduct) with improved attribute and tag resolution; 2) Introduce enhanced GraphQL inputs for better product handling; 3) Add translation support to payment views and callback handling; 4) Refactor Telegram forwarder to use modern typing annotations (| syntax);
Fixes: 1) Remove redundant `from __future__ import annotations` in multiple files; 2) Correct callback integration to handle missing gateway scenarios gracefully; 3) Fix typos and update class references in tests and views;

Extra: Refactor deprecated mutation definitions and cleanup legacy product mutation references in GraphQL schema.
2025-11-14 17:07:40 +03:00
9632915593 Features: 1) Add absolute URI resolution for image in Category and ProductImage.
Fixes: 1) Ensure fallback to empty string when `image` is None in `Category` and `ProductImage`.

Extra: Refactored `resolve_image` methods for improved URL handling.
2025-11-12 12:53:28 +03:00
73138c3911 Features: 1) Update "Storefront" and "GraphQL Docs" links to use BASE_DOMAIN and STOREFRONT_DOMAIN constants.
Fixes: 1) Add missing import for `BASE_DOMAIN` and `STOREFRONT_DOMAIN`.

Extra: 1) Remove unused `base_domain` field from `ConfigType`.
2025-11-11 16:24:24 +03:00
5f9f07d8f4 Features: 1) Replace config.BASE_DOMAIN with settings.BASE_DOMAIN across the codebase; 2) Add support for dynamic STATIC_URL and MEDIA_URL based on initialization state; 3) Introduce INITIALIZED flag to determine application state;
Fixes: 1) Add missing import for `settings` in multiple modules;

Extra: 1) Remove unused `SerializerMethodField` from serializers; 2) Update `RELEASE_DATE` to align with new version; 3) General cleanup and consistency adjustments.
2025-11-11 15:08:44 +03:00
01ba06d52c Features: 1) Add image_url property to Category and ProductImage models for constructing absolute image URLs; 2) Replace direct image.url references with image_url across serializers and GraphQL resolvers;
Fixes: None;

Extra: 1) Simplify serializer methods by removing redundant `suppress` blocks for `image.url`; 2) Minor adjustments to GraphQL resolver parameter names for consistency.
2025-11-11 14:38:41 +03:00
3fbe6883c7 2025.4 BETA 2025-11-10 08:36:57 +03:00
33362d8340 2025.4 PREVIEW 2025-11-08 04:38:09 +03:00