feat: v2 to v3 data conversion (#1164)

* fix: user update group notification, group member face url

* fix: user update group notification, group member face url

* feat: v2 to v3 data conversion

* feat: v2 to v3 data conversion
This commit is contained in:
withchao
2023-10-08 12:11:42 +08:00
committed by GitHub
parent 8dd6a05d38
commit 717ed8fd12
27 changed files with 1023 additions and 0 deletions
@@ -0,0 +1,32 @@
// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package chat
import (
"time"
)
// Account 账号密码表.
type Account struct {
UserID string `gorm:"column:user_id;primary_key;type:char(64)"`
Password string `gorm:"column:password;type:varchar(32)"`
CreateTime time.Time `gorm:"column:create_time;autoCreateTime"`
ChangeTime time.Time `gorm:"column:change_time;autoUpdateTime"`
OperatorUserID string `gorm:"column:operator_user_id;type:varchar(64)"`
}
func (Account) TableName() string {
return "accounts"
}
@@ -0,0 +1,43 @@
// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package chat
import (
"time"
)
// Attribute 用户属性表.
type Attribute struct {
UserID string `gorm:"column:user_id;primary_key;type:char(64)"`
Account string `gorm:"column:account;type:char(64)"`
PhoneNumber string `gorm:"column:phone_number;type:varchar(32)"`
AreaCode string `gorm:"column:area_code;type:varchar(8)"`
Email string `gorm:"column:email;type:varchar(64)" `
Nickname string `gorm:"column:nickname;type:varchar(64)" `
FaceURL string `gorm:"column:face_url;type:varchar(255)" `
Gender int32 `gorm:"column:gender"`
CreateTime time.Time `gorm:"column:create_time"`
ChangeTime time.Time `gorm:"column:change_time"`
BirthTime time.Time `gorm:"column:birth_time"`
Level int32 `gorm:"column:level;default:1"`
AllowVibration int32 `gorm:"column:allow_vibration;default:1"`
AllowBeep int32 `gorm:"column:allow_beep;default:1"`
AllowAddFriend int32 `gorm:"column:allow_add_friend;default:1"`
GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt;default:0"`
}
func (Attribute) TableName() string {
return "attributes"
}
@@ -0,0 +1,34 @@
// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package chat
import (
"time"
)
// Register 注册信息表.
type Register struct {
UserID string `gorm:"column:user_id;primary_key;type:char(64)"`
DeviceID string `gorm:"column:device_id;type:varchar(255)"`
IP string `gorm:"column:ip;type:varchar(64)"`
Platform string `gorm:"column:platform;type:varchar(32)"`
AccountType string `gorm:"column:account_type;type:varchar(32)"` // email phone account
Mode string `gorm:"column:mode;type:varchar(32)"` // user admin
CreateTime time.Time `gorm:"column:create_time"`
}
func (Register) TableName() string {
return "registers"
}
@@ -0,0 +1,32 @@
// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package chat
import (
"time"
)
// 用户登录信息表.
type UserLoginRecord struct {
UserID string `gorm:"column:user_id;size:64"`
LoginTime time.Time `gorm:"column:login_time"`
IP string `gorm:"column:ip;type:varchar(32)"`
DeviceID string `gorm:"column:device_id;type:varchar(255)"`
Platform string `gorm:"column:platform;type:varchar(32)"`
}
func (UserLoginRecord) TableName() string {
return "user_login_records"
}