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()
 | 
			
		||||
	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"
 | 
			
		||||
 | 
			
		||||
	"github.com/Selly-Modules/logger"
 | 
			
		||||
	"github.com/Selly-Modules/mongodb"
 | 
			
		||||
	"go.mongodb.org/mongo-driver/bson"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// UpdateOptions ...
 | 
			
		||||
type UpdateOptions struct {
 | 
			
		||||
	UserID       string
 | 
			
		||||
	UserAgent    string
 | 
			
		||||
	AppVersion   string
 | 
			
		||||
	IP           string
 | 
			
		||||
| 
						 | 
				
			
			@ -46,8 +48,10 @@ func (s Service) UpdateByDeviceID(deviceID string, payload UpdateOptions) error
 | 
			
		|||
	osName, osVersion, isMobile := getUserAgentData(payload.UserAgent)
 | 
			
		||||
 | 
			
		||||
	// Setup update data
 | 
			
		||||
	userID, _ := mongodb.NewIDFromString(payload.UserID)
 | 
			
		||||
	updateData := bson.M{
 | 
			
		||||
		"$set": bson.M{
 | 
			
		||||
			"userId":          userID,
 | 
			
		||||
			"osName":          osName,
 | 
			
		||||
			"osVersion":       osVersion,
 | 
			
		||||
			"ip":              payload.IP,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										11
									
								
								validate.go
								
								
								
								
							
							
						
						
									
										11
									
								
								validate.go
								
								
								
								
							| 
						 | 
				
			
			@ -55,6 +55,17 @@ func (co CreateOptions) 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
 | 
			
		||||
	if uo.UserAgent == "" {
 | 
			
		||||
		logger.Error("devicemngmt - Update: no userAgent data", logger.LogData{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue