Introduce admin CRUD and public version check APIs for Play Store/App Store releases with force or optional update policies, and update profile dropdown seed data for countries, regions, and learner profile fields. Co-authored-by: Cursor <cursoragent@cursor.com>
63 lines
2.1 KiB
Go
63 lines
2.1 KiB
Go
package domain
|
|
|
|
import "time"
|
|
|
|
const (
|
|
MobileAppPlatformAndroid = "ANDROID"
|
|
MobileAppPlatformIOS = "IOS"
|
|
|
|
MobileAppUpdateTypeForce = "FORCE"
|
|
MobileAppUpdateTypeOptional = "OPTIONAL"
|
|
|
|
MobileAppVersionStatusActive = "ACTIVE"
|
|
MobileAppVersionStatusInactive = "INACTIVE"
|
|
)
|
|
|
|
type MobileAppVersion struct {
|
|
ID int64 `json:"id"`
|
|
Platform string `json:"platform"`
|
|
VersionName string `json:"version_name"`
|
|
VersionCode int32 `json:"version_code"`
|
|
UpdateType string `json:"update_type"`
|
|
ReleaseNotes *string `json:"release_notes,omitempty"`
|
|
StoreURL *string `json:"store_url,omitempty"`
|
|
MinSupportedVersionCode *int32 `json:"min_supported_version_code,omitempty"`
|
|
Status string `json:"status"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
|
}
|
|
|
|
type CreateMobileAppVersionInput struct {
|
|
Platform string
|
|
VersionName string
|
|
VersionCode int32
|
|
UpdateType *string
|
|
ReleaseNotes *string
|
|
StoreURL *string
|
|
MinSupportedVersionCode *int32
|
|
Status *string
|
|
}
|
|
|
|
type UpdateMobileAppVersionInput struct {
|
|
VersionName *string
|
|
VersionCode *int32
|
|
UpdateType *string
|
|
ReleaseNotes *string
|
|
StoreURL *string
|
|
MinSupportedVersionCode *int32
|
|
Status *string
|
|
}
|
|
|
|
// MobileAppVersionCheckResult is returned to mobile clients checking for updates.
|
|
type MobileAppVersionCheckResult struct {
|
|
Platform string `json:"platform"`
|
|
ClientVersionCode int32 `json:"client_version_code"`
|
|
LatestVersionName string `json:"latest_version_name"`
|
|
LatestVersionCode int32 `json:"latest_version_code"`
|
|
UpdateAvailable bool `json:"update_available"`
|
|
ForceUpdate bool `json:"force_update"`
|
|
UpdateType string `json:"update_type,omitempty"`
|
|
ReleaseNotes *string `json:"release_notes,omitempty"`
|
|
StoreURL *string `json:"store_url,omitempty"`
|
|
}
|