You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openim-sdk-cpp/go/chao-sdk-core/pkg/db/app_version.go

34 lines
960 B

package db
import (
"context"
"github.com/openimsdk/tools/errs"
"gorm.io/gorm"
"github.com/openimsdk/openim-sdk-core/v3/pkg/db/model_struct"
)
func (d *DataBase) GetAppSDKVersion(ctx context.Context) (*model_struct.LocalAppSDKVersion, error) {
var appVersion model_struct.LocalAppSDKVersion
return &appVersion, errs.Wrap(d.conn.WithContext(ctx).Take(&appVersion).Error)
}
func (d *DataBase) SetAppSDKVersion(ctx context.Context, appVersion *model_struct.LocalAppSDKVersion) error {
var exist model_struct.LocalAppSDKVersion
err := d.conn.WithContext(ctx).First(&exist).Error
if err == gorm.ErrRecordNotFound {
if createErr := d.conn.WithContext(ctx).Create(appVersion).Error; createErr != nil {
return errs.Wrap(createErr)
}
return nil
} else if err != nil {
return errs.Wrap(err)
}
if updateErr := d.conn.WithContext(ctx).Model(&exist).Updates(appVersion).Error; updateErr != nil {
return errs.Wrap(updateErr)
}
return nil
}