package handlers import ( "errors" "gitea.tecamino.com/paadi/memberDB/models" ) func (dh *DatabaseHandler) AddNewResponsible(responsibles ...models.Person) error { if !dh.DatabaseOpened() { return errors.New("database not opened") } for _, responsible := range responsibles { // set id to 0 so new uniq id is created responsible.Id = 0 exists, err := dh.responsibleExists(responsible) if err != nil { return err } else if exists { continue } err = dh.database.AddNewColum(&responsible) if err != nil { return err } } return nil } func (dh *DatabaseHandler) GetResponsible(id uint) (persons []models.Person, err error) { if !dh.DatabaseOpened() { return persons, errors.New("database not opened") } err = dh.database.GetById(&persons, id) return } func (dh *DatabaseHandler) DeleteResponsible(ids ...uint) error { if !dh.DatabaseOpened() { return errors.New("database not opened") } if len(ids) == 0 { return errors.New("no ids given to be deleted") } return dh.database.DeleteById(&models.Person{}, ids...) } func (dh *DatabaseHandler) responsibleExists(CheckResponsible models.Person) (bool, error) { if !dh.DatabaseOpened() { return false, errors.New("database not opened") } var persons []models.Person if !dh.database.Exists(&persons, "lastName", CheckResponsible.LastName, false) { return false, nil } for _, person := range persons { if person.FirstName == CheckResponsible.FirstName && person.LastName == CheckResponsible.LastName { return true, nil } } return false, nil }