*/ protected function casts(): array { return [ 'kind' => LicenseKind::class, 'for_record' => 'boolean', 'for_media' => 'boolean', 'sort_order' => 'integer', 'active' => 'boolean', ]; } /** * Licenze ammesse per i record (artifact/model): solo quelle aperte. * * @param Builder $query */ public function scopeForRecord(Builder $query): void { $query->where('for_record', true); } /** * Licenze ammesse per i media (immagini, documenti, video, modelli 3D). * * @param Builder $query */ public function scopeForMedia(Builder $query): void { $query->where('for_media', true); } /** * Solo le licenze attive (proposte nei form di inserimento/modifica). * * @param Builder $query */ public function scopeActive(Builder $query): void { $query->where('active', true); } /** * La licenza è assegnata ad almeno un contenuto. * * NB: oggi nessuna tabella referenzia `licenses`, quindi nessuna riga * risulta in uso; quando arriveranno le tabelle di artifact/model/media * (con FK su `licenses`) questo metodo dovrà controllarne l'esistenza, * come fa InstitutionCategory::isInUse(). */ public function isInUse(): bool { return false; } }