add allMethod #3
|
@ -75,6 +75,7 @@ func (payload CreateOptions) newDevice() (result Device, err error) {
|
|||
FCMToken: payload.FCMToken,
|
||||
Model: payload.Model,
|
||||
Manufacturer: payload.Manufacturer,
|
||||
UserID: payload.UserID,
|
||||
}
|
||||
|
||||
// App version
|
||||
|
|
|
@ -3,50 +3,31 @@ package devicemngmt
|
|||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/Selly-Modules/mongodb"
|
||||
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
|
||||
"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
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
// FindAllDevicesByUserID ...
|
||||
func (s Service) FindAllDevicesByUserID(userID string) []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
|
||||
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
|
||||
var (
|
||||
ctx = context.Background()
|
||||
col = s.getDeviceCollection()
|
||||
docs = 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
|
||||
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
|
||||
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
|
||||
cond = bson.M{
|
||||
"userID": mongodb.NewIDFromString(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
|
||||
"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
|
||||
}
|
||||
)
|
||||
|
||||
// Find
|
||||
cursor, err := col.Find(ctx, cond)
|
||||
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
|
||||
}
|
||||
defer cursor.Close(ctx)
|
||||
cursor.All(ctx, &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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
IsMobile bool `bson:"isMobile" json:"isMobile"`
|
||||
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"`
|
||||
FCMToken string `bson:"fcmToken" json:"fcmToken"`
|
||||
Model string `bson:"model,omitempty" json:"model,omitempty"`
|
||||
Manufacturer string `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
|
||||
Model string `bson:"model" json:"model"`
|
||||
Manufacturer string `bson:"manufacturer" json:"manufacturer"`
|
||||
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