Skip to content

Entities ​

Modularous entities (models) use traits for feature composition. All models extend Unusualify\Modularous\Entities\Model.

For detailed documentation on each model, see the Entities reference.

Base Classes ​

ClassPurpose
ModelBase Eloquent model — soft-deletes, tagging, caching, presenter
RevisionAbstract base for revision-tracking models
SingletonSingleton pattern for single-record models

Core Models ​

ModelPurpose
UserAuthenticatable user with roles, OAuth, API tokens
UserOauthOAuth provider link record
ProfileExtended user profile data
CompanyOrganisation/company record with billing info
FileUploaded file record (non-image)
MediaImage record with dimensions, alt text, captions
FilepondPermanent Filepond upload record
TemporaryFilepondTemporary upload before form submission
BlockContent block with nested children
RepeaterRepeatable content via morph relation
TagTag with locale support
TaggedTaggable pivot record
ProcessState-machine workflow instance
ProcessHistoryProcess status change audit trail
AssignmentTask assignment with status and due dates
AuthorizationAuthorizable relationship pivot
CreatorRecordCreator tracking record
StateTranslatable state definition
StateableMorph pivot linking state to model
SpreadDynamic JSON data via morph relation
SettingKey-value settings with translations
ChatChat room attached via morph relation
ChatMessageIndividual chat message
FeatureFeatured/starred content for buckets
RelatedItemPolymorphic related content pivot
NestedsetCollectionExtended nested-set tree collection

Entity Traits ​

Core ​

TraitPurpose
HasCachingCache support
HasCacheDependentsCache invalidation
HasCompanyCompany scoping
HasScopesQuery scopes
ChangeRelationshipsRelationship helpers
LocaleTagsLocale tag casting
ModelHelpersGeneral helpers

Auth ​

TraitPurpose
HasOauthOAuth integration
CanRegisterRegistration support

Features ​

TraitPurpose
HasImagesImage/media relationship
HasFilesFile relationship
HasFilepondsFilepond relationship
HasSlugSlug generation
HasStateableState workflow
HasPriceablePricing
HasPaymentPayment integration
HasPositionOrdering
HasPresenterPresenter pattern
HasCreatorCreator tracking
HasRepeatersRepeater fields
HasProcessesProcess workflow
HasSpreadableSpread feature
HasUuidUUID primary key
HasTranslationTranslation
IsTranslatableTranslatable model
IsSingularSingleton behavior
IsHostableMulti-tenant
HasAuthorizableAuthorization

Other ​

TraitPurpose
AssignableAssignment target
ChatableChat support
ProcessableProcess participant
HasBlocksBlock content
HasNestingNested structure
HasRelatedRelated items
HasRevisionsRevision history

Enums ​

EnumPurpose
PermissionPermission types
UserRoleUser roles
RoleTeamRole team (Cms, Crm, Erp)
ProcessStatusProcess workflow status
PaymentStatusPayment status
AssignmentStatusAssignment status

Scopes ​

StateableScopes, SingularScope, ProcessableScopes, ProcessScopes, ChatableScopes, ChatMessageScopes, AssignmentScopes, AssignableScopes