From a482a083bfa445bb8ff91c2166c267369f897119 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Fri, 13 Nov 2015 13:08:08 -0700 Subject: [PATCH] Drop metadata attr Fixes #26 --- api/characteristics.go | 7 +------ api/species.go | 12 ------------ api/strains.go | 12 ------------ api/users.go | 6 ------ helpers/helpers.go | 5 ----- models/characteristics.go | 5 ----- models/measurements.go | 5 ----- models/species.go | 5 ----- models/strains.go | 5 ----- models/users.go | 5 ----- payloads/characteristics.go | 18 ++++++++---------- payloads/species.go | 6 ++---- payloads/strains.go | 2 -- payloads/users.go | 6 ++---- 14 files changed, 13 insertions(+), 86 deletions(-) diff --git a/api/characteristics.go b/api/characteristics.go index 7543329..0145a6f 100644 --- a/api/characteristics.go +++ b/api/characteristics.go @@ -72,9 +72,6 @@ func (c CharacteristicService) List(val *url.Values, claims *types.Claims) (type Measurements: measurements, Strains: strains, Species: species, - Meta: &models.CharacteristicMeta{ - CanAdd: helpers.CanAdd(claims), - }, } return &payload, nil @@ -191,9 +188,7 @@ func (c CharacteristicService) Create(e *types.Entity, genus string, claims *typ } payload.Characteristic = characteristic - payload.Meta = &models.CharacteristicMeta{ - CanAdd: helpers.CanAdd(claims), - } + return nil } diff --git a/api/species.go b/api/species.go index 5318e90..406d80f 100644 --- a/api/species.go +++ b/api/species.go @@ -50,9 +50,6 @@ func (s SpeciesService) List(val *url.Values, claims *types.Claims) (types.Entit payload := payloads.ManySpecies{ Species: species, Strains: strains, - Meta: &models.SpeciesMeta{ - CanAdd: helpers.CanAdd(claims), - }, } return &payload, nil @@ -73,9 +70,6 @@ func (s SpeciesService) Get(id int64, genus string, claims *types.Claims) (types payload := payloads.Species{ Species: species, Strains: strains, - Meta: &models.SpeciesMeta{ - CanAdd: helpers.CanAdd(claims), - }, } return &payload, nil @@ -116,9 +110,6 @@ func (s SpeciesService) Update(id int64, e *types.Entity, genus string, claims * payload.Species = species payload.Strains = strains - payload.Meta = &models.SpeciesMeta{ - CanAdd: helpers.CanAdd(claims), - } return nil } @@ -151,9 +142,6 @@ func (s SpeciesService) Create(e *types.Entity, genus string, claims *types.Clai // Note, no strains when new species payload.Species = species - payload.Meta = &models.SpeciesMeta{ - CanAdd: helpers.CanAdd(claims), - } return nil } diff --git a/api/strains.go b/api/strains.go index 693b4c6..3b5bedd 100644 --- a/api/strains.go +++ b/api/strains.go @@ -85,9 +85,6 @@ func (s StrainService) List(val *url.Values, claims *types.Claims) (types.Entity Species: species, Measurements: measurements, Characteristics: characteristics, - Meta: &models.StrainMeta{ - CanAdd: helpers.CanAdd(claims), - }, } return &payload, nil @@ -141,9 +138,6 @@ func (s StrainService) Get(id int64, genus string, claims *types.Claims) (types. Species: &manySpecies, Characteristics: characteristics, Measurements: measurements, - Meta: &models.StrainMeta{ - CanAdd: helpers.CanAdd(claims), - }, } return &payload, nil @@ -179,9 +173,6 @@ func (s StrainService) Update(id int64, e *types.Entity, genus string, claims *t payload.Strain = strain payload.Species = &manySpecies - payload.Meta = &models.StrainMeta{ - CanAdd: helpers.CanAdd(claims), - } return nil } @@ -213,9 +204,6 @@ func (s StrainService) Create(e *types.Entity, genus string, claims *types.Claim payload.Strain = strain payload.Species = &manySpecies - payload.Meta = &models.StrainMeta{ - CanAdd: helpers.CanAdd(claims), - } return nil } diff --git a/api/users.go b/api/users.go index 0dcf8a1..d5b3df9 100644 --- a/api/users.go +++ b/api/users.go @@ -57,9 +57,6 @@ func (u UserService) List(val *url.Values, claims *types.Claims) (types.Entity, payload := payloads.Users{ Users: users, - Meta: &models.UserMeta{ - CanAdd: claims.Role == "A", - }, } return &payload, nil } @@ -79,9 +76,6 @@ func (u UserService) Get(id int64, dummy string, claims *types.Claims) (types.En payload := payloads.User{ User: user, - Meta: &models.UserMeta{ - CanAdd: claims.Role == "A", - }, } return &payload, nil } diff --git a/helpers/helpers.go b/helpers/helpers.go index 9103203..cae3410 100644 --- a/helpers/helpers.go +++ b/helpers/helpers.go @@ -88,11 +88,6 @@ func GetClaims(r *http.Request) types.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 func CanEdit(claims *types.Claims, author int64) bool { return claims.Sub == author || claims.Role == "A" diff --git a/models/characteristics.go b/models/characteristics.go index 685d629..1286097 100644 --- a/models/characteristics.go +++ b/models/characteristics.go @@ -85,11 +85,6 @@ type Characteristic struct { // Characteristics are multiple characteristic entities type Characteristics []*Characteristic -// CharacteristicMeta stashes some metadata related to the entity -type CharacteristicMeta struct { - CanAdd bool `json:"canAdd"` -} - // ListCharacteristics returns all characteristics func ListCharacteristics(opt helpers.ListOptions, claims *types.Claims) (*Characteristics, error) { var vals []interface{} diff --git a/models/measurements.go b/models/measurements.go index cff5188..cec5753 100644 --- a/models/measurements.go +++ b/models/measurements.go @@ -166,11 +166,6 @@ func (m *Measurement) Value() string { // Measurements are multiple measurement entities type Measurements []*Measurement -// MeasurementMeta stashes some metadata related to the entity -type MeasurementMeta struct { - CanAdd bool `json:"canAdd"` -} - // ListMeasurements returns all measurements func ListMeasurements(opt helpers.MeasurementListOptions, claims *types.Claims) (*Measurements, error) { var vals []interface{} diff --git a/models/species.go b/models/species.go index d5ca466..e2af831 100644 --- a/models/species.go +++ b/models/species.go @@ -89,11 +89,6 @@ type Species struct { // ManySpecies is multiple species entities. type ManySpecies []*Species -// SpeciesMeta stashes some metadata related to the entity. -type SpeciesMeta struct { - CanAdd bool `json:"canAdd"` -} - // GenusIDFromName looks up the genus' ID. func GenusIDFromName(genusName string) (int64, error) { var genusID struct{ ID int64 } diff --git a/models/strains.go b/models/strains.go index 90d4d7d..44706b2 100644 --- a/models/strains.go +++ b/models/strains.go @@ -92,11 +92,6 @@ type Strain struct { // Strains are multiple strain entities. 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. func (s StrainBase) SpeciesName() string { var species SpeciesBase diff --git a/models/users.go b/models/users.go index 789a53c..68fcb38 100644 --- a/models/users.go +++ b/models/users.go @@ -104,11 +104,6 @@ type UserValidation struct { // Users are multiple user entities. type Users []*User -// UserMeta stashes some metadata related to the entity. -type UserMeta struct { - CanAdd bool `json:"canAdd"` -} - // DbAuthenticate authenticates a user. // For thermokarst/jwt: authentication callback func DbAuthenticate(email string, password string) error { diff --git a/payloads/characteristics.go b/payloads/characteristics.go index 5c7273d..c02d68b 100644 --- a/payloads/characteristics.go +++ b/payloads/characteristics.go @@ -9,21 +9,19 @@ import ( // Characteristic is a payload that sideloads all of the necessary entities for // a particular characteristic. type Characteristic struct { - Characteristic *models.Characteristic `json:"characteristic"` - Measurements *models.Measurements `json:"measurements"` - Strains *models.Strains `json:"strains"` - Species *models.ManySpecies `json:"species"` - Meta *models.CharacteristicMeta `json:"meta"` + Characteristic *models.Characteristic `json:"characteristic"` + Measurements *models.Measurements `json:"measurements"` + Strains *models.Strains `json:"strains"` + Species *models.ManySpecies `json:"species"` } // Characteristics is a payload that sideloads all of the necessary entities for // multiple characteristics. type Characteristics struct { - Characteristics *models.Characteristics `json:"characteristics"` - Measurements *models.Measurements `json:"measurements"` - Strains *models.Strains `json:"strains"` - Species *models.ManySpecies `json:"species"` - Meta *models.CharacteristicMeta `json:"meta"` + Characteristics *models.Characteristics `json:"characteristics"` + Measurements *models.Measurements `json:"measurements"` + Strains *models.Strains `json:"strains"` + Species *models.ManySpecies `json:"species"` } // Marshal satisfies the CRUD interfaces. diff --git a/payloads/species.go b/payloads/species.go index 376bf4c..d152de1 100644 --- a/payloads/species.go +++ b/payloads/species.go @@ -9,9 +9,8 @@ import ( // Species is a payload that sideloads all of the necessary entities for a // particular species. type Species struct { - Species *models.Species `json:"species"` - Strains *models.Strains `json:"strains"` - Meta *models.SpeciesMeta `json:"meta"` + Species *models.Species `json:"species"` + Strains *models.Strains `json:"strains"` } // ManySpecies is a payload that sideloads all of the necessary entities for @@ -19,7 +18,6 @@ type Species struct { type ManySpecies struct { Species *models.ManySpecies `json:"species"` Strains *models.Strains `json:"strains"` - Meta *models.SpeciesMeta `json:"meta"` } // Marshal satisfies the CRUD interfaces. diff --git a/payloads/strains.go b/payloads/strains.go index 57f00af..14d69f0 100644 --- a/payloads/strains.go +++ b/payloads/strains.go @@ -13,7 +13,6 @@ type Strain struct { Species *models.ManySpecies `json:"species"` Characteristics *models.Characteristics `json:"characteristics"` Measurements *models.Measurements `json:"measurements"` - Meta *models.StrainMeta `json:"meta"` } // Strains is a payload that sideloads all of the necessary entities for @@ -23,7 +22,6 @@ type Strains struct { Species *models.ManySpecies `json:"species"` Characteristics *models.Characteristics `json:"characteristics"` Measurements *models.Measurements `json:"measurements"` - Meta *models.StrainMeta `json:"meta"` } // Marshal satisfies the CRUD interfaces. diff --git a/payloads/users.go b/payloads/users.go index 8c0e9b8..df82673 100644 --- a/payloads/users.go +++ b/payloads/users.go @@ -9,15 +9,13 @@ import ( // User is a payload that sideloads all of the necessary entities for a // particular user. type User struct { - User *models.User `json:"user"` - Meta *models.UserMeta `json:"meta"` + User *models.User `json:"user"` } // Users is a payload that sideloads all of the necessary entities for // multiple users. type Users struct { - Users *models.Users `json:"users"` - Meta *models.UserMeta `json:"meta"` + Users *models.Users `json:"users"` } // Marshal satisfies the CRUD interfaces.