diff --git a/app/Models/SummonerIcon.php b/app/Models/SummonerIcon.php index 07ab882..5f80f7f 100644 --- a/app/Models/SummonerIcon.php +++ b/app/Models/SummonerIcon.php @@ -4,6 +4,7 @@ namespace App\Models; use Cviebrock\EloquentSluggable\Sluggable; use Illuminate\Database\Eloquent\Model; +use Sqids\Sqids; class SummonerIcon extends Model { @@ -29,8 +30,14 @@ class SummonerIcon extends Model { return [ 'slug' => [ - 'source' => ['title', 'icon_id'], + 'source' => ['title', 'sqid'], ], ]; } + + public function getSqidAttribute(): string + { + $sqids = new Sqids(minLength: 5); + return $sqids->encode([$this->icon_id]); + } } diff --git a/composer.json b/composer.json index 992300c..6cb5ef7 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,8 @@ "laravel/tinker": "^2.8", "saade/blade-iconsax": "^1.1", "spatie/laravel-backup": "^8.3", - "spatie/laravel-query-builder": "^5.6" + "spatie/laravel-query-builder": "^5.6", + "sqids/sqids": "^0.4.1" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.9", diff --git a/composer.lock b/composer.lock index 380cb83..03fb6a7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6bfadf87b8450cc61e25f15f00688ecd", + "content-hash": "9c8af349d513fd5bcda4506d673f1a7c", "packages": [ { "name": "andcarpi/laravel-popper", @@ -4328,6 +4328,61 @@ ], "time": "2023-09-25T07:13:36+00:00" }, + { + "name": "sqids/sqids", + "version": "0.4.1", + "source": { + "type": "git", + "url": "https://github.com/sqids/sqids-php.git", + "reference": "ff3d1214c0c2119ae4b676cc00f3abb22f61da42" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sqids/sqids-php/zipball/ff3d1214c0c2119ae4b676cc00f3abb22f61da42", + "reference": "ff3d1214c0c2119ae4b676cc00f3abb22f61da42", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.3" + }, + "suggest": { + "ext-bcmath": "Required to use BC Math arbitrary precision mathematics (*).", + "ext-gmp": "Required to use GNU multiple precision mathematics (*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Sqids\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Generate short YouTube-looking IDs from numbers", + "homepage": "https://sqids.org/php", + "keywords": [ + "decode", + "encode", + "generate", + "hashids", + "ids", + "sqids" + ], + "support": { + "issues": "https://github.com/sqids/sqids-php/issues", + "source": "https://github.com/sqids/sqids-php/tree/0.4.1" + }, + "time": "2023-09-12T22:30:42+00:00" + }, { "name": "symfony/cache", "version": "v6.3.8",