From 02ef97a0614ffe30d90d41c6c14b3c8291f28358 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 3 May 2024 18:21:54 +0300 Subject: [PATCH] first modify --- pkg/models/companyModels.go | 4 ++ pkg/services/branchService.go | 57 --------------------- pkg/services/companyService | 96 ----------------------------------- 3 files changed, 4 insertions(+), 153 deletions(-) delete mode 100644 pkg/services/branchService.go delete mode 100644 pkg/services/companyService diff --git a/pkg/models/companyModels.go b/pkg/models/companyModels.go index 3ec3d3b..72881cd 100644 --- a/pkg/models/companyModels.go +++ b/pkg/models/companyModels.go @@ -28,3 +28,7 @@ type CompanyRegisterBody struct { Mobile string `json:"mobile"` Country string `json:"country"` } + +type CompanyInfoByID struct { + CompanyID string `json:"company_id" bson:"company_id"` +} diff --git a/pkg/services/branchService.go b/pkg/services/branchService.go deleted file mode 100644 index 9967bf9..0000000 --- a/pkg/services/branchService.go +++ /dev/null @@ -1,57 +0,0 @@ -package services - -import ( - "context" - "errors" - "go.mongodb.org/mongo-driver/bson" - "go.mongodb.org/mongo-driver/bson/primitive" - "go.mongodb.org/mongo-driver/mongo" - "pkg.jojmatic.com/root/rpaas-core-service/pkg/logging" - "pkg.jojmatic.com/root/rpaas-core-service/pkg/models" - "time" -) - -type BranchService interface { - RegisterBranch(body *models.BranchRegisterBody, info *models.CompanyInfo) (*models.BranchInfo, error) -} - -type BranchServiceImpl struct { - branchcollection *mongo.Collection - ctx context.Context -} - -func NewBranchService(collection *mongo.Collection, ctx context.Context) *BranchServiceImpl { - return &BranchServiceImpl{ - branchcollection: collection, - ctx: ctx, - } -} - -func (bc *BranchServiceImpl) RegisterBranch(body *models.BranchRegisterBody, info *models.CompanyInfo) (*models.BranchInfo, error) { - - var branchexisting *models.BranchInfo - err := bc.branchcollection.FindOne(bc.ctx, bson.M{"$and": []bson.M{{"branch_name": body.BranchName}, {"company_id": body.CompanyID}}}).Decode(&branchexisting) - if err == nil { - logging.Logger().Warn("Branch name already exists", err) - return nil, errors.New("branch name already exists") - } else if !errors.Is(err, mongo.ErrNoDocuments) { - logging.Logger().Error(err) - return nil, errors.New("InternalServerError") - } - - branchInfo := &models.BranchInfo{ - BranchName: body.BranchName, - BranchID: primitive.NewObjectID().Hex(), - CompanyID: body.CompanyID, - Owner: info.Owner, - CreateAt: time.Now().UTC().Round(time.Second), - UpdateAt: time.Now().UTC().Round(time.Second), - } - - _, err = bc.branchcollection.InsertOne(bc.ctx, branchInfo) - if err != nil { - logging.Logger().Error(err) - return nil, err - } - return branchInfo, nil -} diff --git a/pkg/services/companyService b/pkg/services/companyService deleted file mode 100644 index 300adba..0000000 --- a/pkg/services/companyService +++ /dev/null @@ -1,96 +0,0 @@ -package services - -import ( - "context" - "errors" - "go.mongodb.org/mongo-driver/bson" - "go.mongodb.org/mongo-driver/bson/primitive" - "go.mongodb.org/mongo-driver/mongo" - "pkg.jojmatic.com/root/rpaas-core-service/pkg/logging" - "pkg.jojmatic.com/root/rpaas-core-service/pkg/models" - "time" -) - -type CompanyService interface { - RegisterCompany(body *models.CompanyRegisterBody) (*models.CompanyInfo, error) - GetCompanyInfoByID(id string) (*models.CompanyInfo, error) - GetAllCompanies() ([]*models.CompanyInfo, error) -} - -type CompanyServiceImpl struct { - companycollection *mongo.Collection - ctx context.Context -} - -func NewCompanyService(companycollection *mongo.Collection, ctx context.Context) CompanyService { - return &CompanyServiceImpl{ - companycollection: companycollection, - ctx: ctx, - } -} - -func (c *CompanyServiceImpl) GetAllCompanies() ([]*models.CompanyInfo, error) { - var result []*models.CompanyInfo - cursor, err := c.companycollection.Find(c.ctx, bson.M{}) - if err != nil { - return nil, err - } - if err = cursor.All(c.ctx, &result); err != nil { - for cursor.Next(c.ctx) { - var company models.CompanyInfo - err = cursor.Decode(&company) - if err != nil { - return nil, err - } - result = append(result, &company) - } - } - if err = cursor.Err(); err != nil { - return nil, err - } - cursor.Close(c.ctx) - - if len(result) == 0 { - return nil, errors.New("no companies found") - } - return result, nil -} -func (c *CompanyServiceImpl) GetCompanyInfoByID(id string) (*models.CompanyInfo, error) { - var existingCompanyInfo models.CompanyInfo - err := c.companycollection.FindOne(c.ctx, bson.M{"company_id": id}).Decode(&existingCompanyInfo) - if err != nil { - if errors.Is(err, mongo.ErrNoDocuments) { - return nil, err - } - } - return &existingCompanyInfo, nil -} -func (c *CompanyServiceImpl) RegisterCompany(company *models.CompanyRegisterBody) (*models.CompanyInfo, error) { - - var existingCompany *models.CompanyInfo - - err := c.companycollection.FindOne(c.ctx, bson.M{"$or": []bson.M{{"username": company.Username}, {"email": bson.M{"$in": []string{company.Email}}}}}).Decode(&existingCompany) - if err == nil { - logging.Logger().Warn("Username or email already exists", err) - return nil, errors.New("username or email already exists") - } else if !errors.Is(err, mongo.ErrNoDocuments) { - logging.Logger().Error(err) - return nil, errors.New("InternalServerError") - } - companyInfo := &models.CompanyInfo{ - CompanyID: primitive.NewObjectID().Hex(), - CompanyName: company.CompanyName, - CreateAt: time.Now().UTC().Round(time.Second), - UpdateAt: time.Now().UTC().Round(time.Second), - Country: company.Country, - Username: company.Username, - Owner: []string{company.Username}, - Email: company.Email, - FirstName: company.FirstName, - LastName: company.LastName, - Mobile: company.Mobile, - } - - _, err = c.companycollection.InsertOne(c.ctx, companyInfo) - return companyInfo, err -}