update UpdateByDeviceID
This commit is contained in:
		
							parent
							
								
									0feeba0735
								
							
						
					
					
						commit
						f5ace0d16d
					
				| 
						 | 
					@ -34,31 +34,3 @@ func (s Service) GetUserIDByAuthToken(authToken string) (userID string) {
 | 
				
			||||||
	userID = device.UserID.Hex()
 | 
						userID = device.UserID.Hex()
 | 
				
			||||||
	return
 | 
						return
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// GetUserIDByDeviceId ...
 | 
					 | 
				
			||||||
func (s Service) GetUserIDByDeviceId(deviceId string) (userID string) {
 | 
					 | 
				
			||||||
	var (
 | 
					 | 
				
			||||||
		ctx    = context.Background()
 | 
					 | 
				
			||||||
		col    = s.getDeviceCollection()
 | 
					 | 
				
			||||||
		device = Device{}
 | 
					 | 
				
			||||||
		cond   = bson.M{
 | 
					 | 
				
			||||||
			"deviceId": deviceId,
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if deviceId == "" {
 | 
					 | 
				
			||||||
		return
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Find
 | 
					 | 
				
			||||||
	if err := col.FindOne(ctx, cond).Decode(&device); err != nil {
 | 
					 | 
				
			||||||
		logger.Error("devicemngmt - getUserIDByDeviceId", logger.LogData{
 | 
					 | 
				
			||||||
			"deviceId": deviceId,
 | 
					 | 
				
			||||||
			"err":      err.Error(),
 | 
					 | 
				
			||||||
		})
 | 
					 | 
				
			||||||
		return
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	userID = device.UserID.Hex()
 | 
					 | 
				
			||||||
	return
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,11 +6,13 @@ import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/Selly-Modules/logger"
 | 
						"github.com/Selly-Modules/logger"
 | 
				
			||||||
 | 
						"github.com/Selly-Modules/mongodb"
 | 
				
			||||||
	"go.mongodb.org/mongo-driver/bson"
 | 
						"go.mongodb.org/mongo-driver/bson"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UpdateOptions ...
 | 
					// UpdateOptions ...
 | 
				
			||||||
type UpdateOptions struct {
 | 
					type UpdateOptions struct {
 | 
				
			||||||
 | 
						UserID       string
 | 
				
			||||||
	UserAgent    string
 | 
						UserAgent    string
 | 
				
			||||||
	AppVersion   string
 | 
						AppVersion   string
 | 
				
			||||||
	IP           string
 | 
						IP           string
 | 
				
			||||||
| 
						 | 
					@ -46,8 +48,10 @@ func (s Service) UpdateByDeviceID(deviceID string, payload UpdateOptions) error
 | 
				
			||||||
	osName, osVersion, isMobile := getUserAgentData(payload.UserAgent)
 | 
						osName, osVersion, isMobile := getUserAgentData(payload.UserAgent)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Setup update data
 | 
						// Setup update data
 | 
				
			||||||
 | 
						userID, _ := mongodb.NewIDFromString(payload.UserID)
 | 
				
			||||||
	updateData := bson.M{
 | 
						updateData := bson.M{
 | 
				
			||||||
		"$set": bson.M{
 | 
							"$set": bson.M{
 | 
				
			||||||
 | 
								"userId":          userID,
 | 
				
			||||||
			"osName":          osName,
 | 
								"osName":          osName,
 | 
				
			||||||
			"osVersion":       osVersion,
 | 
								"osVersion":       osVersion,
 | 
				
			||||||
			"ip":              payload.IP,
 | 
								"ip":              payload.IP,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								validate.go
								
								
								
								
							
							
						
						
									
										11
									
								
								validate.go
								
								
								
								
							| 
						 | 
					@ -55,6 +55,17 @@ func (co CreateOptions) validate() error {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (uo UpdateOptions) validate() error {
 | 
					func (uo UpdateOptions) validate() error {
 | 
				
			||||||
 | 
						// UserID
 | 
				
			||||||
 | 
						if uo.UserID == "" {
 | 
				
			||||||
 | 
							logger.Error("devicemngmt - Update: no userID data", logger.LogData{
 | 
				
			||||||
 | 
								"payload": uo,
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
							return errors.New("no userID data")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if _, isValid := mongodb.NewIDFromString(uo.UserID); !isValid {
 | 
				
			||||||
 | 
							return errors.New("invalid userID data")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// UserAgent
 | 
						// UserAgent
 | 
				
			||||||
	if uo.UserAgent == "" {
 | 
						if uo.UserAgent == "" {
 | 
				
			||||||
		logger.Error("devicemngmt - Update: no userAgent data", logger.LogData{
 | 
							logger.Error("devicemngmt - Update: no userAgent data", logger.LogData{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue