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 {
ObjID primitive.ObjectID `json:"ObjID" bson:"_id"`
/* - связь с аккаунтом в интеграции амо*/
Accountid string `json:"AccountID" bson:"Accountid"`
/* - таймштамп создания тега в нашей системе*/
/* - uuid*/
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"`
/* - флаг мягкого удаления*/
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"`
/* - имя пользователя в амо*/
Name string `json:"Name" bson:"Name"`
/* - роль пользователя в амо*/
Role string `json:"Role" bson:"Role"`
/* - почта пользователя из амо*/
Email string `json:"Email" bson:"Email"`
}
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 {
filter := bson.M{"Accountid": accountID}
filter := bson.M{"AccountID": accountID}
// todo надо как то получить роль и почту
update := bson.M{
"$set": bson.M{
"Name": userInfo.Name,
"ID": userInfo.ID,
"Amoid": userInfo.CurrentUserID,
"Group": tools.ConvertUserGroups(userInfo),
"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, // поддомен организации
},
}

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

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