package repository import ( "amocrm/internal/models" amo2 "amocrm/internal/models/amo" "amocrm/internal/tools" "context" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "time" ) func (r *Repository) UpdateListUsers(ctx context.Context) error { //TODO:IMPLEMENT ME return nil } func (r *Repository) GettingUserFromCash(ctx context.Context) (*models.UserListResp, error) { //TODO:IMPLEMENT ME return &models.UserListResp{}, nil } func (r *Repository) SoftDeleteAccount(ctx context.Context) error { //TODO:IMPLEMENT ME return nil } func (r *Repository) GetCurrentAccount(ctx context.Context) (*models.GetCurrentAccountResp, error) { //TODO:IMPLEMENT ME return &models.GetCurrentAccountResp{}, nil } func (r *Repository) CreateAccount(ctx context.Context, accountID string) error { userData := models.User{} userData.ObjID = primitive.NewObjectID() userData.Createdat = time.Now().Unix() userData.Accountid = accountID _, err := r.mdbUser.InsertOne(ctx, userData) if err != nil { r.logger.Error("error createAccount in mongodb") return err } return nil } func (r *Repository) UpdateAccount(ctx context.Context, accountID string, userInfo *amo2.AmocrmUserInformation) error { filter := bson.M{"AccountID": accountID} // todo надо как то получить роль и почту update := bson.M{ "$set": bson.M{ "ID": userInfo.UUID, // uuid аккаунта "Name": userInfo.Name, // имя аккаунта амо "Amocrmid": userInfo.ID, // id аккаунта амо "Amouserid": userInfo.CurrentUserID, // id текущего пользователя в амо "Group": tools.ConvertUserGroups(userInfo), // группы пользователя "Country": userInfo.Country, // страна в настройках амо "Subdomain": userInfo.Subdomain, // поддомен организации }, } _, err := r.mdbUser.UpdateOne(ctx, filter, update) if err != nil { r.logger.Error("error updateAccount in mongodb") return err } return nil }