Merge remote-tracking branch 'origin/dev' into cody/netwrok_SDK
# Conflicts: # apps/im_app/lib/features/chat/presentation/chat_db_test_view_model.dart # apps/im_app/lib/features/login/presentation/login_view_model.dart 修复逻辑漏洞,性能优化
This commit is contained in:
@@ -1,27 +1,82 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:im_app/data/local/drift/tables/favourites.dart';
|
||||
import 'package:im_app/data/local/drift/tables/sounds.dart';
|
||||
import 'package:im_app/data/local/drift/tables/tags.dart';
|
||||
import 'package:im_app/data/local/drift/tables/pending_friend_request_histories.dart';
|
||||
import 'package:im_app/data/local/drift/tables/message.dart';
|
||||
import 'package:im_app/data/local/drift/tables/recent_mini_apps.dart';
|
||||
import 'package:im_app/data/local/drift/tables/retries.dart';
|
||||
import 'package:im_app/data/local/drift/tables/groups.dart';
|
||||
import 'package:im_app/data/local/drift/tables/favorite_mini_apps.dart';
|
||||
import 'package:im_app/data/local/drift/tables/discover_mini_apps.dart';
|
||||
import 'package:im_app/data/local/drift/tables/chat_categories.dart';
|
||||
import 'package:im_app/data/local/drift/tables/chat_bots.dart';
|
||||
import 'package:im_app/data/local/drift/tables/favourite_details.dart';
|
||||
import 'package:im_app/data/local/drift/tables/user_request_histories.dart';
|
||||
import 'package:im_app/data/local/drift/tables/workspaces.dart';
|
||||
import 'package:im_app/data/local/drift/tables/users.dart';
|
||||
import 'package:im_app/data/local/drift/tables/test_tables.dart';
|
||||
import 'package:im_app/data/local/drift/tables/explore_mini_apps.dart';
|
||||
import 'package:im_app/data/local/drift/tables/call_logs.dart';
|
||||
import 'package:im_app/data/local/drift/tables/chats.dart';
|
||||
|
||||
part 'app_database.g.dart';
|
||||
|
||||
@DriftDatabase(tables: [Users,TestTables]) //update mapping here
|
||||
@DriftDatabase(
|
||||
tables: [
|
||||
Favourites,
|
||||
Sounds,
|
||||
Tags,
|
||||
PendingFriendRequestHistories,
|
||||
Messages,
|
||||
RecentMiniApps,
|
||||
Retries,
|
||||
Groups,
|
||||
FavoriteMiniApps,
|
||||
DiscoverMiniApps,
|
||||
ChatCategories,
|
||||
ChatBots,
|
||||
FavouriteDetails,
|
||||
UserRequestHistories,
|
||||
Workspaces,
|
||||
Users,
|
||||
ExploreMiniApps,
|
||||
CallLogs,
|
||||
Chats,
|
||||
],
|
||||
) //update mapping here
|
||||
class AppDatabase extends _$AppDatabase {
|
||||
|
||||
static Map<Type, TableInfo> getTableRegistry(GeneratedDatabase database) {
|
||||
if (database is! AppDatabase) {
|
||||
return {
|
||||
};
|
||||
return {};
|
||||
}
|
||||
return {
|
||||
User: database.users,
|
||||
TestTable: database.testTables,
|
||||
DriftFavourite: database.favourites,
|
||||
DriftSound: database.sounds,
|
||||
DriftTag: database.tags,
|
||||
DriftPendingFriendRequestHistory: database.pendingFriendRequestHistories,
|
||||
DriftMessage: database.messages,
|
||||
DriftRecentMiniApp: database.recentMiniApps,
|
||||
DriftRetry: database.retries,
|
||||
DriftGroup: database.groups,
|
||||
DriftFavoriteMiniApp: database.favoriteMiniApps,
|
||||
DriftDiscoverMiniApp: database.discoverMiniApps,
|
||||
DriftChatCategory: database.chatCategories,
|
||||
DriftChatBot: database.chatBots,
|
||||
DriftFavouriteDetail: database.favouriteDetails,
|
||||
DriftUserRequestHistory: database.userRequestHistories,
|
||||
DriftWorkspace: database.workspaces,
|
||||
DriftUser: database.users,
|
||||
DriftExploreMiniApp: database.exploreMiniApps,
|
||||
DriftCallLog: database.callLogs,
|
||||
DriftChat: database.chats,
|
||||
};
|
||||
}
|
||||
|
||||
AppDatabase(super.e);
|
||||
|
||||
//升级数据库用此版本号
|
||||
@override
|
||||
int get schemaVersion => 1;
|
||||
int get schemaVersion => 2;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration {
|
||||
@@ -30,9 +85,20 @@ class AppDatabase extends _$AppDatabase {
|
||||
await m.createAll();
|
||||
},
|
||||
onUpgrade: (m, from, to) async {
|
||||
// 自动检测并添加缺失列
|
||||
// Create any new tables that don't exist yet
|
||||
for (final table in allTables) {
|
||||
//取原来的字段
|
||||
final existingTables = await m.database
|
||||
.customSelect(
|
||||
"SELECT name FROM sqlite_master WHERE type='table' AND name='${table.actualTableName}'",
|
||||
)
|
||||
.get();
|
||||
|
||||
if (existingTables.isEmpty) {
|
||||
await m.createTable(table);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Auto-detect and add missing columns
|
||||
final existingColumns = await m.database
|
||||
.customSelect('PRAGMA table_info(${table.actualTableName})')
|
||||
.get();
|
||||
@@ -42,7 +108,6 @@ class AppDatabase extends _$AppDatabase {
|
||||
|
||||
for (final column in table.$columns) {
|
||||
if (!existingNames.contains(column.name)) {
|
||||
//字段缺失,添加。
|
||||
await m.addColumn(table, column);
|
||||
}
|
||||
}
|
||||
@@ -50,6 +115,4 @@ class AppDatabase extends _$AppDatabase {
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
24
apps/im_app/lib/data/local/drift/tables/call_logs.dart
Normal file
24
apps/im_app/lib/data/local/drift/tables/call_logs.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftCallLog')
|
||||
class CallLogs extends Table {
|
||||
TextColumn get id => text()();
|
||||
IntColumn get callerId => integer().nullable()();
|
||||
IntColumn get receiverId => integer().nullable()();
|
||||
IntColumn get chatId => integer().nullable()();
|
||||
IntColumn get duration => integer().nullable()();
|
||||
IntColumn get videoCall => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get endedAt => integer().nullable()();
|
||||
IntColumn get status => integer().nullable()();
|
||||
IntColumn get isDeleted => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
IntColumn get isRead => integer().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'call_log';
|
||||
}
|
||||
33
apps/im_app/lib/data/local/drift/tables/chat_bots.dart
Normal file
33
apps/im_app/lib/data/local/drift/tables/chat_bots.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftChatBot')
|
||||
class ChatBots extends Table {
|
||||
IntColumn get id => integer()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get username => text().nullable()();
|
||||
IntColumn get botUserId => integer().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().nullable()();
|
||||
TextColumn get description => text().nullable()();
|
||||
TextColumn get token => text().nullable()();
|
||||
IntColumn get flag => integer().nullable()();
|
||||
IntColumn get status => integer().nullable()();
|
||||
TextColumn get webhook => text().withDefault(const Constant(''))();
|
||||
TextColumn get commands => text().withDefault(const Constant('[]'))();
|
||||
TextColumn get banner => text().nullable()();
|
||||
IntColumn get channelId => integer().nullable()();
|
||||
IntColumn get channelGroupId => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
TextColumn get internalWebhook => text().nullable()();
|
||||
IntColumn get mode => integer().nullable()();
|
||||
TextColumn get redirectUrl => text().nullable()();
|
||||
IntColumn get isInvitable => integer().nullable()();
|
||||
IntColumn get isAllowForward => integer().nullable()();
|
||||
TextColumn get tips => text().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'chat_bot';
|
||||
}
|
||||
20
apps/im_app/lib/data/local/drift/tables/chat_categories.dart
Normal file
20
apps/im_app/lib/data/local/drift/tables/chat_categories.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftChatCategory')
|
||||
class ChatCategories extends Table {
|
||||
IntColumn get id => integer()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get includedChatIds => text().nullable()();
|
||||
TextColumn get excludedChatIds => text().nullable()();
|
||||
IntColumn get seq => integer().nullable()();
|
||||
IntColumn get isHide => integer().withDefault(const Constant(0))();
|
||||
IntColumn get createdAt => integer().withDefault(const Constant(0))();
|
||||
IntColumn get updatedAt => integer().withDefault(const Constant(0))();
|
||||
IntColumn get deletedAt => integer().withDefault(const Constant(0))();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'chat_category';
|
||||
}
|
||||
59
apps/im_app/lib/data/local/drift/tables/chats.dart
Normal file
59
apps/im_app/lib/data/local/drift/tables/chats.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftChat')
|
||||
class Chats extends Table {
|
||||
IntColumn get id => integer()();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get lastId => integer().nullable()();
|
||||
IntColumn get lastTyp => integer().nullable()();
|
||||
TextColumn get lastMsg => text().nullable()();
|
||||
IntColumn get lastTime => integer().nullable()();
|
||||
IntColumn get lastPos => integer().withDefault(const Constant(0))();
|
||||
IntColumn get firstPos => integer().withDefault(const Constant(-1))();
|
||||
IntColumn get msgIdx => integer().nullable()();
|
||||
TextColumn get profile => text().nullable()();
|
||||
TextColumn get pin => text().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().withDefault(const Constant(''))();
|
||||
TextColumn get name => text().nullable()();
|
||||
IntColumn get userId => integer().nullable()();
|
||||
IntColumn get chatId => integer().nullable()();
|
||||
IntColumn get friendId => integer().nullable()();
|
||||
IntColumn get sort => integer().nullable()();
|
||||
IntColumn get unreadNum => integer().nullable()();
|
||||
IntColumn get unreadCount => integer().nullable()();
|
||||
IntColumn get hideChatMsgIdx => integer().nullable()();
|
||||
IntColumn get readChatMsgIdx => integer().nullable()();
|
||||
IntColumn get otherReadIdx => integer().nullable()();
|
||||
TextColumn get unreadAtMsgIdx => text().nullable()();
|
||||
IntColumn get deleteTime => integer().nullable()();
|
||||
IntColumn get addIndex => integer().nullable()();
|
||||
IntColumn get flag => integer().withDefault(const Constant(0))();
|
||||
IntColumn get flagMy => integer().nullable()();
|
||||
IntColumn get autoDeleteInterval => integer().nullable()();
|
||||
IntColumn get mute => integer().nullable()();
|
||||
IntColumn get verified => integer().nullable()();
|
||||
IntColumn get createTime => integer().nullable()();
|
||||
IntColumn get startIdx => integer().nullable()();
|
||||
IntColumn get isReadMsg => integer().nullable()();
|
||||
TextColumn get translateOutgoing => text().withDefault(const Constant(''))();
|
||||
TextColumn get translateIncoming => text().withDefault(const Constant(''))();
|
||||
IntColumn get incomingIdx => integer().withDefault(const Constant(0))();
|
||||
IntColumn get outgoingIdx => integer().withDefault(const Constant(0))();
|
||||
IntColumn get incomingSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get outgoingSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get notificationSoundId =>
|
||||
integer().withDefault(const Constant(0))();
|
||||
TextColumn get chatKey => text().withDefault(const Constant(''))();
|
||||
TextColumn get activeChatKey => text().withDefault(const Constant(''))();
|
||||
IntColumn get coverIdx => integer().withDefault(const Constant(0))();
|
||||
IntColumn get round => integer().withDefault(const Constant(0))();
|
||||
IntColumn get workspaceId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get localPermission => integer().withDefault(const Constant(0))();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'chat';
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftDiscoverMiniApp')
|
||||
class DiscoverMiniApps extends Table {
|
||||
TextColumn get id => text()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get openuid => text().nullable()();
|
||||
TextColumn get devId => text().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().nullable()();
|
||||
TextColumn get downloadUrl => text().nullable()();
|
||||
TextColumn get description => text().nullable()();
|
||||
IntColumn get version => integer().nullable()();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get flag => integer().nullable()();
|
||||
IntColumn get reviewStatus => integer().nullable()();
|
||||
IntColumn get favoriteAt => integer().nullable()();
|
||||
IntColumn get isActive => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
RealColumn get score => real().nullable()();
|
||||
TextColumn get channels => text().nullable()();
|
||||
TextColumn get devName => text().nullable()();
|
||||
TextColumn get pictureGaussian => text().nullable()();
|
||||
TextColumn get picture => text().nullable()();
|
||||
IntColumn get commentNum => integer().nullable()();
|
||||
TextColumn get lastLoginAt => text().nullable()();
|
||||
TextColumn get screen => text().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'discover_mini_app';
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftExploreMiniApp')
|
||||
class ExploreMiniApps extends Table {
|
||||
TextColumn get id => text()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get openuid => text().nullable()();
|
||||
TextColumn get devId => text().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().nullable()();
|
||||
TextColumn get downloadUrl => text().nullable()();
|
||||
TextColumn get description => text().nullable()();
|
||||
IntColumn get version => integer().nullable()();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get flag => integer().nullable()();
|
||||
IntColumn get reviewStatus => integer().nullable()();
|
||||
IntColumn get favoriteAt => integer().nullable()();
|
||||
IntColumn get isActive => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
RealColumn get score => real().nullable()();
|
||||
TextColumn get channels => text().nullable()();
|
||||
TextColumn get devName => text().nullable()();
|
||||
TextColumn get pictureGaussian => text().nullable()();
|
||||
TextColumn get picture => text().nullable()();
|
||||
IntColumn get commentNum => integer().nullable()();
|
||||
IntColumn get lastLoginAt => integer().nullable()();
|
||||
TextColumn get screen => text().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'explore_mini_app';
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftFavoriteMiniApp')
|
||||
class FavoriteMiniApps extends Table {
|
||||
TextColumn get id => text()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get openuid => text().nullable()();
|
||||
TextColumn get devId => text().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().nullable()();
|
||||
TextColumn get downloadUrl => text().nullable()();
|
||||
TextColumn get description => text().nullable()();
|
||||
IntColumn get version => integer().nullable()();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get flag => integer().nullable()();
|
||||
IntColumn get reviewStatus => integer().nullable()();
|
||||
IntColumn get favoriteAt => integer().nullable()();
|
||||
IntColumn get isActive => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
RealColumn get score => real().nullable()();
|
||||
TextColumn get channels => text().nullable()();
|
||||
TextColumn get devName => text().nullable()();
|
||||
TextColumn get pictureGaussian => text().nullable()();
|
||||
TextColumn get picture => text().nullable()();
|
||||
IntColumn get commentNum => integer().nullable()();
|
||||
IntColumn get lastLoginAt => integer().nullable()();
|
||||
TextColumn get screen => text().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'favorite_mini_app';
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftFavouriteDetail')
|
||||
class FavouriteDetails extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
TextColumn get relatedId => text().withDefault(const Constant(''))();
|
||||
TextColumn get content => text().withDefault(const Constant(''))();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get messageId => integer().nullable()();
|
||||
IntColumn get sendId => integer().nullable()();
|
||||
IntColumn get chatId => integer().nullable()();
|
||||
IntColumn get sendTime => integer().nullable()();
|
||||
|
||||
@override
|
||||
String get tableName => 'favourite_detail';
|
||||
}
|
||||
26
apps/im_app/lib/data/local/drift/tables/favourites.dart
Normal file
26
apps/im_app/lib/data/local/drift/tables/favourites.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftFavourite')
|
||||
class Favourites extends Table {
|
||||
IntColumn get id => integer()();
|
||||
TextColumn get parentId => text().withDefault(const Constant(''))();
|
||||
TextColumn get data => text().withDefault(const Constant(''))();
|
||||
IntColumn get createdAt => integer().withDefault(const Constant(0))();
|
||||
IntColumn get updatedAt => integer().withDefault(const Constant(0))();
|
||||
IntColumn get deletedAt => integer().withDefault(const Constant(0))();
|
||||
IntColumn get source => integer().nullable()();
|
||||
IntColumn get userId => integer().nullable()();
|
||||
IntColumn get authorId => integer().nullable()();
|
||||
TextColumn get typ => text().withDefault(const Constant('[]'))();
|
||||
TextColumn get tag => text().withDefault(const Constant('[]'))();
|
||||
IntColumn get isPin => integer().withDefault(const Constant(0))();
|
||||
IntColumn get chatTyp => integer().withDefault(const Constant(0))();
|
||||
IntColumn get isUploaded => integer().withDefault(const Constant(1))();
|
||||
TextColumn get urls => text().withDefault(const Constant('[]'))();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'favourite';
|
||||
}
|
||||
39
apps/im_app/lib/data/local/drift/tables/groups.dart
Normal file
39
apps/im_app/lib/data/local/drift/tables/groups.dart
Normal file
@@ -0,0 +1,39 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftGroup')
|
||||
class Groups extends Table {
|
||||
IntColumn get id => integer()();
|
||||
IntColumn get userJoinDate => integer().nullable()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get profile => text().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().withDefault(const Constant(''))();
|
||||
IntColumn get permission => integer().nullable()();
|
||||
IntColumn get admin => integer().nullable()();
|
||||
TextColumn get members => text().nullable()();
|
||||
IntColumn get owner => integer().nullable()();
|
||||
TextColumn get admins => text().nullable()();
|
||||
IntColumn get visible => integer().nullable()();
|
||||
IntColumn get speakInterval => integer().nullable()();
|
||||
IntColumn get groupType => integer().nullable()();
|
||||
IntColumn get roomType => integer().nullable()();
|
||||
IntColumn get maxNumber => integer().nullable()();
|
||||
IntColumn get channelId => integer().nullable()();
|
||||
IntColumn get channelGroupId => integer().nullable()();
|
||||
IntColumn get createTime => integer().nullable()();
|
||||
IntColumn get updateTime => integer().nullable()();
|
||||
IntColumn get addIndex => integer().nullable()();
|
||||
IntColumn get maxMember => integer().nullable()();
|
||||
IntColumn get expireTime => integer().nullable()();
|
||||
IntColumn get workspaceId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get mode => integer().withDefault(const Constant(0))();
|
||||
IntColumn get redpacketPlay => integer().withDefault(const Constant(0))();
|
||||
TextColumn get topic => text().nullable()();
|
||||
TextColumn get rp => text().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'chat_group';
|
||||
}
|
||||
27
apps/im_app/lib/data/local/drift/tables/message.dart
Normal file
27
apps/im_app/lib/data/local/drift/tables/message.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftMessage')
|
||||
class Messages extends Table {
|
||||
IntColumn get id => integer()();
|
||||
IntColumn get messageId => integer().nullable()();
|
||||
IntColumn get chatId => integer().nullable()();
|
||||
IntColumn get chatIdx => integer().nullable()();
|
||||
IntColumn get sendId => integer().nullable()();
|
||||
TextColumn get content => text().nullable()();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get sendTime => integer().nullable()();
|
||||
IntColumn get expireTime => integer().nullable()();
|
||||
IntColumn get createTime => integer().nullable()();
|
||||
TextColumn get atUsers => text().nullable()();
|
||||
TextColumn get emojis => text().withDefault(const Constant('[]'))();
|
||||
IntColumn get editTime => integer().withDefault(const Constant(0))();
|
||||
IntColumn get refTyp => integer().withDefault(const Constant(0))();
|
||||
IntColumn get flag => integer().withDefault(const Constant(0))();
|
||||
TextColumn get cmid => text().withDefault(const Constant(''))();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'message';
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftPendingFriendRequestHistory')
|
||||
class PendingFriendRequestHistories extends Table {
|
||||
IntColumn get id => integer()();
|
||||
IntColumn get uid => integer()();
|
||||
IntColumn get requestTime => integer()();
|
||||
TextColumn get remarks => text().nullable()();
|
||||
TextColumn get source => text().nullable()();
|
||||
IntColumn get rs => integer().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'pending_friend_request_histories';
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftRecentMiniApp')
|
||||
class RecentMiniApps extends Table {
|
||||
TextColumn get id => text()();
|
||||
TextColumn get name => text().nullable()();
|
||||
TextColumn get openuid => text().nullable()();
|
||||
TextColumn get devId => text().nullable()();
|
||||
TextColumn get icon => text().nullable()();
|
||||
TextColumn get iconGaussian => text().nullable()();
|
||||
TextColumn get downloadUrl => text().nullable()();
|
||||
TextColumn get description => text().nullable()();
|
||||
IntColumn get version => integer().nullable()();
|
||||
IntColumn get typ => integer().nullable()();
|
||||
IntColumn get flag => integer().nullable()();
|
||||
IntColumn get reviewStatus => integer().nullable()();
|
||||
IntColumn get favoriteAt => integer().nullable()();
|
||||
IntColumn get isActive => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
RealColumn get score => real().nullable()();
|
||||
TextColumn get channels => text().nullable()();
|
||||
TextColumn get devName => text().nullable()();
|
||||
TextColumn get pictureGaussian => text().nullable()();
|
||||
TextColumn get picture => text().nullable()();
|
||||
IntColumn get commentNum => integer().nullable()();
|
||||
IntColumn get lastLoginAt => integer().nullable()();
|
||||
TextColumn get screen => text().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'recent_mini_app';
|
||||
}
|
||||
20
apps/im_app/lib/data/local/drift/tables/retries.dart
Normal file
20
apps/im_app/lib/data/local/drift/tables/retries.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftRetry')
|
||||
class Retries extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get uid => integer().nullable()();
|
||||
TextColumn get apiType => text().withDefault(const Constant(''))();
|
||||
TextColumn get endPoint => text().withDefault(const Constant(''))();
|
||||
TextColumn get requestData => text().withDefault(const Constant(''))();
|
||||
IntColumn get synced => integer().nullable()();
|
||||
TextColumn get callbackFun => text().withDefault(const Constant(''))();
|
||||
IntColumn get expired => integer().nullable()();
|
||||
IntColumn get replace => integer().nullable()();
|
||||
IntColumn get expireTime => integer().nullable()();
|
||||
IntColumn get createTime => integer().nullable()();
|
||||
IntColumn get addIndex => integer().nullable()();
|
||||
|
||||
@override
|
||||
String get tableName => 'retry';
|
||||
}
|
||||
20
apps/im_app/lib/data/local/drift/tables/sounds.dart
Normal file
20
apps/im_app/lib/data/local/drift/tables/sounds.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftSound')
|
||||
class Sounds extends Table {
|
||||
IntColumn get id => integer()();
|
||||
TextColumn get filePath => text().withDefault(const Constant(''))();
|
||||
IntColumn get typ => integer()();
|
||||
TextColumn get name => text().withDefault(const Constant(''))();
|
||||
IntColumn get createdAt => integer()();
|
||||
IntColumn get updatedAt => integer()();
|
||||
IntColumn get deletedAt => integer().withDefault(const Constant(0))();
|
||||
IntColumn get channelGroupId => integer()();
|
||||
IntColumn get isDefault => integer()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'sound';
|
||||
}
|
||||
15
apps/im_app/lib/data/local/drift/tables/tags.dart
Normal file
15
apps/im_app/lib/data/local/drift/tables/tags.dart
Normal file
@@ -0,0 +1,15 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftTag')
|
||||
class Tags extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get uid => integer().nullable()();
|
||||
TextColumn get name => text().withDefault(const Constant(''))();
|
||||
IntColumn get type => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get addIndex => integer().nullable()();
|
||||
|
||||
@override
|
||||
String get tableName => 'tags';
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('TestTable')
|
||||
class TestTables extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get uid => integer().nullable()();
|
||||
TextColumn get uuid => text().nullable()();
|
||||
IntColumn get lastOnline => integer().nullable()();
|
||||
TextColumn get profilePic => text().nullable()();
|
||||
TextColumn get profilePicGaussian => text().withDefault(const Constant(''))();
|
||||
TextColumn get nickname => text().nullable()();
|
||||
TextColumn get depositName => text().nullable()();
|
||||
IntColumn get hasSetDepositName => integer().withDefault(const Constant(0))();
|
||||
TextColumn get contact => text().nullable()();
|
||||
TextColumn get countryCode => text().nullable()();
|
||||
TextColumn get username => text().nullable()();
|
||||
IntColumn get role => integer().nullable()();
|
||||
IntColumn get relationship => integer().nullable()();
|
||||
IntColumn get friendStatus => integer().nullable()();
|
||||
TextColumn get bio => text().nullable()();
|
||||
TextColumn get userAlias => text().nullable()();
|
||||
IntColumn get requestAt => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
TextColumn get email => text().nullable()();
|
||||
TextColumn get recoveryEmail => text().nullable()();
|
||||
TextColumn get remark => text().nullable()();
|
||||
TextColumn get source => text().nullable()();
|
||||
IntColumn get addIndex => integer().nullable()();
|
||||
IntColumn get incomingSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get outgoingSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get notificationSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get sendMessageSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get groupNotificationSoundId => integer().withDefault(const Constant(0))();
|
||||
TextColumn get groupTags => text().withDefault(const Constant('[]'))();
|
||||
TextColumn get friendTags => text().withDefault(const Constant('[]'))();
|
||||
TextColumn get publicKey => text().nullable()();
|
||||
IntColumn get configBits => integer().withDefault(const Constant(0))();
|
||||
TextColumn get hint => text().nullable()();
|
||||
@override
|
||||
String get tableName => 'test_tables';
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftUserRequestHistory')
|
||||
class UserRequestHistories extends Table {
|
||||
IntColumn get id => integer()();
|
||||
IntColumn get status => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'user_request_history';
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('User')
|
||||
@DataClassName('DriftUser')
|
||||
class Users extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get uid => integer().nullable()();
|
||||
IntColumn get uid => integer().unique()();
|
||||
TextColumn get uuid => text().nullable()();
|
||||
IntColumn get lastOnline => integer().nullable()();
|
||||
TextColumn get profilePic => text().nullable()();
|
||||
@@ -28,14 +28,18 @@ class Users extends Table {
|
||||
IntColumn get addIndex => integer().nullable()();
|
||||
IntColumn get incomingSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get outgoingSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get notificationSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get sendMessageSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get groupNotificationSoundId => integer().withDefault(const Constant(0))();
|
||||
IntColumn get notificationSoundId =>
|
||||
integer().withDefault(const Constant(0))();
|
||||
IntColumn get sendMessageSoundId =>
|
||||
integer().withDefault(const Constant(0))();
|
||||
IntColumn get groupNotificationSoundId =>
|
||||
integer().withDefault(const Constant(0))();
|
||||
TextColumn get groupTags => text().withDefault(const Constant('[]'))();
|
||||
TextColumn get friendTags => text().withDefault(const Constant('[]'))();
|
||||
TextColumn get publicKey => text().nullable()();
|
||||
IntColumn get configBits => integer().withDefault(const Constant(0))();
|
||||
TextColumn get hint => text().nullable()();
|
||||
|
||||
@override
|
||||
String get tableName => 'user';
|
||||
}
|
||||
}
|
||||
|
||||
24
apps/im_app/lib/data/local/drift/tables/workspaces.dart
Normal file
24
apps/im_app/lib/data/local/drift/tables/workspaces.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftWorkspace')
|
||||
class Workspaces extends Table {
|
||||
IntColumn get id => integer()();
|
||||
TextColumn get name => text().nullable()();
|
||||
IntColumn get ownerId => integer().nullable()();
|
||||
TextColumn get description => text().nullable()();
|
||||
TextColumn get logo => text().nullable()();
|
||||
IntColumn get grade => integer().nullable()();
|
||||
IntColumn get cap => integer().nullable()();
|
||||
TextColumn get currency => text().nullable()();
|
||||
IntColumn get status => integer().nullable()();
|
||||
IntColumn get createdAt => integer().nullable()();
|
||||
IntColumn get updatedAt => integer().nullable()();
|
||||
IntColumn get deletedAt => integer().nullable()();
|
||||
IntColumn get channelGroupId => integer().nullable()();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
|
||||
@override
|
||||
String get tableName => 'workspace';
|
||||
}
|
||||
Reference in New Issue
Block a user