71 lines
1.4 KiB
Go
71 lines
1.4 KiB
Go
package query
|
|
|
|
import (
|
|
"houston/entity"
|
|
"houston/model/request"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func FindTeam(db *gorm.DB) ([]string, error) {
|
|
teams := make([]string, 0)
|
|
var teamEntity []entity.TeamEntity
|
|
result := db.Find(&teamEntity, "active = ?", true)
|
|
if result.Error != nil {
|
|
return nil, result.Error
|
|
}
|
|
for _, team := range teamEntity {
|
|
teams = append(teams, team.Name)
|
|
}
|
|
|
|
return teams, nil
|
|
}
|
|
|
|
func FindTeamList(db *gorm.DB) ([]entity.TeamEntity, error) {
|
|
var teamEntity []entity.TeamEntity
|
|
result := db.Find(&teamEntity, "active = ?", true)
|
|
if result.Error != nil {
|
|
return nil, result.Error
|
|
}
|
|
|
|
return teamEntity, nil
|
|
}
|
|
|
|
func FindTeamByName(db *gorm.DB, name string) (*entity.TeamEntity, error) {
|
|
var teamEntity entity.TeamEntity
|
|
result := db.Find(&teamEntity, "name = ?", name)
|
|
if result.Error != nil {
|
|
return nil, result.Error
|
|
}
|
|
|
|
return &teamEntity, nil
|
|
}
|
|
|
|
func AddTeam(db *gorm.DB, addTeamRequest request.AddTeamRequest) error {
|
|
teamEntity := &entity.TeamEntity{
|
|
Name: addTeamRequest.Name,
|
|
OncallHandle: addTeamRequest.OncallHandle,
|
|
}
|
|
|
|
result := db.Create(teamEntity)
|
|
if result.Error != nil {
|
|
return result.Error
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func FindTeamById(db *gorm.DB, teamId int) (*entity.TeamEntity, error) {
|
|
var teamEntity entity.TeamEntity
|
|
|
|
result := db.Find(&teamEntity, "id = ?", teamId)
|
|
if result.Error != nil {
|
|
return nil, result.Error
|
|
} else if result.RowsAffected == 0 {
|
|
return nil, nil
|
|
|
|
}
|
|
|
|
return &teamEntity, nil
|
|
}
|