All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
api_urlconfig setting for external code revalidation endpoints.- Duplicate purchase code validation and error message.
- Unit tests for
PurchaseKeyService. TestCasebase class for Orchestra Testbench testing.
- Improved
VerifyPurchaseKeymiddleware with normalized inputs, strict type checking, and transaction safety. - Enhanced
PurchaseKeymodel with additional attribute casts (revoked_at,is_revoked,activation_count,activated_domains,item_details) and configurable user relation. - Normalized inputs in
PurchaseKeyService(trim, lowercase domain, uppercase purchase_code). - Simplified
revalidatePurchaseandshowStatusmethods in service. - Migration schema: indexed
domaincolumn, uniquepurchase_code, addedactivated_domainsJSON column.
- Expiration check now properly handles null
expires_atusing Carbon'sisPast()method. - Activation domain comparison now uses strict type checking.
- Admin interface for managing purchase keys (create, edit, delete, revoke).
- Artisan command
purchase-key:check-expiredto check for expired keys. - Usage tracking and activation limits for purchase keys.
- Localization support for user-facing messages.
- Feature tests for the admin interface.
activated_domainsJSON column topurchase_keystable.activation_limitto the configuration.- Custom exception
PurchaseKeyStoreException. item_idto the vendor configuration.
- Improved error handling and user feedback.
- Refactored
PurchaseKeyControllerto useEnvatoService. PurchaseKeyServicenow validates purchase codes against the Envato API.- Updated
README.mdwith more detailed documentation.
- API verification results are now correctly stored in the database.
- Dead code and cURL logic from
PurchaseKeyController.