feat: Integrate Swindon\FilamentHashids trait into multiple models for enhanced ID encoding

This commit is contained in:
Yoga Pangestu 2026-01-19 11:03:33 +07:00
parent 0dad32aa12
commit 24c95ceb87
30 changed files with 62 additions and 28 deletions

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class Announcement extends Model class Announcement extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -5,10 +5,11 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Swindon\FilamentHashids\Traits\HasHashid;
class AnnouncementMedia extends Model class AnnouncementMedia extends Model
{ {
use HasFactory; use HasFactory, HasHashid;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class Category extends Model class Category extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -4,9 +4,12 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Swindon\FilamentHashids\Traits\HasHashid;
class CategoryNews extends Model class CategoryNews extends Model
{ {
use HasHashid;
protected $guarded = ['id']; protected $guarded = ['id'];
public function category(): BelongsToMany public function category(): BelongsToMany

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class Classification extends Model class Classification extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -11,10 +11,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class Company extends Model implements HasMedia class Company extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -4,9 +4,12 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Swindon\FilamentHashids\Traits\HasHashid;
class Contact extends Model class Contact extends Model
{ {
use HasHashid;
protected $fillable = [ protected $fillable = [
'name', 'name',
'email', 'email',

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class ContentRecap extends Model implements HasMedia class ContentRecap extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -14,10 +14,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class Cooperation extends Model implements HasMedia class Cooperation extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -12,10 +12,11 @@
use Illuminate\Database\Eloquent\Relations\Pivot; use Illuminate\Database\Eloquent\Relations\Pivot;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class CooperationMedia extends Pivot implements HasMedia class CooperationMedia extends Pivot implements HasMedia
{ {
use HasFactory, InteractsWithMedia; use HasFactory, HasHashid, InteractsWithMedia;
protected $table = 'cooperation_media'; protected $table = 'cooperation_media';

View File

@ -7,10 +7,11 @@
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class CooperationPayment extends Model implements HasMedia class CooperationPayment extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia; use HasFactory, HasHashid, InteractsWithMedia;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -11,10 +11,11 @@
use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphMany;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class CooperationProposal extends Model implements HasMedia class CooperationProposal extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia; use HasFactory, HasHashid, InteractsWithMedia;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -6,10 +6,11 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class Department extends Model class Department extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -7,10 +7,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class IssueManagement extends Model class IssueManagement extends Model
{ {
use HasFactory, HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class Journalist extends Model implements HasMedia class Journalist extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -7,10 +7,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class Location extends Model class Location extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class MediaMonitoring extends Model implements HasMedia class MediaMonitoring extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -5,10 +5,11 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Swindon\FilamentHashids\Traits\HasHashid;
class MediaMonitoringTheme extends Model class MediaMonitoringTheme extends Model
{ {
use HasFactory; use HasFactory, HasHashid;
protected $table = 'media_monitoring_theme'; protected $table = 'media_monitoring_theme';

View File

@ -7,10 +7,11 @@
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\Relations\Pivot; use Illuminate\Database\Eloquent\Relations\Pivot;
use Swindon\FilamentHashids\Traits\HasHashid;
class MediaTaskAssignment extends Pivot class MediaTaskAssignment extends Pivot
{ {
use HasFactory; use HasFactory, HasHashid;
protected $table = 'media_task_assignment'; protected $table = 'media_task_assignment';

View File

@ -15,10 +15,11 @@
use Spatie\Sluggable\HasSlug; use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions; use Spatie\Sluggable\SlugOptions;
use Spatie\Tags\HasTags; use Spatie\Tags\HasTags;
use Swindon\FilamentHashids\Traits\HasHashid;
class News extends Model implements HasMedia class News extends Model implements HasMedia
{ {
use HasFactory, HasSlug, HasTags, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, HasSlug, HasTags, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -16,10 +16,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class PartnerMedia extends Model implements HasMedia class PartnerMedia extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -5,10 +5,11 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\MorphTo;
use Swindon\FilamentHashids\Traits\HasHashid;
class RejectionReason extends Model class RejectionReason extends Model
{ {
use HasFactory; use HasFactory, HasHashid;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -10,10 +10,11 @@
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Swindon\FilamentHashids\Traits\HasHashid;
class Report extends Model implements HasMedia class Report extends Model implements HasMedia
{ {
use HasFactory, InteractsWithMedia, SoftDeletes; use HasFactory, HasHashid, InteractsWithMedia, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class SubClassification extends Model class SubClassification extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -7,10 +7,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class SubLocation extends Model class SubLocation extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -8,10 +8,11 @@
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphMany;
use Swindon\FilamentHashids\Traits\HasHashid;
class TaskAssignment extends Model class TaskAssignment extends Model
{ {
use HasFactory; use HasFactory, HasHashid;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class Theme extends Model class Theme extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory, HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -16,10 +16,11 @@
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Spatie\Permission\Traits\HasRoles; use Spatie\Permission\Traits\HasRoles;
use Swindon\FilamentHashids\Traits\HasHashid;
class User extends Authenticatable implements FilamentUser, MustVerifyEmail class User extends Authenticatable implements FilamentUser, MustVerifyEmail
{ {
use HasFactory, HasRoles, Notifiable, SoftDeletes; use HasFactory, HasHashid, HasRoles, Notifiable, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -9,10 +9,11 @@
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class VerificationRequest extends Model class VerificationRequest extends Model
{ {
use SoftDeletes; use HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];

View File

@ -8,10 +8,11 @@
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Swindon\FilamentHashids\Traits\HasHashid;
class VerificationReview extends Model class VerificationReview extends Model
{ {
use SoftDeletes; use HasHashid, SoftDeletes;
protected $guarded = ['id']; protected $guarded = ['id'];