add createMethod #2
|
|
@ -3,31 +3,38 @@ package devicemngmt
|
|||
|
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
"github.com/Selly-Modules/logger"
|
||||
"github.com/Selly-Modules/mongodb"
|
||||
ua "github.com/mssola/user_agent"
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
// DeviceCreate ...
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
type DeviceCreate struct {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// CreateOptions ...
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
type CreateOptions struct {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
DeviceID string
|
||||
UserID string
|
||||
UserAgent string
|
||||
AppVersion string
|
||||
IP string
|
||||
FCMToken string
|
||||
AuthToken string
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
thiếu AuthToken thiếu AuthToken
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
Language string
|
||||
}
|
||||
|
||||
// Create ...
|
||||
func (s Service) Create(payload DeviceCreate) error {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
func (s Service) Create(payload CreateOptions) error {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
var (
|
||||
col = s.getDeviceCollection()
|
||||
ctx = context.Background()
|
||||
)
|
||||
|
||||
// Validate payload
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
err := payload.validate()
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
if err != nil {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return err
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// New device data from payload
|
||||
deviceData, err := payload.newDevice()
|
||||
if err != nil {
|
||||
|
|
@ -43,7 +50,7 @@ func (s Service) Create(payload DeviceCreate) error {
|
|||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
done done
|
||||
})
|
||||
}
|
||||
if !device.ID.IsZero() {
|
||||
return errors.New("deviceID already exists")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return errors.New("this device is already existed")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
||||
// Create device
|
||||
|
|
@ -53,78 +60,33 @@ func (s Service) Create(payload DeviceCreate) error {
|
|||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
done done
|
||||
"doc": deviceData,
|
||||
"err": err.Error(),
|
||||
})
|
||||
return errors.New("create device fail")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return fmt.Errorf("error when create device: %s", err.Error())
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (payload DeviceCreate) newDevice() (result Device, err error) {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
func (payload CreateOptions) newDevice() (result Device, err error) {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
timeNow := now()
|
||||
device := Device{
|
||||
ID: mongodb.NewObjectID(),
|
||||
DeviceID: payload.DeviceID,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
OSName: getOSName(payload.UserAgent),
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
OSVersion: getOSVersion(payload.UserAgent),
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
IP: payload.IP,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
Language: getLanguage(payload.Language),
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set move ra 1 func khác để set
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
AuthToken: payload.AuthToken,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
LastActivityAt: timeNow,
|
||||
CreatedAt: timeNow,
|
||||
FCMToken: payload.FCMToken,
|
||||
}
|
||||
|
||||
// Set deviceID
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
if payload.DeviceID == "" {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
logger.Error("devicemngt - Create: no deviceID data", logger.LogData{
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
"payload": payload,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
})
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
err = errors.New("no deviceID data")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
device.DeviceID = payload.DeviceID
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// OSName, OSVersion
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
if payload.UserAgent == "" {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
logger.Error("devicemngt - Create: no userAgent data", logger.LogData{
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
"payload": payload,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
})
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
err = errors.New("no userAgent data")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
uaData := ua.New(payload.UserAgent)
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
device.OSName = uaData.OSInfo().Name
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
device.OSVersion = uaData.OSInfo().Version
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// App version
|
||||
if payload.AppVersion != "" {
|
||||
device.AppVersion = payload.AppVersion
|
||||
device.IsMobile = true
|
||||
}
|
||||
|
||||
// IP
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
if payload.IP == "" {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
logger.Error("devicemngt - Create: no ip data", logger.LogData{
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
"payload": payload,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
})
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
err = errors.New("no ip data")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// Language, default is vietnamese(vi)
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
if payload.Language == "" {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
device.Language = viLanguage
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
} else {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
device.Language = enLanguage
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// userIDe
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
userID, _ := mongodb.NewIDFromString(payload.UserID)
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
if userID.IsZero() {
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
logger.Error("devicemngt - Create: invalid userID data", logger.LogData{
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
"payload": payload,
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
})
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
err = errors.New("invalid userID data")
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
return
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
}
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
// Generate authToken from userID
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
device.AuthToken = s.generateAuthToken(userID)
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
|
||||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
|
||||
result = device
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
done done
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
done done
|
||||
package devicemngmt
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
import (
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
"time"
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
)
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
func (s Service) generateAuthToken(userID primitive.ObjectID) string {
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
"_id": userID,
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
"exp": now().Add(time.Second * 15552000).Unix(), // 6 months
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
})
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
tokenString, _ := token.SignedString([]byte(s.AuthSecret))
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
return tokenString
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
}
|
||||
|
device làm gì có generate token hè? generate token nằm ở bên User Management chớ device làm gì có generate token hè? generate token nằm ở bên User Management chớ
done done
|
||||
|
|
@ -2,10 +2,10 @@ package devicemngmt
|
|||
|
ko public cái này ko public cái này
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
```go
langVi = "vi"
langEn = "en"
```
done done
done done
done done
done done
|
||||
|
||||
// Constant ...
|
||||
const (
|
||||
TableDevice = "devices"
|
||||
|
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
||||
tableDevice = "devices"
|
||||
|
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
||||
|
||||
timezoneHCM = "Asia/Ho_Chi_Minh"
|
||||
|
||||
viLanguage = "vi"
|
||||
|
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
||||
enLanguage = "en"
|
||||
|
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
||||
langVi = "vi"
|
||||
|
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
||||
langEn = "en"
|
||||
|
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
||||
)
|
||||
|
|
|
|||
|
ko public cái này ko public cái này
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
```go
langVi = "vi"
langEn = "en"
```
done done
done done
done done
done done
|
||||
|
|
@ -19,8 +19,6 @@ type Config struct {
|
|||
|
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
done done
done done
|
||||
MongoDB MongoDBConfig
|
||||
// Table prefix, each service has its own prefix
|
||||
TablePrefix string
|
||||
// Auth secret, used to sign token
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
AuthSecret string
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
}
|
||||
|
||||
// Service ...
|
||||
|
|
@ -32,9 +30,9 @@ type Service struct {
|
|||
|
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
done done
done done
|
||||
var s *Service
|
||||
|
||||
// Init ...
|
||||
func Init(config Config) error {
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
if config.MongoDB.Host == "" || config.TablePrefix == "" || config.AuthSecret == "" {
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
return errors.New("please provide all necessary information for init device")
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
func Init(config Config) (*Service, error) {
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
if config.MongoDB.Host == "" || config.TablePrefix == "" {
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
return nil, errors.New("please provide all necessary information for init device")
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
}
|
||||
|
||||
// Connect MongoDB
|
||||
|
|
@ -48,7 +46,7 @@ func Init(config Config) error {
|
|||
|
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
done done
done done
|
||||
)
|
||||
if err != nil {
|
||||
fmt.Println("Cannot init module DEVICE MANAGEMENT", err)
|
||||
return err
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
return nil, err
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
}
|
||||
|
||||
s = &Service{
|
||||
|
|
@ -56,7 +54,7 @@ func Init(config Config) error {
|
|||
|
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
done done
done done
|
||||
DB: db,
|
||||
}
|
||||
|
||||
return nil
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
return s, nil
|
||||
|
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
|
||||
}
|
||||
|
||||
// GetInstance ...
|
||||
|
|
|
|||
|
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
return thêm Service về nữa
return thêm Service về nữa
```go
func Init(config Config) (*Service, error) {
// ...
return s, nil
}
```
done done
done done
done done
done done
|
||||
21
helper.go
|
|
@ -3,10 +3,29 @@ package devicemngmt
|
|||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
done done
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
ua "github.com/mssola/user_agent"
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
)
|
||||
|
||||
// getDeviceCollection ...
|
||||
func (s Service) getDeviceCollection() *mongo.Collection {
|
||||
return s.DB.Collection(fmt.Sprintf("%s-%s", s.TablePrefix, TableDevice))
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
return s.DB.Collection(fmt.Sprintf("%s-%s", s.TablePrefix, tableDevice))
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
}
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
func getOSName(userAgent string) string {
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
uaData := ua.New(userAgent)
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
return uaData.OSInfo().Name
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
}
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
func getOSVersion(userAgent string) string {
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
uaData := ua.New(userAgent)
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
return uaData.OSInfo().Version
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
}
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
func getLanguage(lang string) string {
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
// Language, default is vietnamese(vi)
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
if lang == langEn {
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
return langEn
|
||||
|
chỗ này return luôn chớ? chỗ này return luôn chớ?
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
done done
|
||||
}
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
return langVi
|
||||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
|
||||
}
|
||||
|
|
|
|||
|
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
done done
|
||||
26
model.go
|
|
@ -8,17 +8,17 @@ import (
|
|||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
done done
LastActivatedAt LastActivatedAt
LastActivatedAt LastActivatedAt
done done
done done
|
||||
|
||||
// Device ...
|
||||
type Device struct {
|
||||
|
define thêm define thêm `json` vào metadata
done done
|
||||
ID primitive.ObjectID `bson:"_id"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
DeviceID string `bson:"deviceID"` // unique
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
IP string `bson:"ip"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
OSName string `bson:"osName"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
OSVersion string `bson:"osVersion"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
AppVersion string `bson:"appVersion"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
Language string `bson:"language"` // vi, en
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
IsMobile bool `bson:"isMobile"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
LastActivityAt time.Time `bson:"lastActivityAt"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
UserID primitive.ObjectID `bson:"userID"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
AuthToken string `bson:"authToken"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
FCMToken string `bson:"fcmToken"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
CreatedAt time.Time `bson:"createdAt"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
ID primitive.ObjectID `bson:"_id" json:"_id"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
DeviceID string `bson:"deviceID" json:"deviceID"` // unique
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
IP string `bson:"ip" json:"ip"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
OSName string `bson:"osName" json:"osName"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
OSVersion string `bson:"osVersion" json:"osVersion"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
AppVersion string `bson:"appVersion" json:"appVersion"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
Language string `bson:"language" json:"language"` // vi, en
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
IsMobile bool `bson:"isMobile" json:"isMobile"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
LastActivityAt time.Time `bson:"lastActivityAt" json:"lastActivityAt"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
UserID primitive.ObjectID `bson:"userID" json:"userID"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
AuthToken string `bson:"authToken" json:"authToken"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
FCMToken string `bson:"fcmToken" json:"fcmToken"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
|
||||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
}
|
||||
|
|
|
|||
|
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
done done
LastActivatedAt LastActivatedAt
LastActivatedAt LastActivatedAt
done done
done done
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package devicemngmt
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/Selly-Modules/logger"
|
||||
)
|
||||
|
||||
func (co CreateOptions) validate() error{
|
||||
// DeviceID
|
||||
if co.DeviceID == "" {
|
||||
logger.Error("devicemngt - Create: no deviceID data", logger.LogData{
|
||||
"payload": co,
|
||||
})
|
||||
return errors.New("no deviceID data")
|
||||
}
|
||||
|
||||
// UserAgent
|
||||
if co.UserAgent == "" {
|
||||
logger.Error("devicemngt - Create: no userAgent data", logger.LogData{
|
||||
"payload": co,
|
||||
})
|
||||
return errors.New("no userAgent data")
|
||||
}
|
||||
|
||||
// IP
|
||||
if co.IP == "" {
|
||||
logger.Error("devicemngt - Create: no ip data", logger.LogData{
|
||||
"payload": co,
|
||||
})
|
||||
return errors.New("no ip data")
|
||||
}
|
||||
|
||||
// UserID
|
||||
if co.UserID == "" {
|
||||
logger.Error("devicemngt - Create: no userID data", logger.LogData{
|
||||
"payload": co,
|
||||
})
|
||||
return errors.New("no userID data")
|
||||
}
|
||||
|
||||
// AuthToken
|
||||
if co.AuthToken == "" {
|
||||
logger.Error("devicemngt - Create: no authToken data", logger.LogData{
|
||||
"payload": co,
|
||||
})
|
||||
return errors.New("no authToken data")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
DeviceCreate -> CreateOptions
DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed
deviceID already exists -> this device is already existed
move ra 1 func khác để validate
move ra 1 func khác để validate
move ra 1 func khác để validate
move ra 1 func khác để validate
move ra 1 func khác để validate
move ra 1 func khác để validate
move ra 1 func khác để set, set cứng
device.Language = langVimove ra 1 func khác để set, set cứng
device.Language = langViko cần check userID là mongo id, ko empty là được
ko cần check userID là mongo id, ko empty là được
bỏ cái này
bỏ cái này
done
done
done
done
done
done
done
done
done
done
done
done
done
done
done
done
done
done
đoạn này + đoạn device id iszero, viết thành 1 func khác
isDeviceIDExistedtrả về booleanđoạn này + đoạn device id iszero, viết thành 1 func khác
isDeviceIDExistedtrả về booleandone
done