add allMethod #3
|
@ -11,14 +11,16 @@ import (
|
||||||
|
|
||||||
// CreateOptions ...
|
// CreateOptions ...
|
||||||
type CreateOptions struct {
|
type CreateOptions struct {
|
||||||
DeviceID string
|
DeviceID string
|
||||||
UserID string
|
UserID string
|
||||||
UserAgent string
|
UserAgent string
|
||||||
AppVersion string
|
AppVersion string
|
||||||
IP string
|
IP string
|
||||||
FCMToken string
|
FCMToken string
|
||||||
AuthToken string
|
AuthToken string
|
||||||
Language string
|
Language string
|
||||||
|
Model string
|
||||||
|
Manufacturer string
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create ...
|
// Create ...
|
||||||
|
@ -71,6 +73,9 @@ func (payload CreateOptions) newDevice() (result Device, err error) {
|
||||||
LastActivatedAt: timeNow,
|
LastActivatedAt: timeNow,
|
||||||
CreatedAt: timeNow,
|
CreatedAt: timeNow,
|
||||||
FCMToken: payload.FCMToken,
|
FCMToken: payload.FCMToken,
|
||||||
|
Model: payload.Model,
|
||||||
|
Manufacturer: payload.Manufacturer,
|
||||||
|
UserID: payload.UserID,
|
||||||
}
|
}
|
||||||
|
|
||||||
// App version
|
// App version
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
|||||||
|
package devicemngmt
|
||||||
![]() 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
|
|||||||
|
import (
|
||||||
![]() 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
|
|||||||
|
"context"
|
||||||
![]() 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
|
|||||||
|
"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"
|
||||||
![]() 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
|
|||||||
|
// FindAllDevicesByUserID ...
|
||||||
![]() 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 (
|
||||||
![]() 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
|
|||||||
|
ctx = context.Background()
|
||||||
![]() 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
|
|||||||
|
col = s.getDeviceCollection()
|
||||||
![]() 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{
|
||||||
![]() 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
|
|||||||
|
}
|
||||||
![]() 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
|
|||||||
|
// Find
|
||||||
![]() 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, err := col.Find(ctx, cond)
|
||||||
![]() 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
|
|||||||
|
if err != nil {
|
||||||
![]() 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
|
|||||||
|
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
|
||||||
![]() 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
|
|||||||
|
defer cursor.Close(ctx)
|
||||||
![]() 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
|
|||||||
|
|
||||||
![]() 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
![]() 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
|
4
model.go
|
@ -17,8 +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" json:"model"`
|
||||||
|
Manufacturer string `bson:"manufacturer" json:"manufacturer"`
|
||||||
CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
|
CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"github.com/Selly-Modules/logger"
|
"github.com/Selly-Modules/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (co CreateOptions) validate() error{
|
func (co CreateOptions) validate() error {
|
||||||
// DeviceID
|
// DeviceID
|
||||||
if co.DeviceID == "" {
|
if co.DeviceID == "" {
|
||||||
logger.Error("devicemngt - Create: no deviceID data", logger.LogData{
|
logger.Error("devicemngt - Create: no deviceID data", logger.LogData{
|
||||||
|
@ -20,7 +20,7 @@ func (co CreateOptions) validate() error{
|
||||||
logger.Error("devicemngt - Create: no userAgent data", logger.LogData{
|
logger.Error("devicemngt - Create: no userAgent data", logger.LogData{
|
||||||
"payload": co,
|
"payload": co,
|
||||||
})
|
})
|
||||||
return errors.New("no userAgent data")
|
return errors.New("no userAgent data")
|
||||||
}
|
}
|
||||||
|
|
||||||
// IP
|
// 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