Documentation
¶
Index ¶
- type Accelero
- type Alarm
- type AlarmRecord
- type Animal
- type AnimalInfo
- type AnimalRecord
- type Answer
- type AnswerRecord
- type BorneSensorDeployment
- type BorneSensorDeploymentRecord
- type BorneSensorReading
- type BorneSensorReadingRecord
- type Circle
- type CollisionReport
- type Conveyance
- type Credential
- type DamageReport
- type Detection
- type DetectionRecord
- type Experiment
- type ExperimentRecord
- type Interaction
- type InteractionRecord
- type InteractionType
- type LivingLab
- type Message
- type MessageRecord
- type Point
- type Polygon
- type Profile
- type ProfileRecord
- type Question
- type QuestionRecord
- type Questionnaire
- type QuestionnaireRecord
- type Response
- type ResponseRecord
- type Role
- type SightingReport
- type Species
- type TrackingReading
- type TrackingReadingRecord
- type User
- type UserCreatedByAdmin
- type Vicinity
- type Zone
- type ZoneRecord
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Alarm ¶
type Alarm struct {
AlarmRecord
Zone Zone `json:"zone" doc:"The zone for which this alarm is."`
Interaction *Interaction `json:"interaction,omitempty" doc:"The optional interaction that initiated the creation of this alarm."`
Detection *Detection `json:"detection,omitempty" doc:"The optional detection that initiated the creation of this alarm."`
Animal *Animal `json:"animal,omitempty" doc:"The optional animal that initiated the creation of this alarm."`
Conveyances []Conveyance `json:"conveyances" doc:"The conveyances that were created for this alarm."`
}
type AlarmRecord ¶
type AlarmRecord struct {
ID string `json:"ID" format:"uuid" doc:"The ID of this alarm."`
Timestamp time.Time `json:"timestamp" format:"date-time" doc:"The moment this alarm was created."`
ZoneID string `json:"-"`
InteractionID *string `json:"-"`
DetectionID *string `json:"-"`
AnimalID *string `json:"-"`
}
type Animal ¶
type Animal struct {
AnimalRecord
Species Species `json:"species" doc:"The species of this animal"`
Location *Point `json:"location,omitempty" readOnly:"true" doc:"The location of this animal"`
LocationTimestamp *time.Time `` /* 132-byte string literal not displayed */
}
type AnimalInfo ¶
type AnimalInfo struct {
Sex string `json:"sex" enum:"female,male,unknown" doc:"The sex of the observed animal."`
LifeStage string `json:"lifeStage" enum:"infant,adolescent,adult,unknown" doc:"The life stage of the observed animal."`
Condition string `json:"condition" enum:"healthy,impaired,dead,other" doc:"The condition of the observed animal."`
}
type AnimalRecord ¶
type AnimalRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this animal."`
Name string `json:"name" minLength:"2" doc:"The name of this animal."`
SpeciesID string `json:"speciesID,omitempty" format:"uuid" writeOnly:"true" required:"true" doc:"The ID of the species of this animal."`
}
type Answer ¶
type Answer struct {
AnswerRecord
}
type AnswerRecord ¶
type AnswerRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this answer."`
Text string `json:"text" minLength:"5" doc:"The text of this answer."`
Index int `` /* 205-byte string literal not displayed */
QuestionID string `` /* 127-byte string literal not displayed */
NextQuestionID *string `` /* 165-byte string literal not displayed */
}
type BorneSensorDeployment ¶
type BorneSensorDeployment struct {
BorneSensorDeploymentRecord
Animal Animal `json:"animal" doc:"The animal that bears this sensor."`
}
type BorneSensorDeploymentRecord ¶
type BorneSensorDeploymentRecord struct {
AnimalID string `json:"animalID,omitempty" format:"uuid" writeOnly:"true" required:"true" doc:"The ID of the animal that bears this sensor."`
SensorID string `json:"sensorID" minLength:"2" doc:"The ID of the borne sensor."`
Start time.Time `json:"start" format:"date-time" doc:"The moment this deployment started."`
End *time.Time `json:"end" format:"date-time" required:"false" readOnly:"true" doc:"The moment this deployment finished."`
}
type BorneSensorReading ¶
type BorneSensorReading struct {
BorneSensorReadingRecord
UserID string `json:"userID" doc:"The ID of the data system that provided this reading."`
}
type BorneSensorReadingRecord ¶
type BorneSensorReadingRecord struct {
SensorID string `json:"sensorID" doc:"The ID of the borne sensor."`
Timestamp time.Time `json:"timestamp" format:"date-time" doc:"The moment that this reading was done."`
Location *Point `json:"location,omitempty" doc:"The value read by the location sensor."`
Altitude *float64 `json:"altitude,omitempty" doc:"The value read by the altitude sensor."`
Temperature *float64 `json:"temperature,omitempty" doc:"The value read by the temperature sensor in degrees Celsius."`
Accelero *Accelero `json:"accelero,omitempty" doc:"The values read by the accelerometer."`
}
type Circle ¶
type CollisionReport ¶
type CollisionReport struct {
InvolvedAnimals []AnimalInfo `json:"involvedAnimals" doc:"Information on the animals involved in this animal-vehicle-collision report."`
EstimatedDamage int `json:"estimatedDamage" minimum:"0" doc:"The estimated value in Euros (€) of the damage."`
Intensity string `json:"intensity" enum:"high,medium,low" doc:"The intensity of the animal-vehicle-collision."`
Urgency string `json:"urgency" enum:"high,medium,low" doc:"The urgency of the animal-vehicle-collision."`
}
type Conveyance ¶
type Conveyance struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this conveyance."`
Timestamp time.Time `json:"timestamp" format:"date-time" doc:"The moment this conveyance was created."`
User User `json:"user" doc:"The user this conveyance is for."`
Message Message `json:"message" doc:"The message associated with this conveyance."`
Animal *Animal `json:"animal,omitempty" doc:"The encountered animal, in case this conveyance was created for an encounter."`
Response *Response `json:"response,omitempty" doc:"The given response, in case this conveyance was created for a response."`
Alarm *Alarm `json:"alarm,omitempty" doc:"The alarm, in case this conveyance was created for an alarm."`
}
type Credential ¶
type Credential struct {
UserID string `json:"userID" format:"uuid" doc:"The ID of the user this credential belongs to."`
Email string `json:"email" format:"email" doc:"The email address associated with this credential."`
Token string `json:"token" format:"uuid" doc:"The bearer token associated with this credential."`
Scopes []string `json:"scopes" doc:"The scopes that can be used with this credential."`
LastLogon time.Time `json:"lastLogon" format:"date-time" doc:"The last time this credential was used to log on."`
}
type DamageReport ¶
type DamageReport struct {
Belonging string `json:"belonging" doc:"The belonging that was damaged."`
ImpactType string `json:"impactType" enum:"square-meters,units" doc:"The type of the impact of this damage report."`
ImpactValue int `json:"impactValue" minimum:"1" doc:"The value of the impact of this damage report."`
EstimatedDamage int `json:"estimatedDamage" minimum:"0" doc:"The estimated value in Euros (€) of the damage."`
EstimatedLoss int `json:"estimatedLoss" minimum:"0" doc:"The estimated economical loss in Euros (€) as incurred by the damage."`
}
type Detection ¶
type Detection struct {
DetectionRecord
Species Species `json:"species" doc:"The species of the detected animal."`
}
type DetectionRecord ¶
type DetectionRecord struct {
ID int `json:"-"`
SensorID string `json:"sensorID" minLength:"2" doc:"The identification for the sensor that detected the animal."`
Location Point `json:"location" doc:"The location that the animal was detected at."`
Timestamp time.Time `json:"timestamp" format:"date-time" doc:"The moment the animal was detected."`
SpeciesID string `json:"speciesID" format:"uuid" writeOnly:"true" required:"true" doc:"The ID of the species of the detected animal."`
}
type Experiment ¶
type Experiment struct {
ExperimentRecord
User User `json:"user" doc:"The User that created this experiment."`
LivingLab *LivingLab `json:"livingLab,omitempty" doc:"The livingLab this experiment is bound to."`
NumberOfQuestionnaires *int `json:"numberOfQuestionnaires,omitempty" minimum:"0" doc:"The number of questionnaires associated with this experiment."`
NumberOfMessages *int `json:"numberOfMessages,omitempty" minimum:"0" doc:"The number of messages associated with this experiment."`
QuestionnaireActivity *int `json:"questionnaireActivity,omitempty" minimum:"0" doc:"The number of questionnaires with at least one response."`
MessageActivity *int `json:"messageActivity,omitempty" minimum:"0" doc:"The number of conveyances."`
}
type ExperimentRecord ¶
type ExperimentRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this experiment."`
Name string `json:"name" minLength:"2" doc:"The name of this experiment."`
Description string `json:"description" minLength:"5" doc:"The description of this experiment."`
Start time.Time `json:"start" format:"date-time" doc:"The moment this experiment started."`
End *time.Time `json:"end,omitempty" format:"date-time" doc:"The moment this experiment ended."`
LivingLabID *string `` /* 128-byte string literal not displayed */
}
type Interaction ¶
type Interaction struct {
InteractionRecord
Timestamp time.Time `json:"timestamp" format:"date-time" doc:"The date+time this interaction was reported."`
Species Species `json:"species" doc:"The species of the animal that this interaction was with."`
User User `json:"user" doc:"The User that reported this interaction."`
Type InteractionType `json:"type" doc:"The type of this interaction."`
Questionnaire *Questionnaire `json:"questionnaire,omitempty" doc:"The questionnaire the user should fill-out after having added this interaction."`
}
type InteractionRecord ¶
type InteractionRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this interaction."`
Description string `json:"description" doc:"The description of this interaction."`
SpeciesID string `` /* 131-byte string literal not displayed */
Location Point `json:"location" doc:"The location where this interaction was reported."`
Moment time.Time `json:"moment" doc:"The moment this interaction happened."`
Place Point `json:"place" doc:"The place where this interaction happened."`
TypeID int `` /* 127-byte string literal not displayed */
ReportOfSighting *SightingReport `json:"reportOfSighting,omitempty" doc:"Report of the animal sightings. Only used for interactions of TypeID 1"`
ReportOfDamage *DamageReport `json:"reportOfDamage,omitempty" doc:"Report of the inflicted damage. Only used for interactions of TypeID 2"`
ReportOfCollision *CollisionReport `json:"reportOfCollision,omitempty" doc:"Report of the animal-vehicle-collision. Only used for interactions of TypeID 3"`
}
type InteractionType ¶
type InteractionType struct {
ID int `json:"ID" readOnly:"true" minimum:"1" doc:"The ID of this interaction type."`
Name string `json:"name" minLength:"2" doc:"The name of this interaction type."`
Description string `json:"description" minLength:"5" doc:"The description of this interaction type."`
}
type Message ¶
type Message struct {
MessageRecord
Experiment Experiment `json:"experiment" doc:"The experiment that this message belongs to."`
Species *Species `json:"species,omitempty" doc:"The optional species this message is associated with."`
Answer *Answer `json:"answer,omitempty" doc:"The optional answer this message is associated with."`
Activity *int `json:"activity,omitempty" doc:"The number of conveyances."`
}
type MessageRecord ¶
type MessageRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID for this message."`
Name string `json:"name" minLength:"2" doc:"The name of this message."`
Severity int `` /* 128-byte string literal not displayed */
Text string `json:"text" minLength:"5" doc:"The text of this message."`
ExperimentID string `` /* 132-byte string literal not displayed */
Trigger string `json:"trigger" enum:"encounter,answer,alarm" doc:"The trigger type for this message."`
SpeciesID *string `` /* 127-byte string literal not displayed */
AnswerID *string `json:"answerID,omitempty" format:"uuid" writeOnly:"true" doc:"The optional ID of the answer this message is associated with."`
EncounterMeters *int `` /* 205-byte string literal not displayed */
EncounterMinutes *int `` /* 183-byte string literal not displayed */
}
type Point ¶
type Profile ¶
type Profile struct {
ProfileRecord
Roles []Role `json:"roles,omitempty" doc:"The additional roles this user has."`
Location *Point `json:"location,omitempty" readOnly:"true" doc:"The location of this user."`
LocationTimestamp *time.Time `` /* 130-byte string literal not displayed */
}
type ProfileRecord ¶
type ProfileRecord struct {
User
Email string `json:"email" format:"email" readOnly:"true" doc:"The email address of this user."`
DateOfBirth *string `json:"dateOfBirth,omitempty" format:"date" doc:"The date of birth of this user."`
Gender *string `json:"gender,omitempty" enum:"female,male,other" doc:"The gender of this user."`
Postcode *string `json:"postcode,omitempty" doc:"The postcode of this user."`
Description *string `json:"description,omitempty" doc:"The description of this user."`
RecreationAppTandC bool `` /* 126-byte string literal not displayed */
ReportAppTandC bool `json:"reportAppTerms" doc:"Reports whether this user accepted the terms and conditions for the use of the report app."`
}
type Question ¶
type Question struct {
QuestionRecord
Questionnaire *Questionnaire `json:"questionnaire,omitempty" doc:"The questionnaire this question belongs to."`
Answers []Answer `json:"answers,omitempty" doc:"The selectable answers for this questions."`
}
type QuestionRecord ¶
type QuestionRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this question."`
Text string `json:"text" minLength:"5" doc:"The text of this question."`
Description string `json:"description" doc:"The further explanation for this questions."`
Index int `` /* 215-byte string literal not displayed */
AllowMultipleResponse bool `json:"allowMultipleResponse" doc:"Whether or not this questions allows for multiple reponses."`
AllowOpenResponse bool `json:"allowOpenResponse" doc:"Whether or not this question allows for a response to contain a free format text."`
OpenResponseFormat *string `` /* 186-byte string literal not displayed */
QuestionnaireID string `` /* 140-byte string literal not displayed */
}
type Questionnaire ¶
type Questionnaire struct {
QuestionnaireRecord
Experiment Experiment `json:"experiment" doc:"The experiment that this questionnaire belongs to."`
InteractionType InteractionType `json:"interactionType" doc:"The type of interactions that this questionnaire is created for."`
Questions []Question `json:"questions,omitempty" doc:"The questions of this questionnaire"`
}
type QuestionnaireRecord ¶
type QuestionnaireRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this questionnaire."`
Name string `json:"name" minLength:"5" doc:"The name of this questionnaire."`
Identifier *string `json:"identifier,omitempty" doc:"An optional questionnaire identifier for internal use."`
ExperimentID string `` /* 145-byte string literal not displayed */
InteractionTypeID int `` /* 154-byte string literal not displayed */
}
type Response ¶
type Response struct {
ResponseRecord
Timestamp time.Time `json:"timestamp" readOnly:"true" format:"date-time" doc:"The moment this response was created."`
Question Question `json:"question" doc:"The question this response is for."`
Interaction Interaction `json:"interaction" doc:"The interaction this response belongs to."`
Answer *Answer `json:"answer,omitempty" doc:"The answer that was selected for this response."`
Conveyance *Conveyance `json:"conveyance,omitempty" doc:"The optional conveyance of a message that should be displayed to the user."`
}
type ResponseRecord ¶
type ResponseRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this response."`
QuestionID string `json:"questionID,omitempty" format:"uuid" writeOnly:"true" required:"true" doc:"The ID of the question this response is for."`
InteractionID string `` /* 135-byte string literal not displayed */
Text *string `json:"text,omitempty" doc:"The free format text that the user added to this response."`
AnswerID *string `json:"answerID,omitempty" format:"uuid" writeOnly:"true" doc:"The ID of the answer that was selected for this response."`
}
type SightingReport ¶
type SightingReport struct {
InvolvedAnimals []AnimalInfo `json:"involvedAnimals" doc:"Information on the animals involved in this sighting report."`
}
type Species ¶
type Species struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this species."`
Name string `json:"name" minLength:"2" doc:"The Latin binomen of this species."`
CommonName string `json:"commonName" minLength:"2" doc:"The common name of this species."`
Category string `json:"category" doc:"The animal category for this species."`
Advice string `json:"advice" doc:"The advice on how to interact with this species."`
RoleInNature string `json:"roleInNature" doc:"The role this species has in nature."`
Description string `json:"description" doc:"Information about this species."`
Behaviour string `json:"behaviour" doc:"Information on the behaviour of this species."`
}
type TrackingReading ¶
type TrackingReading struct {
TrackingReadingRecord
Conveyance *Conveyance `json:"conveyance,omitempty" doc:"The optional conveyance of a message that should be displayed to the user."`
}
type TrackingReadingRecord ¶
type TrackingReadingRecord struct {
UserID string `json:"userID" format:"uuid" readOnly:"true" doc:"The ID of the user this reading belongs to."`
Timestamp time.Time `json:"timestamp" format:"date-time" doc:"The moment that this reading was done."`
Location Point `json:"location" doc:"The value read by the location sensor."`
}
type UserCreatedByAdmin ¶
type Vicinity ¶
type Vicinity struct {
Animals []Animal `json:"animals" doc:"The animals in the vicinity."`
Detections []Detection `json:"detections" doc:"The detections in the vicinity."`
Interactions []Interaction `json:"interactions" doc:"The interactions in the vicinity."`
}
type Zone ¶
type Zone struct {
ZoneRecord
Deactivated *time.Time `json:"deactivated,omitempty" doc:"The moment this zone record was deactivated."`
User User `json:"user" doc:"The user that added this Zone."`
Species []Species `json:"species,omitempty" doc:"The species for which this zone creates alarms."`
}
type ZoneRecord ¶
type ZoneRecord struct {
ID string `json:"ID" format:"uuid" readOnly:"true" doc:"The ID of this Zone."`
Created time.Time `json:"created" readOnly:"true" doc:"The moment this zone was created."`
Name string `json:"name" minLength:"2" doc:"The name of this Zone."`
Description string `json:"description" minLength:"5" doc:"The description for this Zone."`
Area Circle `json:"area" doc:"The geographic circle that defines this Zone."`
}
Source Files
¶
- Accelero.go
- Alarm.go
- AnimalInfo.go
- Answer.go
- BorneSensorDeployment.go
- BorneSensorReading.go
- Circle.go
- CollisionReport.go
- Conveyance.go
- DamageReport.go
- Detection.go
- Experiment.go
- InteractionType.go
- LivingLab.go
- Message.go
- Point.go
- Polygon.go
- Profile.go
- Question.go
- Questionnaire.go
- Response.go
- Role.go
- SightingReport.go
- TrackingReading.go
- Vicinity.go
- Zone.go
- animal.go
- credential.go
- interaction.go
- species.go
- user.go
Click to show internal directories.
Click to hide internal directories.