class AnnotationSession extends Model

An annotation session groups multiple annotations of a volume based on their creation date.

Traits

HasFactory

Properties

protected array $casts

The attributes that should be casted to native types.

protected array $appends

The accessors to append to the model's array form.

Methods

BelongsTo
volume()

The volume, this annotation session belongs to.

BelongsToMany
users()

The users, this annotation session is restricted to.

Collection
getVolumeFileAnnotations(VolumeFile $file, User $user)

Get the annotations of the file (with labels), filtered by the restrictions of this annotation session.

Builder
annotations()

Get a query for all annotations that belong to this session.

bool
allowsAccess(Annotation $annotation, User $user)

Check if the given user is allowed to access the annotation if this annotation session is active.

setStartsAtAttribute(mixed $value)

Set the start date.

setEndsAtAttribute(mixed $value)

Set the end date.

string
getStartsAtIso8601Attribute()

Get the start date formatted as ISO8601 string.

string
getEndsAtIso8601Attribute()

Get the end date formatted as ISO8601 string.

Builder
imageAnnotations()

Get a query for all image annotations that belong to this session.

Builder
videoAnnotations()

Get a query for all video annotations that belong to this session.

Details

at line 46
BelongsTo volume()

The volume, this annotation session belongs to.

Return Value

BelongsTo

at line 56
BelongsToMany users()

The users, this annotation session is restricted to.

Return Value

BelongsToMany

at line 70
Collection getVolumeFileAnnotations(VolumeFile $file, User $user)

Get the annotations of the file (with labels), filtered by the restrictions of this annotation session.

Parameters

VolumeFile $file

The file to get the annotations from

User $user

The user to whom the restrictions should apply ('own' user)

Return Value

Collection

at line 118
Builder annotations()

Get a query for all annotations that belong to this session.

This is not an Eloquent relation!

Return Value

Builder

at line 134
bool allowsAccess(Annotation $annotation, User $user)

Check if the given user is allowed to access the annotation if this annotation session is active.

Parameters

Annotation $annotation
User $user

Return Value

bool

at line 155
setStartsAtAttribute(mixed $value)

Set the start date.

Parameters

mixed $value

The date (must be parseable by Carbon)

at line 169
setEndsAtAttribute(mixed $value)

Set the end date.

Parameters

mixed $value

The date (must be parseable by Carbon)

at line 183
string getStartsAtIso8601Attribute()

Get the start date formatted as ISO8601 string.

Return Value

string

at line 193
string getEndsAtIso8601Attribute()

Get the end date formatted as ISO8601 string.

Return Value

string

at line 205
Builder imageAnnotations()

Get a query for all image annotations that belong to this session.

This is not an Eloquent relation!

Return Value

Builder

at line 239
Builder videoAnnotations()

Get a query for all video annotations that belong to this session.

This is not an Eloquent relation!

Return Value

Builder