Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Building ¶
type Building interface { Create(cityId, streetId, house int, point string) (int, error) CreateNew(building common.BuildingCreateRequest) (int, error) GetAllCompany(cityId, streetId, house int) ([]common.CompanyResponse, error) }
Building - здание
type BuildingService ¶
type BuildingService struct {
// contains filtered or unexported fields
}
BuildingService - сервис здания
func NewBuildingService ¶
func NewBuildingService( repo repository.Building, repoCompany repository.Company, repoPhone repository.Phone, repoCity repository.City, repoStreet repository.Street, ) *BuildingService
NewBuildingService - конструктор
func (*BuildingService) Create ¶
func (b *BuildingService) Create(cityId, streetId, house int, point string) (int, error)
Create - запись адреса здания по существующим в БД id города, улицы
func (*BuildingService) CreateNew ¶
func (b *BuildingService) CreateNew(building common.BuildingCreateRequest) (int, error)
CreateNew - запись нового адреса, по еще не добавленнным в БД городу и улице
func (*BuildingService) GetAllCompany ¶
func (b *BuildingService) GetAllCompany(cityId, streetId, house int) ([]common.CompanyResponse, error)
GetAllCompany - получить все компании по адресу здания
type CityService ¶
type CityService struct {
// contains filtered or unexported fields
}
CityService - сервис города
func NewCityService ¶
func NewCityService(repo repository.City) *CityService
NewCityService - конструктор
func (*CityService) CreateIfNotExists ¶
func (c *CityService) CreateIfNotExists(name string) (int, error)
CreateIfNotExists - создать, если не существует
type Company ¶
type Company interface { Create(company common.CompanyCreateRequest) (int, error) GetById(companyId int) (common.CompanyResponse, error) GetAllInBuilding(buildingId int) ([]common.Company, error) }
Company - компания
type CompanyRubric ¶
type CompanyRubric interface { Create(companyId, rubricId int) error GetAllRubricCompany(rubricId int) ([]common.CompanyResponse, error) }
CompanyRubric - рубрика компании
type CompanyRubricService ¶
type CompanyRubricService struct {
// contains filtered or unexported fields
}
CompanyRubricService - сервис рубрики компании
func NewCompanyRubricService ¶
func NewCompanyRubricService(repo repository.CompanyRubric, repoPhone repository.Phone) *CompanyRubricService
NewCompanyRubricService - конструктор
func (*CompanyRubricService) Create ¶
func (c *CompanyRubricService) Create(companyId, rubricId int) error
Create - создать
func (*CompanyRubricService) GetAllRubricCompany ¶
func (c *CompanyRubricService) GetAllRubricCompany(rubricId int) ([]common.CompanyResponse, error)
GetAllRubricCompany - получить все компании по рубрике
type CompanyService ¶
type CompanyService struct {
// contains filtered or unexported fields
}
CompanyService - сервис компании
func NewCompanyService ¶
func NewCompanyService( repo repository.Company, repoBuilding repository.Building, repoPhone repository.Phone, repoRubric repository.Rubric, repoCompanyRubric repository.CompanyRubric, ) *CompanyService
NewCompanyService - конструктор
func (*CompanyService) Create ¶
func (c *CompanyService) Create(requestCompany common.CompanyCreateRequest) (int, error)
Create - создание компании Считаем, что все города и улицы уже занесены в БД, здесь приходят их id, которые валидируем
Пришедшее содержимое запроса в объекте common.Company:
{ "name": "Rambler", // создаем компанию (post) "phones": [ { "company_id": 21, // игнорируем "number": "32-32-32" // записываем номера в конце - когда имеем id компании }, { "company_id": null, "number": "33-33-33" } ], "building": { "id": null, // игнорируем "city_id": 1, // если по совокупности полей city_id street_id street_id нет записи - создаем, иначе берем id готового "street_id": 2, "house": 12, "point": "(1.234567890, -90.87654321)" // записываем, если пришло (не проверяем) }, "rubric": [ { "id": null, // id всегда есть и он существует (не проверяем) "name": "Новая рубрика", "parent_rubric_id": null } ] }
func (*CompanyService) GetAllInBuilding ¶
func (c *CompanyService) GetAllInBuilding(buildingId int) ([]common.Company, error)
GetAllInBuilding - получить все компании по зданию
func (*CompanyService) GetById ¶
func (c *CompanyService) GetById(companyId int) (common.CompanyResponse, error)
GetById - получить компанию
type Phone ¶
type Phone interface { Create(companyId int, number string) error GetByCompanyId(companyId int) ([]common.Phone, error) }
Phone - телефон
type PhoneService ¶
type PhoneService struct {
// contains filtered or unexported fields
}
PhoneService - сервис телефона компании
func NewPhoneService ¶
func NewPhoneService(repo repository.Phone) *PhoneService
NewPhoneService - конструктор
func (*PhoneService) Create ¶
func (p *PhoneService) Create(companyId int, number string) error
Create - создать
func (*PhoneService) GetByCompanyId ¶
func (p *PhoneService) GetByCompanyId(companyId int) ([]common.Phone, error)
GetByCompanyId - получить
type RubricService ¶
type RubricService struct {
// contains filtered or unexported fields
}
RubricService - сервис рубрики
func NewRubricService ¶
func NewRubricService(repo repository.Rubric) *RubricService
NewRubricService - конструктор
type StreetService ¶
type StreetService struct {
// contains filtered or unexported fields
}
StreetService - сревис рубрики
func NewStreetService ¶
func NewStreetService(repo repository.Street) *StreetService
NewStreetService - конструктор
func (*StreetService) CreateIfNotExists ¶
func (s *StreetService) CreateIfNotExists(cityId int, name string) (int, error)
CreateIfNotExists - создать, если еще не существует