149 lines
4.3 KiB
Go
149 lines
4.3 KiB
Go
package repositories
|
|
|
|
import (
|
|
"github.com/pahmiudahgede/senggoldong/config"
|
|
"github.com/pahmiudahgede/senggoldong/domain"
|
|
)
|
|
|
|
func GetCoverageAreas() ([]domain.CoverageArea, error) {
|
|
var coverageAreas []domain.CoverageArea
|
|
if err := config.DB.Find(&coverageAreas).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return coverageAreas, nil
|
|
}
|
|
|
|
func GetCoverageAreaByID(id string) (domain.CoverageArea, error) {
|
|
var coverageArea domain.CoverageArea
|
|
if err := config.DB.Where("id = ?", id).First(&coverageArea).Error; err != nil {
|
|
return coverageArea, err
|
|
}
|
|
return coverageArea, nil
|
|
}
|
|
|
|
func GetCoverageAreaByDistrictID(id string) (domain.CoverageDistric, error) {
|
|
var coverageDistric domain.CoverageDistric
|
|
if err := config.DB.Where("id = ?", id).First(&coverageDistric).Error; err != nil {
|
|
return coverageDistric, err
|
|
}
|
|
return coverageDistric, nil
|
|
}
|
|
|
|
func GetCoverageDistricsByCoverageAreaID(areaID string) ([]domain.CoverageDistric, error) {
|
|
var districts []domain.CoverageDistric
|
|
if err := config.DB.Where("coverage_area_id = ?", areaID).Find(&districts).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return districts, nil
|
|
}
|
|
|
|
func GetSubdistrictsByCoverageDistrictID(districtID string) ([]domain.CoverageSubdistrict, error) {
|
|
var subdistricts []domain.CoverageSubdistrict
|
|
if err := config.DB.Where("coverage_district_id = ?", districtID).Find(&subdistricts).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return subdistricts, nil
|
|
}
|
|
|
|
func CreateCoverageArea(coverageArea *domain.CoverageArea) error {
|
|
if err := config.DB.Create(&coverageArea).Error; err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CreateCoverageDistrict(coverageDistrict *domain.CoverageDistric) error {
|
|
if err := config.DB.Create(&coverageDistrict).Error; err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CreateCoverageSubdistrict(coverageSubdistrict *domain.CoverageSubdistrict) error {
|
|
if err := config.DB.Create(&coverageSubdistrict).Error; err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func UpdateCoverageArea(id string, coverageArea domain.CoverageArea) (domain.CoverageArea, error) {
|
|
var existingCoverageArea domain.CoverageArea
|
|
if err := config.DB.Where("id = ?", id).First(&existingCoverageArea).Error; err != nil {
|
|
return existingCoverageArea, err
|
|
}
|
|
|
|
existingCoverageArea.Province = coverageArea.Province
|
|
if err := config.DB.Save(&existingCoverageArea).Error; err != nil {
|
|
return existingCoverageArea, err
|
|
}
|
|
|
|
return existingCoverageArea, nil
|
|
}
|
|
|
|
func UpdateCoverageDistrict(id string, coverageDistrict domain.CoverageDistric) (domain.CoverageDistric, error) {
|
|
var existingCoverageDistrict domain.CoverageDistric
|
|
if err := config.DB.Where("id = ?", id).First(&existingCoverageDistrict).Error; err != nil {
|
|
return existingCoverageDistrict, err
|
|
}
|
|
|
|
existingCoverageDistrict.District = coverageDistrict.District
|
|
if err := config.DB.Save(&existingCoverageDistrict).Error; err != nil {
|
|
return existingCoverageDistrict, err
|
|
}
|
|
|
|
return existingCoverageDistrict, nil
|
|
}
|
|
|
|
func UpdateCoverageSubdistrict(id string, coverageSubdistrict domain.CoverageSubdistrict) (domain.CoverageSubdistrict, error) {
|
|
var existingCoverageSubdistrict domain.CoverageSubdistrict
|
|
if err := config.DB.Where("id = ?", id).First(&existingCoverageSubdistrict).Error; err != nil {
|
|
return existingCoverageSubdistrict, err
|
|
}
|
|
|
|
existingCoverageSubdistrict.Subdistrict = coverageSubdistrict.Subdistrict
|
|
if err := config.DB.Save(&existingCoverageSubdistrict).Error; err != nil {
|
|
return existingCoverageSubdistrict, err
|
|
}
|
|
|
|
return existingCoverageSubdistrict, nil
|
|
}
|
|
|
|
func DeleteCoverageArea(id string) error {
|
|
var coverageArea domain.CoverageArea
|
|
if err := config.DB.Where("id = ?", id).First(&coverageArea).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := config.DB.Delete(&coverageArea).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func DeleteCoverageDistrict(id string) error {
|
|
var coverageDistrict domain.CoverageDistric
|
|
if err := config.DB.Where("id = ?", id).First(&coverageDistrict).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := config.DB.Delete(&coverageDistrict).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func DeleteCoverageSubdistrict(id string) error {
|
|
var coverageSubdistrict domain.CoverageSubdistrict
|
|
if err := config.DB.Where("id = ?", id).First(&coverageSubdistrict).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := config.DB.Delete(&coverageSubdistrict).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|