add createMethod #2
|
@ -13,3 +13,5 @@
|
||||||
|
|
||||||
# Dependency directories (remove the comment below to include it)
|
# Dependency directories (remove the comment below to include it)
|
||||||
# vendor/
|
# vendor/
|
||||||
|
|
||||||
|
.idea
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
|||||||
|
package devicemngmt
|
||||||
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
|
|||||||
|
import (
|
||||||
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
|
|||||||
|
"context"
|
||||||
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
|
|||||||
|
"errors"
|
||||||
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
|
|||||||
|
"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
|
|||||||
|
|
||||||
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"
|
||||||
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/mongodb"
|
||||||
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
|
|||||||
|
// 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
|
||||||
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 string
|
||||||
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
|
|||||||
|
UserAgent string
|
||||||
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
|
|||||||
|
AppVersion string
|
||||||
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 string
|
||||||
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
|
|||||||
|
FCMToken string
|
||||||
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
|
|||||||
|
AuthToken string
|
||||||
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 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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
// Create ...
|
||||||
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 (
|
||||||
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
|
|||||||
|
col = s.getDeviceCollection()
|
||||||
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
|
|||||||
|
ctx = context.Background()
|
||||||
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
|
|||||||
|
// 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
|
||||||
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
|
|||||||
|
deviceData, err := payload.newDevice()
|
||||||
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
|
|||||||
|
// Find deviceID existed or not
|
||||||
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 s.isDeviceIDExisted(ctx, deviceData.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
|
|||||||
|
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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
// Create device
|
||||||
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 = col.InsertOne(ctx, deviceData)
|
||||||
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
|
|||||||
|
logger.Error("devicemngt - Create ", 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
|
|||||||
|
"doc": deviceData,
|
||||||
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": 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
|
|||||||
|
})
|
||||||
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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
return 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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
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()
|
||||||
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 := Device{
|
||||||
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
|
|||||||
|
ID: mongodb.NewObjectID(),
|
||||||
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: 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, 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
|
|||||||
|
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
|
|||||||
|
LastActivatedAt: timeNow,
|
||||||
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
|
|||||||
|
CreatedAt: timeNow,
|
||||||
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
|
|||||||
|
FCMToken: payload.FCMToken,
|
||||||
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
|
|||||||
|
// App 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
|
|||||||
|
if payload.AppVersion != "" {
|
||||||
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
|
|||||||
|
device.AppVersion = payload.AppVersion
|
||||||
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.IsMobile = true
|
||||||
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
|
|||||||
|
result = device
|
||||||
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
|
|
@ -0,0 +1,11 @@
|
||||||
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
|
|||||||
|
package devicemngmt
|
||||||
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
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
|||||||
|
// Constant ...
|
||||||
ko public cái này ko public cái này
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
|||||||
|
const (
|
||||||
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
|
|||||||
|
|
||||||
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"
|
||||||
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
```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
```go
langVi = "vi"
langEn = "en"
```
done done
done done
|
|
@ -0,0 +1,63 @@
|
||||||
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
|
|||||||
|
package devicemngmt
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
import (
|
||||||
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
|
|||||||
|
"errors"
|
||||||
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
|
|||||||
|
"fmt"
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
"github.com/Selly-Modules/mongodb"
|
||||||
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
|
|||||||
|
"go.mongodb.org/mongo-driver/mongo"
|
||||||
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
|
|||||||
|
)
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
// MongoDBConfig ...
|
||||||
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
|
|||||||
|
type MongoDBConfig struct {
|
||||||
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
|
|||||||
|
Host, User, Password, DBName, mechanism, source 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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
// Config ...
|
||||||
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
|
|||||||
|
type Config struct {
|
||||||
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
|
|||||||
|
// MongoDB config, for save documents
|
||||||
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
|
|||||||
|
MongoDB MongoDBConfig
|
||||||
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
|
|||||||
|
// Table prefix, each service has its own prefix
|
||||||
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
|
|||||||
|
TablePrefix 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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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 ...
|
||||||
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
|
|||||||
|
type Service struct {
|
||||||
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
|
|||||||
|
Config
|
||||||
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
|
|||||||
|
DB *mongo.Database
|
||||||
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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
var s *Service
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
// Init ...
|
||||||
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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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
|
||||||
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
|
|||||||
|
db, err := mongodb.Connect(
|
||||||
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
|
|||||||
|
config.MongoDB.Host,
|
||||||
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
|
|||||||
|
config.MongoDB.User,
|
||||||
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
|
|||||||
|
config.MongoDB.Password,
|
||||||
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
|
|||||||
|
config.MongoDB.DBName,
|
||||||
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
|
|||||||
|
config.MongoDB.mechanism,
|
||||||
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
|
|||||||
|
config.MongoDB.source,
|
||||||
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
|
|||||||
|
)
|
||||||
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 err != 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
|
|||||||
|
fmt.Println("Cannot init module DEVICE MANAGEMENT", 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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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{
|
||||||
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
|
|||||||
|
Config: config,
|
||||||
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
|
|||||||
|
DB: db,
|
||||||
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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
|
}
|
||||||
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
|
|||||||
|
|
||||||
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
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 GetInstance() *Service {
|
||||||
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
|
||||||
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
|
|||||||
|
}
|
||||||
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
|
|
@ -0,0 +1,46 @@
|
||||||
|
module github.com/selly-Modules/devicemngmt
|
||||||
|
|
||||||
|
go 1.17
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/Selly-Modules/logger v0.0.0-20210809034923-140a51f39ec9
|
||||||
|
github.com/Selly-Modules/mongodb v0.0.0-20211013094205-a8ab24a96c4c
|
||||||
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
||||||
|
github.com/mssola/user_agent v0.5.3
|
||||||
|
go.mongodb.org/mongo-driver v1.7.4
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/armon/go-radix v1.0.0 // indirect
|
||||||
|
github.com/elastic/go-licenser v0.3.1 // indirect
|
||||||
|
github.com/elastic/go-sysinfo v1.1.1 // indirect
|
||||||
|
github.com/elastic/go-windows v1.0.0 // indirect
|
||||||
|
github.com/go-stack/stack v1.8.0 // indirect
|
||||||
|
github.com/golang/snappy v0.0.1 // indirect
|
||||||
|
github.com/jcchavezs/porto v0.1.0 // indirect
|
||||||
|
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect
|
||||||
|
github.com/klauspost/compress v1.13.6 // indirect
|
||||||
|
github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
|
||||||
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
|
github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0 // indirect
|
||||||
|
github.com/santhosh-tekuri/jsonschema v1.2.4 // indirect
|
||||||
|
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
|
||||||
|
github.com/xdg-go/scram v1.0.2 // indirect
|
||||||
|
github.com/xdg-go/stringprep v1.0.2 // indirect
|
||||||
|
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
|
||||||
|
go.elastic.co/apm v1.13.1 // indirect
|
||||||
|
go.elastic.co/apm/module/apmzap v1.13.1 // indirect
|
||||||
|
go.elastic.co/fastjson v1.1.0 // indirect
|
||||||
|
go.uber.org/atomic v1.7.0 // indirect
|
||||||
|
go.uber.org/multierr v1.6.0 // indirect
|
||||||
|
go.uber.org/zap v1.18.1 // indirect
|
||||||
|
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073 // indirect
|
||||||
|
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 // indirect
|
||||||
|
golang.org/x/mod v0.3.0 // indirect
|
||||||
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
|
||||||
|
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e // indirect
|
||||||
|
golang.org/x/text v0.3.7 // indirect
|
||||||
|
golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5 // indirect
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect
|
||||||
|
howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect
|
||||||
|
)
|
|
@ -0,0 +1,188 @@
|
||||||
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/Selly-Modules/logger v0.0.0-20210809034923-140a51f39ec9 h1:AuJ/IIZ7yppyP19ILEYkwz26CwGXR4xUyXANKSG0+1U=
|
||||||
|
github.com/Selly-Modules/logger v0.0.0-20210809034923-140a51f39ec9/go.mod h1:RWhSQ3F01an8KD00VjzRBZOMcE5eV2Cy0/l4ZkeieyU=
|
||||||
|
github.com/Selly-Modules/mongodb v0.0.0-20211013094205-a8ab24a96c4c h1:1l6QmAl43maG9zFyUXrPQVUjyVt0vy/2Saz992UR+Sc=
|
||||||
|
github.com/Selly-Modules/mongodb v0.0.0-20211013094205-a8ab24a96c4c/go.mod h1:C9O0Bgl9i6szjntMjBdEvaFSqG2UPOgHUspIWIJ93JQ=
|
||||||
|
github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI=
|
||||||
|
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||||
|
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
||||||
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||||
|
github.com/elastic/go-licenser v0.3.1 h1:RmRukU/JUmts+rpexAw0Fvt2ly7VVu6mw8z4HrEzObU=
|
||||||
|
github.com/elastic/go-licenser v0.3.1/go.mod h1:D8eNQk70FOCVBl3smCGQt/lv7meBeQno2eI1S5apiHQ=
|
||||||
|
github.com/elastic/go-sysinfo v1.1.1 h1:ZVlaLDyhVkDfjwPGU55CQRCRolNpc7P0BbyhhQZQmMI=
|
||||||
|
github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0=
|
||||||
|
github.com/elastic/go-windows v1.0.0 h1:qLURgZFkkrYyTTkvYpsZIgf83AUsdIHfvlJaqaZ7aSY=
|
||||||
|
github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU=
|
||||||
|
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
||||||
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
|
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
|
||||||
|
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
|
||||||
|
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
|
||||||
|
github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||||
|
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||||
|
github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
|
||||||
|
github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
|
||||||
|
github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
|
||||||
|
github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
|
||||||
|
github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
|
||||||
|
github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
|
||||||
|
github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
|
||||||
|
github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
|
||||||
|
github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
|
||||||
|
github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
|
||||||
|
github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
|
||||||
|
github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
|
||||||
|
github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||||
|
github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||||
|
github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
|
||||||
|
github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
|
||||||
|
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
|
||||||
|
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
|
||||||
|
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||||
|
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
|
||||||
|
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||||
|
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||||
|
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||||
|
github.com/jcchavezs/porto v0.1.0 h1:Xmxxn25zQMmgE7/yHYmh19KcItG81hIwfbEEFnd6w/Q=
|
||||||
|
github.com/jcchavezs/porto v0.1.0/go.mod h1:fESH0gzDHiutHRdX2hv27ojnOVFco37hg1W6E9EZF4A=
|
||||||
|
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
|
||||||
|
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 h1:rp+c0RAYOWj8l6qbCUTSiRLG/iKnW3K3/QfPPuSsBt4=
|
||||||
|
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak=
|
||||||
|
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
|
||||||
|
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
|
||||||
|
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
|
||||||
|
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||||
|
github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
|
||||||
|
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
|
||||||
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
|
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
|
github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
|
||||||
|
github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
|
||||||
|
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||||
|
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
|
||||||
|
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
|
||||||
|
github.com/mssola/user_agent v0.5.3 h1:lBRPML9mdFuIZgI2cmlQ+atbpJdLdeVl2IDodjBR578=
|
||||||
|
github.com/mssola/user_agent v0.5.3/go.mod h1:TTPno8LPY3wAIEKRpAtkdMT0f8SE24pLRGPahjCH4uw=
|
||||||
|
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
||||||
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0 h1:c8R11WC8m7KNMkTv/0+Be8vvwo4I3/Ut9AC2FW8fX3U=
|
||||||
|
github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
|
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
|
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
|
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
|
github.com/santhosh-tekuri/jsonschema v1.2.4 h1:hNhW8e7t+H1vgY+1QeEQpveR6D4+OwKPXCfD2aieJis=
|
||||||
|
github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4=
|
||||||
|
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
|
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||||
|
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||||
|
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
|
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
|
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
||||||
|
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
|
||||||
|
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
|
||||||
|
github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w=
|
||||||
|
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
|
||||||
|
github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc=
|
||||||
|
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
|
||||||
|
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA=
|
||||||
|
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
|
||||||
|
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
|
go.elastic.co/apm v1.13.1 h1:ICIcUcQOImg/bve9mQVyLCvm1cSUZ1afdwK6ACnxczU=
|
||||||
|
go.elastic.co/apm v1.13.1/go.mod h1:dylGv2HKR0tiCV+wliJz1KHtDyuD8SPe69oV7VyK6WY=
|
||||||
|
go.elastic.co/apm/module/apmzap v1.13.1 h1:Soa4vNYYabPvOW1vm1A00C0UcEmfEzcx3YBjAgf5ue4=
|
||||||
|
go.elastic.co/apm/module/apmzap v1.13.1/go.mod h1:Tu8/TwffpBoNGmI05VcL1Ye2AC8oXrlMKNaKD1TIQy0=
|
||||||
|
go.elastic.co/fastjson v1.1.0 h1:3MrGBWWVIxe/xvsbpghtkFoPciPhOCmjsR/HfwEeQR4=
|
||||||
|
go.elastic.co/fastjson v1.1.0/go.mod h1:boNGISWMjQsUPy/t6yqt2/1Wx4YNPSe+mZjlyw9vKKI=
|
||||||
|
go.mongodb.org/mongo-driver v1.7.1/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8=
|
||||||
|
go.mongodb.org/mongo-driver v1.7.4 h1:sllcioag8Mec0LYkftYWq+cKNPIR4Kqq3iv9ZXY0g/E=
|
||||||
|
go.mongodb.org/mongo-driver v1.7.4/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
|
||||||
|
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
|
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||||
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
|
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||||
|
go.uber.org/zap v1.18.1 h1:CSUJ2mjFszzEWt4CdKISEuChVIXGBn3lAPwkRGyVrc4=
|
||||||
|
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
|
||||||
|
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
|
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||||
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073 h1:xMPOj6Pz6UipU1wXLkrtqpHbR0AVFnyPEQq/wRWz9lM=
|
||||||
|
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
|
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
|
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI=
|
||||||
|
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
|
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||||
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
|
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
|
||||||
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
|
||||||
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e h1:9vRrk9YW2BTzLP0VCB9ZDjU4cPqkg+IDWL7XgxA1yxQ=
|
||||||
|
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
|
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
|
||||||
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||||
|
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||||
|
golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5 h1:MeC2gMlMdkd67dn17MEby3rGXRxZtWeiRXOnISfTQ74=
|
||||||
|
golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||||
|
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
howett.net/plist v0.0.0-20181124034731-591f970eefbb h1:jhnBjNi9UFpfpl8YZhA9CrOqpnJdvzuiHsl/dnxl11M=
|
||||||
|
howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0=
|
|
@ -0,0 +1,50 @@
|
||||||
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
|
|||||||
|
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
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
|
|||||||
|
import (
|
||||||
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
|
|||||||
|
"context"
|
||||||
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
|
|||||||
|
"fmt"
|
||||||
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
|
|||||||
|
"github.com/Selly-Modules/logger"
|
||||||
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
|
|||||||
|
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/bson"
|
||||||
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"
|
||||||
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
|
|||||||
|
// getDeviceCollection ...
|
||||||
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 (s Service) getDeviceCollection() *mongo.Collection {
|
||||||
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 (s Service) isDeviceIDExisted(ctx context.Context, deviceID string) bool {
|
||||||
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
|
|||||||
|
var (
|
||||||
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
|
|||||||
|
col = s.getDeviceCollection()
|
||||||
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
|
|||||||
|
device = Device{}
|
||||||
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
|
|||||||
|
if err := col.FindOne(ctx, bson.M{"deviceID": deviceID}).Decode(&device); err != nil {
|
||||||
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
|
|||||||
|
logger.Error("devicemngt - findByDeviceID", logger.LogData{
|
||||||
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
|
|||||||
|
"deviceID": deviceID,
|
||||||
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
|
|||||||
|
"err": err.Error(),
|
||||||
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
|
|||||||
|
})
|
||||||
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
|
|||||||
|
return true
|
||||||
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
|
|||||||
|
return !device.ID.IsZero()
|
||||||
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
|
||||||
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
|
|||||||
|
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
done done
|
|
@ -0,0 +1,24 @@
|
||||||
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
|
|||||||
|
package devicemngmt
|
||||||
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
done done
LastActivatedAt LastActivatedAt
done done
|
|||||||
|
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
done done
LastActivatedAt LastActivatedAt
done done
|
|||||||
|
"time"
|
||||||
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
done done
LastActivatedAt LastActivatedAt
done done
|
|||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
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
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
done done
LastActivatedAt LastActivatedAt
done done
|
|||||||
|
// Device ...
|
||||||
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
|
|||||||
|
type Device struct {
|
||||||
define thêm define thêm `json` vào metadata
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
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
|
|||||||
|
LastActivatedAt time.Time `bson:"lastActivatedAt" json:"lastActivatedAt"`
|
||||||
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
done done
LastActivatedAt LastActivatedAt
done done
|
|
@ -0,0 +1,20 @@
|
||||||
|
package devicemngmt
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
//
|
||||||
|
// NOTE: due to unique timezone in server's code, all using time will be convert to HCM timezone (UTC +7)
|
||||||
|
// All functions generate time, must be call util functions here
|
||||||
|
// WARNING: don't accept call time.Now() directly
|
||||||
|
//
|
||||||
|
|
||||||
|
// getHCMLocation ...
|
||||||
|
func getHCMLocation() *time.Location {
|
||||||
|
l, _ := time.LoadLocation(timezoneHCM)
|
||||||
|
return l
|
||||||
|
}
|
||||||
|
|
||||||
|
// now ...
|
||||||
|
func now() time.Time {
|
||||||
|
return time.Now().In(getHCMLocation())
|
||||||
|
}
|
|
@ -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 = langVi
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
isDeviceIDExisted
trả về booleanđoạn này + đoạn device id iszero, viết thành 1 func khác
isDeviceIDExisted
trả về booleandone
done