RateCast::class, 'computation' => DiscountComputation::class, 'type' => DiscountType::class, 'scope' => DiscountScope::class, 'start_date' => 'datetime', 'end_date' => 'datetime', 'enabled' => 'boolean', ]; public function company(): BelongsTo { return $this->belongsTo(FilamentCompanies::companyModel(), 'company_id'); } public function defaultSalesDiscount(): HasOne { return $this->hasOne(CompanyDefault::class, 'sales_discount_id'); } public function defaultPurchaseDiscount(): HasOne { return $this->hasOne(CompanyDefault::class, 'purchase_discount_id'); } public function createdBy(): BelongsTo { return $this->belongsTo(FilamentCompanies::userModel(), 'created_by'); } public function updatedBy(): BelongsTo { return $this->belongsTo(FilamentCompanies::userModel(), 'updated_by'); } protected static function newFactory(): Factory { return DiscountFactory::new(); } }