From 94d4c77f963d7015e5408e2559c8127ae5927872 Mon Sep 17 00:00:00 2001 From: Tushar-E <55044345+Tushar-kalsi@users.noreply.github.com> Date: Tue, 19 Dec 2023 01:21:40 +0530 Subject: [PATCH] Updated files for sensors --- backend/entities/sensor.go | 4 ++-- backend/handlers.go | 13 ++----------- backend/repos/sensors.go | 17 ++++++----------- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/backend/entities/sensor.go b/backend/entities/sensor.go index 7a121a1..a6a0b43 100644 --- a/backend/entities/sensor.go +++ b/backend/entities/sensor.go @@ -1,7 +1,7 @@ package entities type Sensor struct { - Id string `json:"id"` + ID string `json:"id"` Name string `json:"name"` - OwnerId string `json:"ownerid,omitempty"` + User string `json:"user_id,omitempty"` } diff --git a/backend/handlers.go b/backend/handlers.go index 30c7e5b..09ec761 100644 --- a/backend/handlers.go +++ b/backend/handlers.go @@ -342,12 +342,9 @@ func (cs *server) getEventByIDHandler(w http.ResponseWriter, r *http.Request, p http.Error(w, err.Error(), http.StatusInternalServerError) } } - func (cs *server) getSensorsByUser(w http.ResponseWriter, r *http.Request, p httprouter.Params) { - userId := userIDFromCtx(r.Context()) events, err := cs.sensorRepo.GetSensorsByOwnerId(userId) - if err != nil { if isNotFoundError(err) { http.Error(w, err.Error(), http.StatusNotFound) @@ -366,30 +363,24 @@ func (cs *server) getSensorsByUser(w http.ResponseWriter, r *http.Request, p htt } } - func (cs *server) addSensor(w http.ResponseWriter, r *http.Request, p httprouter.Params) { - userId := userIDFromCtx(r.Context()) - decoder := json.NewDecoder(r.Body) defer r.Body.Close() var sensor entities.Sensor err := decoder.Decode(&sensor) - if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return - } + sensor.User = userId - err = cs.sensorRepo.AddSensors(sensor, userId) + err = cs.sensorRepo.AddSensors(sensor) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return - } - w.WriteHeader(http.StatusOK) } diff --git a/backend/repos/sensors.go b/backend/repos/sensors.go index bb416c2..16722b8 100644 --- a/backend/repos/sensors.go +++ b/backend/repos/sensors.go @@ -20,8 +20,10 @@ func NewSensorRepo(db *sqlx.DB) (*SensorRepo, error) { db.Mapper = reflectx.NewMapperFunc("json", strings.ToLower) _, err := db.Exec(`CREATE TABLE IF NOT EXISTS sensors( id TEXT PRIMARY KEY NOT NULL - , ownerid TEXT NOT NULL + , user_id TEXT NOT NULL , name TEXT NOT NULL + , UNIQUE (user_id, name) + , FOREIGN KEY (user_id) REFERENCES users(id) )`) @@ -59,16 +61,9 @@ func (r *SensorRepo) GetSensorsByOwnerId(ownerId string) ([]entities.Sensor, err } -func (r *SensorRepo) AddSensors(sensor entities.Sensor, userId string) error { - - s := entities.Sensor{Id: sensor.Id, OwnerId: userId, Name: sensor.Name} +func (r *SensorRepo) AddSensors(sensor entities.Sensor) error { + s := entities.Sensor{ID: sensor.ID, User: sensor.User, Name: sensor.Name} _, err := r.addSensor.Exec(s) - - if err != nil { - return err - } - - return nil - + return err }