some update user moodels and openapi

This commit is contained in:
Pavel 2024-04-11 12:29:17 +03:00
parent aea73037fb
commit f78cc486ab
4 changed files with 47 additions and 25 deletions

@ -4,24 +4,30 @@ import "go.mongodb.org/mongo-driver/bson/primitive"
type User struct { type User struct {
ObjID primitive.ObjectID `json:"ObjID" bson:"_id"` ObjID primitive.ObjectID `json:"ObjID" bson:"_id"`
/* - связь с аккаунтом в интеграции амо*/ /* - uuid*/
Accountid string `json:"AccountID" bson:"Accountid"` ID string `json:"ID" bson:"ID"`
/* - таймштамп создания тега в нашей системе*/ /* - имя аккаунта в амо*/
Name string `json:"Name" bson:"Name"`
/* - поддомен организации в амо*/
Subdomain string `json:"Subdomain" bson:"Subdomain"`
/* - связь с аккаунтом в квизе*/
Accountid string `json:"AccountID" bson:"AccountID"`
/* - айдишник пользвателя, который подключал интеграцию*/
Amouserid int `json:"AmoUserID" bson:"Amouserid"`
/* - связь с аккаунтом в амо*/
Amocrmid int `json:"AmocrmID" bson:"Amocrmid"`
/* - страна указанная в настройках амо*/
Country string `json:"Country" bson:"Country"`
/* - таймштамп создания аккаунта*/
Createdat int64 `json:"CreatedAt" bson:"Createdat"` Createdat int64 `json:"CreatedAt" bson:"Createdat"`
/* - флаг мягкого удаления*/ /* - флаг мягкого удаления*/
Deleted bool `json:"Deleted" bson:"Deleted"` Deleted bool `json:"Deleted" bson:"Deleted"`
/* - почта пользователя из амо*/ /* - группы пользователя в амо*/
Email string `json:"Email" bson:"Email"`
/* - айдишник в нашей системе*/
ID int `json:"ID" bson:"ID"`
/* - айдишник пользователя в амо*/
Amoid int `json:"AmoID" bson:"Amoid"`
/* - руппа пользователя в амо*/
Group []UserGroups `json:"Group" bson:"Group"` Group []UserGroups `json:"Group" bson:"Group"`
/* - имя пользователя в амо*/
Name string `json:"Name" bson:"Name"`
/* - роль пользователя в амо*/ /* - роль пользователя в амо*/
Role string `json:"Role" bson:"Role"` Role string `json:"Role" bson:"Role"`
/* - почта пользователя из амо*/
Email string `json:"Email" bson:"Email"`
} }
type UserGroups struct { type UserGroups struct {

@ -50,14 +50,17 @@ func (r *Repository) CreateAccount(ctx context.Context, accountID string) error
} }
func (r *Repository) UpdateAccount(ctx context.Context, accountID string, userInfo *amo2.AmocrmUserInformation) error { func (r *Repository) UpdateAccount(ctx context.Context, accountID string, userInfo *amo2.AmocrmUserInformation) error {
filter := bson.M{"Accountid": accountID} filter := bson.M{"AccountID": accountID}
// todo надо как то получить роль и почту // todo надо как то получить роль и почту
update := bson.M{ update := bson.M{
"$set": bson.M{ "$set": bson.M{
"Name": userInfo.Name, "ID": userInfo.UUID, // uuid аккаунта
"ID": userInfo.ID, "Name": userInfo.Name, // имя аккаунта амо
"Amoid": userInfo.CurrentUserID, "Amocrmid": userInfo.ID, // id аккаунта амо
"Group": tools.ConvertUserGroups(userInfo), "Amouserid": userInfo.CurrentUserID, // id текущего пользователя в амо
"Group": tools.ConvertUserGroups(userInfo), // группы пользователя
"Country": userInfo.Country, // страна в настройках амо
"Subdomain": userInfo.Subdomain, // поддомен организации
}, },
} }

@ -17,7 +17,6 @@ type ParamsWebhookCreate struct {
Platform string // ru/global 1/2 Platform string // ru/global 1/2
} }
// todo надо понять как понимать какому юзеру принадлежит токен
func (s *Service) WebhookCreate(ctx context.Context, req ParamsWebhookCreate) error { func (s *Service) WebhookCreate(ctx context.Context, req ParamsWebhookCreate) error {
accountID, err := s.encrypt.DecryptStr([]byte(req.State)) accountID, err := s.encrypt.DecryptStr([]byte(req.State))
if err != nil { if err != nil {

@ -609,12 +609,12 @@ components:
description: объект пользователя из амо description: объект пользователя из амо
properties: properties:
ID: ID:
type: integer
description: айдишник в нашей системе
AccountID:
type: string type: string
description: связь с аккаунтом в интеграции амо description: uuid
AmoID: AccountID:
type: integer
description: связь с аккаунтом в квизе
Amouserid:
type: integer type: integer
description: айдишник пользователя в амо description: айдишник пользователя в амо
Name: Name:
@ -627,14 +627,28 @@ components:
type: string type: string
description: роль пользователя в амо description: роль пользователя в амо
Group: Group:
type: string type: array
description: руппа пользователя в амо description: группы пользователя в амо
items:
$ref: '#/components/schemas/Group'
Deleted: Deleted:
type: boolean type: boolean
description: флаг мягкого удаления description: флаг мягкого удаления
CreatedAt: CreatedAt:
type: integer type: integer
description: таймштамп создания тега в нашей системе description: таймштамп создания тега в нашей системе
Group:
type: object
properties:
ID:
type: integer
description: ID группы пользователей
Name:
type: string
description: Название группы пользователей
UUID:
type: string
description: uuid
ConnectAccountResp: ConnectAccountResp:
type: object type: object
properties: properties: