service

package
v0.0.0-...-929e0ab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2021 License: MIT Imports: 3 Imported by: 0

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 City

type City interface {
	CreateIfNotExists(name string) (int, error)
}

City - город

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 Rubric

type Rubric interface {
	Create(name string, parentRubricId int) (int, error)
}

Rubric - рубрика

type RubricService

type RubricService struct {
	// contains filtered or unexported fields
}

RubricService - сервис рубрики

func NewRubricService

func NewRubricService(repo repository.Rubric) *RubricService

NewRubricService - конструктор

func (*RubricService) Create

func (r *RubricService) Create(name string, parentRubricId int) (int, error)

Create - создать

type Service

Service - сервис

func NewService

func NewService(repos *repository.Repository) *Service

NewService - конструктор

type Street

type Street interface {
	CreateIfNotExists(cityId int, name string) (int, error)
}

Street - улица

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 - создать, если еще не существует

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL