add allMethod #3
			
				
			
		
		
		
	| 
						 | 
					@ -75,6 +75,7 @@ func (payload CreateOptions) newDevice() (result Device, err error) {
 | 
				
			||||||
		FCMToken:        payload.FCMToken,
 | 
							FCMToken:        payload.FCMToken,
 | 
				
			||||||
		Model:           payload.Model,
 | 
							Model:           payload.Model,
 | 
				
			||||||
		Manufacturer:    payload.Manufacturer,
 | 
							Manufacturer:    payload.Manufacturer,
 | 
				
			||||||
 | 
							UserID:          payload.UserID,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// App version
 | 
						// App version
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,50 +3,31 @@ package devicemngmt
 | 
				
			||||||
| 
						
							
 | 
				|||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/Selly-Modules/mongodb"
 | 
						"github.com/Selly-Modules/logger"
 | 
				
			||||||
| 
							
								
									
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
					|||||||
	"go.mongodb.org/mongo-driver/bson"
 | 
						"go.mongodb.org/mongo-driver/bson"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// FindAllDevicesByUserID ...
 | 
					// FindAllDevicesByUserID ...
 | 
				
			||||||
func (s Service) FindAllDevicesByUserID(userID string) []ResponseDevice {
 | 
					func (s Service) FindAllDevicesByUserID(userID string) []Device {
 | 
				
			||||||
| 
							
								
									
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
					|||||||
	var (
 | 
						var (
 | 
				
			||||||
		ctx    = context.Background()
 | 
							ctx    = context.Background()
 | 
				
			||||||
		col    = s.getDeviceCollection()
 | 
							col    = s.getDeviceCollection()
 | 
				
			||||||
		docs   = make([]Device, 0)
 | 
							result = make([]Device, 0)
 | 
				
			||||||
| 
							
								
									
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
					|||||||
		result = make([]ResponseDevice, 0)
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
		cond   = bson.M{
 | 
							cond   = bson.M{
 | 
				
			||||||
			"userID": mongodb.NewIDFromString(userID),
 | 
								"userID": userID,
 | 
				
			||||||
| 
							
								
									
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
					|||||||
		}
 | 
							}
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Find
 | 
						// Find
 | 
				
			||||||
	cursor, err := col.Find(ctx, cond)
 | 
						cursor, err := col.Find(ctx, cond)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 | 
							logger.Error("devicemngt - findAllDevicesByUserID ", logger.LogData{
 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
 | 
								"err": err.Error(),
 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
 | 
							})
 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
		return result
 | 
							return result
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer cursor.Close(ctx)
 | 
						defer cursor.Close(ctx)
 | 
				
			||||||
	cursor.All(ctx, &docs)
 | 
						cursor.All(ctx, &result)
 | 
				
			||||||
| 
							
								
									
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
					|||||||
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
	// Get response data
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
	for _, doc := range docs {
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
		result = append(result, ResponseDevice{
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			ID:       doc.ID,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			DeviceID: doc.DeviceID,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			IP:       doc.IP,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			OS: ResponseOS{
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
				Name:    doc.OSName,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
				Version: doc.OSVersion,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			},
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			AppVersion:      doc.AppVersion,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			Language:        doc.Language,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			IsMobile:        doc.IsMobile,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			FCMToken:        doc.FCMToken,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			Model:           doc.Model,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			Manufacturer:    doc.Manufacturer,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			LastActivatedAt: doc.LastActivatedAt,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
			CreatedAt:       doc.CreatedAt,
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
		})
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
	}
 | 
					 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done  
			
		 | 
				|||||||
 | 
					
 | 
				
			||||||
	return result
 | 
						return result
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						
							
 dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		dùng 1 model để public ra thôi. Dùng cái Device luôn đi dùng 1 model để public ra thôi. Dùng cái Device luôn đi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi 
			
		done done 
			
		done done 
			
		done done  
			
		done done  
			
		 | 
				|||||||
							
								
								
									
										28
									
								
								model.go
								
								
								
								
							
							
						
						| 
						 | 
					@ -17,32 +17,10 @@ type Device struct {
 | 
				
			||||||
	Language        string             `bson:"language" json:"language"` // vi, en
 | 
						Language        string             `bson:"language" json:"language"` // vi, en
 | 
				
			||||||
	IsMobile        bool               `bson:"isMobile" json:"isMobile"`
 | 
						IsMobile        bool               `bson:"isMobile" json:"isMobile"`
 | 
				
			||||||
	LastActivatedAt time.Time          `bson:"lastActivatedAt" json:"lastActivatedAt"`
 | 
						LastActivatedAt time.Time          `bson:"lastActivatedAt" json:"lastActivatedAt"`
 | 
				
			||||||
| 
						
							
 không cần omitempty, default bằng empty string là được rồi không cần omitempty, default bằng empty string là được rồi 
			
		bỏ cái này đi, dùng cái Device bỏ cái này đi, dùng cái Device 
			
		done done  
			
		done done  
			
		 | 
				|||||||
	UserID          primitive.ObjectID `bson:"userID" json:"userId"`
 | 
						UserID          string             `bson:"userID" json:"userId"`
 | 
				
			||||||
	AuthToken       string             `bson:"authToken" json:"authToken"`
 | 
						AuthToken       string             `bson:"authToken" json:"authToken"`
 | 
				
			||||||
	FCMToken        string             `bson:"fcmToken" json:"fcmToken"`
 | 
						FCMToken        string             `bson:"fcmToken" json:"fcmToken"`
 | 
				
			||||||
	Model           string             `bson:"model,omitempty" json:"model,omitempty"`
 | 
						Model           string             `bson:"model" json:"model"`
 | 
				
			||||||
	Manufacturer    string             `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
 | 
						Manufacturer    string             `bson:"manufacturer" json:"manufacturer"`
 | 
				
			||||||
	CreatedAt       time.Time          `bson:"createdAt" json:"createdAt"`
 | 
						CreatedAt       time.Time          `bson:"createdAt" json:"createdAt"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// ResponseOS ...
 | 
					 | 
				
			||||||
type ResponseOS struct {
 | 
					 | 
				
			||||||
	Name    string `json:"name"`
 | 
					 | 
				
			||||||
	Version string `json:"version"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ResponseDevice ...
 | 
					 | 
				
			||||||
type ResponseDevice struct {
 | 
					 | 
				
			||||||
	ID              primitive.ObjectID `json:"_id"`
 | 
					 | 
				
			||||||
	DeviceID        string             `json:"deviceId"`
 | 
					 | 
				
			||||||
	IP              string             `json:"ip"`
 | 
					 | 
				
			||||||
	OS              ResponseOS         `json:"os"`
 | 
					 | 
				
			||||||
	AppVersion      string             `json:"appVersion"`
 | 
					 | 
				
			||||||
	Language        string             `json:"language"`
 | 
					 | 
				
			||||||
	IsMobile        bool               `json:"isMobile"`
 | 
					 | 
				
			||||||
	FCMToken        string             `json:"fcmToken"`
 | 
					 | 
				
			||||||
	Model           string             `json:"model,omitempty"`
 | 
					 | 
				
			||||||
	Manufacturer    string             `json:"manufacturer,omitempty"`
 | 
					 | 
				
			||||||
	LastActivatedAt time.Time          `json:"lastActivatedAt"`
 | 
					 | 
				
			||||||
	CreatedAt       time.Time          `json:"createdAt"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
dùng 1 model để public ra thôi. Dùng cái Device luôn đi
dùng 1 model để public ra thôi. Dùng cái Device luôn đi
cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi
cái user id sao phải đưa qua mongo id, nó chỉ là string thôi mà, đã note ở PR cũ rồi
done
done
done
done