func (app *App) Create(owner User, team Team) error { app.Owner = owner.Email app.Team = team.Alias if err := app.valid(); err != nil { Logger.Info("Failed to create an app with invalid data: %+v.", app) return err } if app.ClientId == "" { app.ClientId = goutils.GenerateSlug(app.Name) } else { app.ClientId = goutils.GenerateSlug(app.ClientId) } if app.ClientSecret == "" { app.ClientSecret = util.GenerateRandomStr(32) } if app.Exists() { Logger.Info("Failed to create an app with duplicate data: %+v.", app) return errors.NewValidationError(errors.ErrAppDuplicateEntry) } err := store.UpsertApp(*app) Logger.Info("app.Create: %+v. Err: %s.", app, err) return err }
func (w *Hook) Save(team Team) error { if err := w.valid(); err != nil { Logger.Info("Failed to save hook with invalid data: %+v.", w) return err } w.Name = utils.GenerateSlug(w.Name) w.Team = team.Alias err := store.UpsertHook(*w) Logger.Info("hook.Save: %+v. Err: %s.", w, err) return err }
// Create a team. // // It requires to inform the owner and a name. // If the `alias` is not informed, it will be generate based on the team name. func (team *Team) Create(owner User) error { if err := team.valid(); err != nil { Logger.Info("Failed to create a team with invalid data: %+v.", team) return err } team.Users = append(team.Users, owner.Email) team.Owner = owner.Email if team.Alias == "" { team.Alias = utils.GenerateSlug(team.Name) } else { team.Alias = utils.GenerateSlug(team.Alias) } if team.Exists() { Logger.Info("Failed to create a team with duplicate data: %+v.", team) return errors.NewValidationError(errors.ErrTeamDuplicateEntry) } err := store.UpsertTeam(*team) Logger.Info("team.Create: %+v. Err: %s.", team, err) return err }