所有数据库表,提供相应的provider、桥接等方法
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
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/favorite_details.dart';
|
||||
import 'package:im_app/data/local/drift/tables/pending_friend_request_histories.dart';
|
||||
import 'package:im_app/data/local/drift/tables/favorites.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/api_retries.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';
|
||||
@@ -23,19 +23,19 @@ part 'app_database.g.dart';
|
||||
|
||||
@DriftDatabase(
|
||||
tables: [
|
||||
Favourites,
|
||||
Favorites,
|
||||
Sounds,
|
||||
Tags,
|
||||
PendingFriendRequestHistories,
|
||||
Messages,
|
||||
RecentMiniApps,
|
||||
Retries,
|
||||
ApiRetries,
|
||||
Groups,
|
||||
FavoriteMiniApps,
|
||||
DiscoverMiniApps,
|
||||
ChatCategories,
|
||||
ChatBots,
|
||||
FavouriteDetails,
|
||||
FavoriteDetails,
|
||||
UserRequestHistories,
|
||||
Workspaces,
|
||||
Users,
|
||||
@@ -50,19 +50,19 @@ class AppDatabase extends _$AppDatabase {
|
||||
return {};
|
||||
}
|
||||
return {
|
||||
DriftFavourite: database.favourites,
|
||||
DriftSound: database.sounds,
|
||||
DriftTag: database.tags,
|
||||
DriftFavoriteDetail: database.favoriteDetails,
|
||||
DriftPendingFriendRequestHistory: database.pendingFriendRequestHistories,
|
||||
DriftFavorite: database.favorites,
|
||||
DriftMessage: database.messages,
|
||||
DriftRecentMiniApp: database.recentMiniApps,
|
||||
DriftRetry: database.retries,
|
||||
DriftGroup: database.groups,
|
||||
DriftFavoriteMiniApp: database.favoriteMiniApps,
|
||||
DriftDiscoverMiniApp: database.discoverMiniApps,
|
||||
DriftChatCategory: database.chatCategories,
|
||||
DriftApiRetry: database.apiRetries,
|
||||
DriftChatBot: database.chatBots,
|
||||
DriftFavouriteDetail: database.favouriteDetails,
|
||||
DriftUserRequestHistory: database.userRequestHistories,
|
||||
DriftWorkspace: database.workspaces,
|
||||
DriftUser: database.users,
|
||||
|
||||
@@ -1,20 +1,31 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftRetry')
|
||||
class Retries extends Table {
|
||||
@DataClassName('DriftApiRetry')
|
||||
class ApiRetries 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';
|
||||
String get tableName => 'api_retry';
|
||||
}
|
||||
@@ -1,36 +1,8 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:im_app/data/local/drift/tables/mixin/mini_app_table_mixin.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};
|
||||
|
||||
class DiscoverMiniApps extends Table with MiniAppTableMixin {
|
||||
@override
|
||||
String get tableName => 'discover_mini_app';
|
||||
}
|
||||
|
||||
@@ -1,36 +1,8 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:im_app/data/local/drift/tables/mixin/mini_app_table_mixin.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};
|
||||
|
||||
class ExploreMiniApps extends Table with MiniAppTableMixin {
|
||||
@override
|
||||
String get tableName => 'explore_mini_app';
|
||||
}
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftFavouriteDetail')
|
||||
class FavouriteDetails extends Table {
|
||||
@DataClassName('DriftFavoriteDetail')
|
||||
class FavoriteDetails 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';
|
||||
String get tableName => 'favorite_detail';
|
||||
}
|
||||
@@ -1,36 +1,8 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:im_app/data/local/drift/tables/mixin/mini_app_table_mixin.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};
|
||||
|
||||
class FavoriteMiniApps extends Table with MiniAppTableMixin {
|
||||
@override
|
||||
String get tableName => 'favorite_mini_app';
|
||||
}
|
||||
|
||||
@@ -1,26 +1,40 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
@DataClassName('DriftFavourite')
|
||||
class Favourites extends Table {
|
||||
@DataClassName('DriftFavorite')
|
||||
class Favorites 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';
|
||||
String get tableName => 'favorite';
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
/// 小程序表共用列 mixin
|
||||
/// discover / explore / favorite / recent 四张表共用
|
||||
mixin MiniAppTableMixin on 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};
|
||||
}
|
||||
@@ -1,36 +1,8 @@
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:im_app/data/local/drift/tables/mixin/mini_app_table_mixin.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};
|
||||
|
||||
class RecentMiniApps extends Table with MiniAppTableMixin {
|
||||
@override
|
||||
String get tableName => 'recent_mini_app';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user