add createMethod #2
|
@ -61,16 +61,16 @@ func (s Service) Create(payload CreateOptions) error {
|
|||
|
||||
func (payload CreateOptions) newDevice() (result Device, err error) {
|
||||
timeNow := now()
|
||||
device := Device{
|
||||
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
|
||||
LastActivityAt: 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
|
||||
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
|
||||
}
|
||||
|
||||
// App version
|
||||
|
|
|||
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
DeviceCreate -> CreateOptions DeviceCreate -> CreateOptions
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
deviceID already exists -> this device is already existed deviceID already exists -> this device is already existed
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
```go
return fmt.Errorf("error when create device: %s", err.Error())
```
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để validate move ra 1 func khác để validate
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
move ra 1 func khác để set, set cứng move ra 1 func khác để set, set cứng `device.Language = langVi`
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
ko cần check userID là mongo id, ko empty là được ko cần check userID là mongo id, ko empty là được
bỏ cái này bỏ cái này
bỏ cái này bỏ cái này
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
done done
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
đoạn này + đoạn device id iszero, viết thành 1 func khác đoạn này + đoạn device id iszero, viết thành 1 func khác `isDeviceIDExisted` trả về boolean
done done
done done
|
|
@ -26,12 +26,9 @@ 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
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
|
||||
"deviceID": deviceID,
|
||||
"err": err.Error(),
|
||||
})
|
||||
chỗ này return luôn chớ? chỗ này return luôn chớ?
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 !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
|
||||
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
|
||||
return 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
|
||||
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
|
||||
}
|
||||
|
||||
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
gom code khúc này thành func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false gom code khúc này thành `return !device.ID.IsZero()`
func này check device có tồn tại ko, nên nếu tồn tại trả true, ko tồn tại trả false
done done
done done
|
26
model.go
|
@ -8,17 +8,17 @@ import (
|
|||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
done done
LastActivatedAt LastActivatedAt
LastActivatedAt LastActivatedAt
done done
done done
|
||||
|
||||
// Device ...
|
||||
type Device struct {
|
||||
define thêm define thêm `json` vào metadata
done done
|
||||
ID primitive.ObjectID `bson:"_id" json:"_id"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
DeviceID string `bson:"deviceID" json:"deviceId"` // unique
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
IP string `bson:"ip" json:"ip"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
OSName string `bson:"osName" json:"osName"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
OSVersion string `bson:"osVersion" json:"osVersion"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
AppVersion string `bson:"appVersion" json:"appVersion"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
Language string `bson:"language" json:"language"` // vi, en
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
IsMobile bool `bson:"isMobile" json:"isMobile"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
LastActivityAt time.Time `bson:"lastActivityAt" json:"lastActivityAt"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
UserID primitive.ObjectID `bson:"userID" json:"userId"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
AuthToken string `bson:"authToken" json:"authToken"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
FCMToken string `bson:"fcmToken" json:"fcmToken"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
|
||||
deviceId, json dùng camel case, sửa luôn các id khác deviceId, json dùng camel case, sửa luôn các id khác
done done
LastActivatedAt LastActivatedAt
done done
|
||||
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
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
|
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