parent
9b36644a31
commit
a482a083bf
14 changed files with 13 additions and 86 deletions
|
@ -72,9 +72,6 @@ func (c CharacteristicService) List(val *url.Values, claims *types.Claims) (type
|
||||||
Measurements: measurements,
|
Measurements: measurements,
|
||||||
Strains: strains,
|
Strains: strains,
|
||||||
Species: species,
|
Species: species,
|
||||||
Meta: &models.CharacteristicMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
|
@ -191,9 +188,7 @@ func (c CharacteristicService) Create(e *types.Entity, genus string, claims *typ
|
||||||
}
|
}
|
||||||
|
|
||||||
payload.Characteristic = characteristic
|
payload.Characteristic = characteristic
|
||||||
payload.Meta = &models.CharacteristicMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,9 +50,6 @@ func (s SpeciesService) List(val *url.Values, claims *types.Claims) (types.Entit
|
||||||
payload := payloads.ManySpecies{
|
payload := payloads.ManySpecies{
|
||||||
Species: species,
|
Species: species,
|
||||||
Strains: strains,
|
Strains: strains,
|
||||||
Meta: &models.SpeciesMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
|
@ -73,9 +70,6 @@ func (s SpeciesService) Get(id int64, genus string, claims *types.Claims) (types
|
||||||
payload := payloads.Species{
|
payload := payloads.Species{
|
||||||
Species: species,
|
Species: species,
|
||||||
Strains: strains,
|
Strains: strains,
|
||||||
Meta: &models.SpeciesMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
|
@ -116,9 +110,6 @@ func (s SpeciesService) Update(id int64, e *types.Entity, genus string, claims *
|
||||||
|
|
||||||
payload.Species = species
|
payload.Species = species
|
||||||
payload.Strains = strains
|
payload.Strains = strains
|
||||||
payload.Meta = &models.SpeciesMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -151,9 +142,6 @@ func (s SpeciesService) Create(e *types.Entity, genus string, claims *types.Clai
|
||||||
// Note, no strains when new species
|
// Note, no strains when new species
|
||||||
|
|
||||||
payload.Species = species
|
payload.Species = species
|
||||||
payload.Meta = &models.SpeciesMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,9 +85,6 @@ func (s StrainService) List(val *url.Values, claims *types.Claims) (types.Entity
|
||||||
Species: species,
|
Species: species,
|
||||||
Measurements: measurements,
|
Measurements: measurements,
|
||||||
Characteristics: characteristics,
|
Characteristics: characteristics,
|
||||||
Meta: &models.StrainMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
|
@ -141,9 +138,6 @@ func (s StrainService) Get(id int64, genus string, claims *types.Claims) (types.
|
||||||
Species: &manySpecies,
|
Species: &manySpecies,
|
||||||
Characteristics: characteristics,
|
Characteristics: characteristics,
|
||||||
Measurements: measurements,
|
Measurements: measurements,
|
||||||
Meta: &models.StrainMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
|
@ -179,9 +173,6 @@ func (s StrainService) Update(id int64, e *types.Entity, genus string, claims *t
|
||||||
|
|
||||||
payload.Strain = strain
|
payload.Strain = strain
|
||||||
payload.Species = &manySpecies
|
payload.Species = &manySpecies
|
||||||
payload.Meta = &models.StrainMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -213,9 +204,6 @@ func (s StrainService) Create(e *types.Entity, genus string, claims *types.Claim
|
||||||
|
|
||||||
payload.Strain = strain
|
payload.Strain = strain
|
||||||
payload.Species = &manySpecies
|
payload.Species = &manySpecies
|
||||||
payload.Meta = &models.StrainMeta{
|
|
||||||
CanAdd: helpers.CanAdd(claims),
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,9 +57,6 @@ func (u UserService) List(val *url.Values, claims *types.Claims) (types.Entity,
|
||||||
|
|
||||||
payload := payloads.Users{
|
payload := payloads.Users{
|
||||||
Users: users,
|
Users: users,
|
||||||
Meta: &models.UserMeta{
|
|
||||||
CanAdd: claims.Role == "A",
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
}
|
}
|
||||||
|
@ -79,9 +76,6 @@ func (u UserService) Get(id int64, dummy string, claims *types.Claims) (types.En
|
||||||
|
|
||||||
payload := payloads.User{
|
payload := payloads.User{
|
||||||
User: user,
|
User: user,
|
||||||
Meta: &models.UserMeta{
|
|
||||||
CanAdd: claims.Role == "A",
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
return &payload, nil
|
return &payload, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,11 +88,6 @@ func GetClaims(r *http.Request) types.Claims {
|
||||||
return claims
|
return claims
|
||||||
}
|
}
|
||||||
|
|
||||||
// CanAdd is an authorization helper for adding new entities
|
|
||||||
func CanAdd(claims *types.Claims) bool {
|
|
||||||
return claims.Role == "A" || claims.Role == "W"
|
|
||||||
}
|
|
||||||
|
|
||||||
// CanEdit is an authorization helper for editing entities
|
// CanEdit is an authorization helper for editing entities
|
||||||
func CanEdit(claims *types.Claims, author int64) bool {
|
func CanEdit(claims *types.Claims, author int64) bool {
|
||||||
return claims.Sub == author || claims.Role == "A"
|
return claims.Sub == author || claims.Role == "A"
|
||||||
|
|
|
@ -85,11 +85,6 @@ type Characteristic struct {
|
||||||
// Characteristics are multiple characteristic entities
|
// Characteristics are multiple characteristic entities
|
||||||
type Characteristics []*Characteristic
|
type Characteristics []*Characteristic
|
||||||
|
|
||||||
// CharacteristicMeta stashes some metadata related to the entity
|
|
||||||
type CharacteristicMeta struct {
|
|
||||||
CanAdd bool `json:"canAdd"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListCharacteristics returns all characteristics
|
// ListCharacteristics returns all characteristics
|
||||||
func ListCharacteristics(opt helpers.ListOptions, claims *types.Claims) (*Characteristics, error) {
|
func ListCharacteristics(opt helpers.ListOptions, claims *types.Claims) (*Characteristics, error) {
|
||||||
var vals []interface{}
|
var vals []interface{}
|
||||||
|
|
|
@ -166,11 +166,6 @@ func (m *Measurement) Value() string {
|
||||||
// Measurements are multiple measurement entities
|
// Measurements are multiple measurement entities
|
||||||
type Measurements []*Measurement
|
type Measurements []*Measurement
|
||||||
|
|
||||||
// MeasurementMeta stashes some metadata related to the entity
|
|
||||||
type MeasurementMeta struct {
|
|
||||||
CanAdd bool `json:"canAdd"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ListMeasurements returns all measurements
|
// ListMeasurements returns all measurements
|
||||||
func ListMeasurements(opt helpers.MeasurementListOptions, claims *types.Claims) (*Measurements, error) {
|
func ListMeasurements(opt helpers.MeasurementListOptions, claims *types.Claims) (*Measurements, error) {
|
||||||
var vals []interface{}
|
var vals []interface{}
|
||||||
|
|
|
@ -89,11 +89,6 @@ type Species struct {
|
||||||
// ManySpecies is multiple species entities.
|
// ManySpecies is multiple species entities.
|
||||||
type ManySpecies []*Species
|
type ManySpecies []*Species
|
||||||
|
|
||||||
// SpeciesMeta stashes some metadata related to the entity.
|
|
||||||
type SpeciesMeta struct {
|
|
||||||
CanAdd bool `json:"canAdd"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// GenusIDFromName looks up the genus' ID.
|
// GenusIDFromName looks up the genus' ID.
|
||||||
func GenusIDFromName(genusName string) (int64, error) {
|
func GenusIDFromName(genusName string) (int64, error) {
|
||||||
var genusID struct{ ID int64 }
|
var genusID struct{ ID int64 }
|
||||||
|
|
|
@ -92,11 +92,6 @@ type Strain struct {
|
||||||
// Strains are multiple strain entities.
|
// Strains are multiple strain entities.
|
||||||
type Strains []*Strain
|
type Strains []*Strain
|
||||||
|
|
||||||
// StrainMeta stashes some metadata related to the entity.
|
|
||||||
type StrainMeta struct {
|
|
||||||
CanAdd bool `json:"canAdd"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// SpeciesName returns a strain's species name.
|
// SpeciesName returns a strain's species name.
|
||||||
func (s StrainBase) SpeciesName() string {
|
func (s StrainBase) SpeciesName() string {
|
||||||
var species SpeciesBase
|
var species SpeciesBase
|
||||||
|
|
|
@ -104,11 +104,6 @@ type UserValidation struct {
|
||||||
// Users are multiple user entities.
|
// Users are multiple user entities.
|
||||||
type Users []*User
|
type Users []*User
|
||||||
|
|
||||||
// UserMeta stashes some metadata related to the entity.
|
|
||||||
type UserMeta struct {
|
|
||||||
CanAdd bool `json:"canAdd"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// DbAuthenticate authenticates a user.
|
// DbAuthenticate authenticates a user.
|
||||||
// For thermokarst/jwt: authentication callback
|
// For thermokarst/jwt: authentication callback
|
||||||
func DbAuthenticate(email string, password string) error {
|
func DbAuthenticate(email string, password string) error {
|
||||||
|
|
|
@ -9,21 +9,19 @@ import (
|
||||||
// Characteristic is a payload that sideloads all of the necessary entities for
|
// Characteristic is a payload that sideloads all of the necessary entities for
|
||||||
// a particular characteristic.
|
// a particular characteristic.
|
||||||
type Characteristic struct {
|
type Characteristic struct {
|
||||||
Characteristic *models.Characteristic `json:"characteristic"`
|
Characteristic *models.Characteristic `json:"characteristic"`
|
||||||
Measurements *models.Measurements `json:"measurements"`
|
Measurements *models.Measurements `json:"measurements"`
|
||||||
Strains *models.Strains `json:"strains"`
|
Strains *models.Strains `json:"strains"`
|
||||||
Species *models.ManySpecies `json:"species"`
|
Species *models.ManySpecies `json:"species"`
|
||||||
Meta *models.CharacteristicMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Characteristics is a payload that sideloads all of the necessary entities for
|
// Characteristics is a payload that sideloads all of the necessary entities for
|
||||||
// multiple characteristics.
|
// multiple characteristics.
|
||||||
type Characteristics struct {
|
type Characteristics struct {
|
||||||
Characteristics *models.Characteristics `json:"characteristics"`
|
Characteristics *models.Characteristics `json:"characteristics"`
|
||||||
Measurements *models.Measurements `json:"measurements"`
|
Measurements *models.Measurements `json:"measurements"`
|
||||||
Strains *models.Strains `json:"strains"`
|
Strains *models.Strains `json:"strains"`
|
||||||
Species *models.ManySpecies `json:"species"`
|
Species *models.ManySpecies `json:"species"`
|
||||||
Meta *models.CharacteristicMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marshal satisfies the CRUD interfaces.
|
// Marshal satisfies the CRUD interfaces.
|
||||||
|
|
|
@ -9,9 +9,8 @@ import (
|
||||||
// Species is a payload that sideloads all of the necessary entities for a
|
// Species is a payload that sideloads all of the necessary entities for a
|
||||||
// particular species.
|
// particular species.
|
||||||
type Species struct {
|
type Species struct {
|
||||||
Species *models.Species `json:"species"`
|
Species *models.Species `json:"species"`
|
||||||
Strains *models.Strains `json:"strains"`
|
Strains *models.Strains `json:"strains"`
|
||||||
Meta *models.SpeciesMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ManySpecies is a payload that sideloads all of the necessary entities for
|
// ManySpecies is a payload that sideloads all of the necessary entities for
|
||||||
|
@ -19,7 +18,6 @@ type Species struct {
|
||||||
type ManySpecies struct {
|
type ManySpecies struct {
|
||||||
Species *models.ManySpecies `json:"species"`
|
Species *models.ManySpecies `json:"species"`
|
||||||
Strains *models.Strains `json:"strains"`
|
Strains *models.Strains `json:"strains"`
|
||||||
Meta *models.SpeciesMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marshal satisfies the CRUD interfaces.
|
// Marshal satisfies the CRUD interfaces.
|
||||||
|
|
|
@ -13,7 +13,6 @@ type Strain struct {
|
||||||
Species *models.ManySpecies `json:"species"`
|
Species *models.ManySpecies `json:"species"`
|
||||||
Characteristics *models.Characteristics `json:"characteristics"`
|
Characteristics *models.Characteristics `json:"characteristics"`
|
||||||
Measurements *models.Measurements `json:"measurements"`
|
Measurements *models.Measurements `json:"measurements"`
|
||||||
Meta *models.StrainMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strains is a payload that sideloads all of the necessary entities for
|
// Strains is a payload that sideloads all of the necessary entities for
|
||||||
|
@ -23,7 +22,6 @@ type Strains struct {
|
||||||
Species *models.ManySpecies `json:"species"`
|
Species *models.ManySpecies `json:"species"`
|
||||||
Characteristics *models.Characteristics `json:"characteristics"`
|
Characteristics *models.Characteristics `json:"characteristics"`
|
||||||
Measurements *models.Measurements `json:"measurements"`
|
Measurements *models.Measurements `json:"measurements"`
|
||||||
Meta *models.StrainMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marshal satisfies the CRUD interfaces.
|
// Marshal satisfies the CRUD interfaces.
|
||||||
|
|
|
@ -9,15 +9,13 @@ import (
|
||||||
// User is a payload that sideloads all of the necessary entities for a
|
// User is a payload that sideloads all of the necessary entities for a
|
||||||
// particular user.
|
// particular user.
|
||||||
type User struct {
|
type User struct {
|
||||||
User *models.User `json:"user"`
|
User *models.User `json:"user"`
|
||||||
Meta *models.UserMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Users is a payload that sideloads all of the necessary entities for
|
// Users is a payload that sideloads all of the necessary entities for
|
||||||
// multiple users.
|
// multiple users.
|
||||||
type Users struct {
|
type Users struct {
|
||||||
Users *models.Users `json:"users"`
|
Users *models.Users `json:"users"`
|
||||||
Meta *models.UserMeta `json:"meta"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marshal satisfies the CRUD interfaces.
|
// Marshal satisfies the CRUD interfaces.
|
||||||
|
|
Reference in a new issue