github.com/Bio-core/jtree@v0.0.0-20190705165106-1d7a7e7d6272/cmd/jtree-metadata-server/models/experiment.go (about) 1 package models 2 3 // This file was generated by the swagger tool. 4 // Editing this file might prove futile when you re-run the swagger generate command 5 6 import ( 7 "io/ioutil" 8 "log" 9 "path/filepath" 10 11 strfmt "github.com/go-openapi/strfmt" 12 yaml "gopkg.in/yaml.v2" 13 14 goerror "errors" 15 16 "github.com/go-openapi/errors" 17 "github.com/go-openapi/swag" 18 ) 19 20 //Enums is the experiment enums 21 var Enums *ExperimentEnum 22 23 // Experiment experiment 24 // swagger:model Experiment 25 type Experiment struct { 26 27 // chip cartridge barcode 28 ChipCartridgeBarcode *string `json:"experiments.chip_cartridge_barcode,omitempty" db:"experiments.chip_cartridge_barcode"` 29 30 // complete date 31 CompleteDate *string `json:"experiments.complete_date,omitempty" db:"experiments.complete_date"` 32 33 // experiment id 34 ExperimentID *string `json:"experiments.experiment_id,omitempty" db:"experiments.experiment_id"` 35 36 // has project files 37 HasProjectFiles *bool `json:"experiments.has_project_files,omitempty" db:"experiments.has_project_files"` 38 39 // opened date 40 OpenedDate *string `json:"experiments.opened_date,omitempty" db:"experiments.opened_date"` 41 42 // panel assay screened 43 PanelAssayScreened *string `json:"experiments.panel_assay_screened,omitempty" db:"experiments.panel_assay_screened"` 44 45 // pcr 46 Pcr *string `json:"experiments.pcr,omitempty" db:"experiments.pcr"` 47 48 // priority 49 Priority *string `json:"experiments.priority,omitempty" db:"experiments.priority"` 50 51 // procedure order datetime 52 ProcedureOrderDatetime *string `json:"experiments.procedure_order_datetime,omitempty" db:"experiments.procedure_order_datetime"` 53 54 // project id 55 ProjectID *string `json:"experiments.project_id,omitempty" db:"experiments.project_id"` 56 57 // project name 58 ProjectName *string `json:"experiments.project_name,omitempty" db:"experiments.project_name"` 59 60 // sample id 61 SampleID *string `json:"experiments.sample_id,omitempty" db:"experiments.sample_id"` 62 63 // study id 64 StudyID *string `json:"experiments.study_id,omitempty" db:"experiments.study_id"` 65 66 // test date 67 TestDate *string `json:"experiments.test_date,omitempty" db:"experiments.test_date"` 68 } 69 70 //ExperimentEnum is a struct that grabs the validation values from the enums.yaml file 71 type ExperimentEnum struct { 72 Panelassayscreened []string 73 Priority []string 74 } 75 76 // Validate validates this experiment 77 func (m *Experiment) Validate(formats strfmt.Registry) error { 78 var res []error 79 80 if len(res) > 0 { 81 return errors.CompositeValidationError(res...) 82 } 83 result := m.CheckEnums(Enums) 84 if !result { 85 return goerror.New("Enums Invalid") 86 } 87 return nil 88 } 89 90 // CheckEnums validates this experiments enums 91 func (m *Experiment) CheckEnums(exe *ExperimentEnum) bool { 92 result := true 93 var interResult bool 94 for i := range exe.Panelassayscreened { 95 if m.PanelAssayScreened != nil { 96 if exe.Panelassayscreened[i] == *m.PanelAssayScreened { 97 interResult = true 98 break 99 } 100 } 101 interResult = false 102 } 103 result = result && interResult 104 return result 105 } 106 107 // MarshalBinary interface implementation 108 func (m *Experiment) MarshalBinary() ([]byte, error) { 109 if m == nil { 110 return nil, nil 111 } 112 return swag.WriteJSON(m) 113 } 114 115 // UnmarshalBinary interface implementation 116 func (m *Experiment) UnmarshalBinary(b []byte) error { 117 var res Experiment 118 if err := swag.ReadJSON(b, &res); err != nil { 119 return err 120 } 121 *m = res 122 return nil 123 } 124 125 //GetEnums fills the PanelAssayScreened struct 126 func GetEnums(e *ExperimentEnum) *ExperimentEnum { 127 e = &ExperimentEnum{} 128 129 path, _ := filepath.Abs("./models/enums.yaml") 130 yamlFile, err := ioutil.ReadFile(path) 131 if err != nil { 132 log.Printf("yamlFile.Get err #%v ", err) 133 } 134 err = yaml.Unmarshal(yamlFile, e) 135 if err != nil { 136 log.Fatalf("Unmarshal: %v", err) 137 } 138 139 return e 140 }