package handlers import ( "errors" "gitea.tecamino.com/paadi/memberDB/models" ) func (dh *DatabaseHandler) AddNewResponsible(responsibles ...models.Responsible) error { if !dh.DatabaseOpened() { return errors.New("database not opened") } for i := range responsibles { if responsibles[i].MemberId == 0 && responsibles[i].Id != 0 { responsibles[i].MemberId = responsibles[i].Id responsibles[i].Id = 0 } //check if member exists if !dh.database.Exists(&models.Member{}, "", "id", &responsibles[i].MemberId, false) { continue } // check if already exists if dh.database.Exists(&models.Responsible{}, "Member", "id", &responsibles[i].MemberId, false) { continue } err := dh.database.AddNewColum(&responsibles[i]) if err != nil { return err } } return nil } func (dh *DatabaseHandler) GetResponsible(id uint) (members []models.Member, err error) { if !dh.DatabaseOpened() { return members, errors.New("database not opened") } var responsibles models.Responsibles err = dh.database.GetById(&responsibles, "Member", id) for _, r := range responsibles { err := r.Member.Decrypt(dh.token) if err != nil { return members, err } members = append(members, *r.Member) } 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.Responsible{}, "", ids...) }