Browse Source

rename assistant to jarvis

pull/18/head
Sun 4 years ago
parent
commit
78eb0b5259
  1. 2
      Cargo.toml
  2. 2
      README.md
  3. 0
      assets/logo/logo_jarvis.png
  4. 0
      lib/apps/jarvis/answer.dart
  5. 6
      lib/apps/jarvis/message.dart
  6. 0
      lib/apps/jarvis/models.dart
  7. 40
      lib/apps/jarvis/page.dart
  8. 20
      lib/apps/jarvis/provider.dart
  9. 14
      lib/apps/service/models.dart
  10. 4
      lib/l10n/localizations.dart
  11. 4
      lib/l10n/localizations_en.dart
  12. 4
      lib/l10n/localizations_zh.dart
  13. 2
      lib/main.dart
  14. 6
      lib/pages/home.dart
  15. 8
      lib/session.dart
  16. 2
      pubspec.yaml
  17. 4
      src/apps.rs
  18. 0
      src/apps/jarvis/layer.rs
  19. 2
      src/apps/jarvis/mod.rs
  20. 0
      src/apps/jarvis/models.rs
  21. 28
      src/apps/jarvis/rpc.rs
  22. 18
      src/migrate.rs
  23. 2
      src/migrate/account.rs
  24. 2
      src/migrate/jarvis.rs
  25. 2
      src/migrate/session.rs
  26. 6
      src/session.rs
  27. 8
      src/storage.rs

2
Cargo.toml

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
[package]
name = "esse"
version = "0.1.0"
authors = ["CympleTech <contact@cympletech.com>"]
authors = ["CympleTech <dev@cympletech.com>"]
edition = "2021"
license = "MIT/Apache-2.0"

2
README.md

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
**ESSE** (Encrypted Symmetrical Session Engine) An open source encrypted peer-to-peer system for data security, would allow data to be sent securely from one terminal to another without going through third-party services.
**Protect your own data, protect your own privacy.**
**My place, my rules.**
![image](https://cympletech.com/statics/esse-show.gif)

0
assets/logo/logo_assistant.png → assets/logo/logo_jarvis.png

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

0
lib/apps/assistant/answer.dart → lib/apps/jarvis/answer.dart

6
lib/apps/assistant/message.dart → lib/apps/jarvis/message.dart

@ -14,14 +14,14 @@ import 'package:esse/widgets/shadow_dialog.dart'; @@ -14,14 +14,14 @@ import 'package:esse/widgets/shadow_dialog.dart';
import 'package:esse/global.dart';
import 'package:esse/apps/file/models.dart' show FileType, FileTypeExtension, parseFileType;
import 'package:esse/apps/assistant/models.dart';
import 'package:esse/apps/jarvis/models.dart';
class AssistantMessage extends StatelessWidget {
class JarvisMessage extends StatelessWidget {
final String name;
final Message message;
final List<String> answers;
const AssistantMessage({Key? key, required this.name, required this.message, required this.answers}): super(key: key);
const JarvisMessage({Key? key, required this.name, required this.message, required this.answers}): super(key: key);
Widget _showText(context, color, isDesktop, content, isMe) {
final width = MediaQuery.of(context).size.width * 0.6;

0
lib/apps/assistant/models.dart → lib/apps/jarvis/models.dart

40
lib/apps/assistant/page.dart → lib/apps/jarvis/page.dart

@ -13,19 +13,19 @@ import 'package:esse/widgets/transfer.dart'; @@ -13,19 +13,19 @@ import 'package:esse/widgets/transfer.dart';
import 'package:esse/global.dart';
import 'package:esse/options.dart';
import 'package:esse/apps/assistant/models.dart';
import 'package:esse/apps/assistant/provider.dart';
import 'package:esse/apps/assistant/message.dart';
import 'package:esse/apps/assistant/answer.dart';
import 'package:esse/apps/jarvis/models.dart';
import 'package:esse/apps/jarvis/provider.dart';
import 'package:esse/apps/jarvis/message.dart';
import 'package:esse/apps/jarvis/answer.dart';
class AssistantDetail extends StatefulWidget {
const AssistantDetail({Key? key}) : super(key: key);
class JarvisDetail extends StatefulWidget {
const JarvisDetail({Key? key}) : super(key: key);
@override
_AssistantDetailState createState() => _AssistantDetailState();
_JarvisDetailState createState() => _JarvisDetailState();
}
class _AssistantDetailState extends State<AssistantDetail> {
class _JarvisDetailState extends State<JarvisDetail> {
TextEditingController textController = TextEditingController();
FocusNode textFocus = FocusNode();
bool emojiShow = false;
@ -39,7 +39,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -39,7 +39,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
initState() {
super.initState();
Future.delayed(Duration.zero, () async {
Provider.of<AssistantProvider>(context, listen: false).actived();
Provider.of<JarvisProvider>(context, listen: false).actived();
final options = context.read<Options>();
this.answers = await loadAnswers(options.locale);
setState(() {});
@ -57,12 +57,12 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -57,12 +57,12 @@ class _AssistantDetailState extends State<AssistantDetail> {
@override
void deactivate() {
Provider.of<AssistantProvider>(context, listen: false).inactived();
Provider.of<JarvisProvider>(context, listen: false).inactived();
super.deactivate();
}
_generateRecordPath() {
this._recordName = DateTime.now().millisecondsSinceEpoch.toString() + '_assistant.m4a';
this._recordName = DateTime.now().millisecondsSinceEpoch.toString() + '_jarvis.m4a';
}
void _sendMessage() async {
@ -72,7 +72,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -72,7 +72,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
final value = textController.text.trim();
final aType = (value.endsWith('?') || value.endsWith('')) ? MessageType.Answer : MessageType.String;
context.read<AssistantProvider>().create(aType, textController.text);
context.read<JarvisProvider>().create(aType, textController.text);
setState(() {
textController.text = '';
@ -92,7 +92,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -92,7 +92,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
void _sendImage() async {
final image = await pickImage();
if (image != null) {
context.read<AssistantProvider>().create(MessageType.Image, image);
context.read<JarvisProvider>().create(MessageType.Image, image);
}
setState(() {
textFocus.requestFocus();
@ -106,7 +106,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -106,7 +106,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
void _sendFile() async {
final file = await pickFile();
if (file != null) {
context.read<AssistantProvider>().create(MessageType.File, file);
context.read<JarvisProvider>().create(MessageType.File, file);
}
setState(() {
textFocus.requestFocus();
@ -119,7 +119,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -119,7 +119,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
void _sendRecord(int time) async {
final raw = Message.rawRecordName(time, _recordName);
context.read<AssistantProvider>().create(MessageType.Record, raw);
context.read<JarvisProvider>().create(MessageType.Record, raw);
setState(() {
textFocus.requestFocus();
@ -131,7 +131,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -131,7 +131,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
}
_callback(int id) {
context.read<AssistantProvider>().create(MessageType.Contact, id.toString());
context.read<JarvisProvider>().create(MessageType.Contact, id.toString());
setState(() {
textFocus.requestFocus();
emojiShow = false;
@ -151,7 +151,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -151,7 +151,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
}
_tokenCallback(String hash, String to, String amount, String name) {
//context.read<AssistantProvider>().create(MessageType.Transfer, "");
//context.read<JarvisProvider>().create(MessageType.Transfer, "");
setState(() {
textFocus.requestFocus();
emojiShow = false;
@ -178,7 +178,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -178,7 +178,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
final color = Theme.of(context).colorScheme;
final lang = AppLocalizations.of(context);
final isDesktop = isDisplayDesktop(context);
final recentMessages = context.watch<AssistantProvider>().messages;
final recentMessages = context.watch<JarvisProvider>().messages;
final recentMessageKeys = recentMessages.keys.toList().reversed.toList();
return Scaffold(
@ -212,7 +212,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -212,7 +212,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
SizedBox(height: 5.0),
Container(
height: 15.0,
child: Text(lang.assistantBio,
child: Text(lang.jarvisBio,
style: TextStyle(color: color.onPrimary.withOpacity(0.5), fontSize: 12.0))
)
],
@ -261,7 +261,7 @@ class _AssistantDetailState extends State<AssistantDetail> { @@ -261,7 +261,7 @@ class _AssistantDetailState extends State<AssistantDetail> {
padding: EdgeInsets.symmetric(horizontal: 20.0),
itemCount: recentMessageKeys.length,
reverse: true,
itemBuilder: (BuildContext context, index) => AssistantMessage(
itemBuilder: (BuildContext context, index) => JarvisMessage(
name: 'Jarvis',
message: recentMessages[recentMessageKeys[index]]!,
answers: this.answers,

20
lib/apps/assistant/provider.dart → lib/apps/jarvis/provider.dart

@ -2,23 +2,23 @@ import "dart:collection"; @@ -2,23 +2,23 @@ import "dart:collection";
import 'package:flutter/material.dart';
import 'package:esse/rpc.dart';
import 'package:esse/apps/assistant/models.dart';
import 'package:esse/apps/jarvis/models.dart';
class AssistantProvider extends ChangeNotifier {
class JarvisProvider extends ChangeNotifier {
bool isActived = false;
SplayTreeMap<int, Message> messages = SplayTreeMap();
AssistantProvider() {
JarvisProvider() {
// rpc.
rpc.addListener('assistant-list', _list, false);
rpc.addListener('assistant-create', _create, false);
rpc.addListener('assistant-update', _update, false);
rpc.addListener('assistant-delete', _delete, false);
rpc.addListener('jarvis-list', _list, false);
rpc.addListener('jarvis-create', _create, false);
rpc.addListener('jarvis-update', _update, false);
rpc.addListener('jarvis-delete', _delete, false);
}
actived() {
this.isActived = true;
rpc.send('assistant-list', []);
rpc.send('jarvis-list', []);
}
inactived() {
@ -27,13 +27,13 @@ class AssistantProvider extends ChangeNotifier { @@ -27,13 +27,13 @@ class AssistantProvider extends ChangeNotifier {
}
create(MessageType qType, String qContent) {
rpc.send('assistant-create', [qType.toInt(), qContent]);
rpc.send('jarvis-create', [qType.toInt(), qContent]);
}
/// delete a message.
delete(int id) {
this.messages.remove(id);
rpc.send('assistant-delete', [id]);
rpc.send('jarvis-delete', [id]);
notifyListeners();
}

14
lib/apps/service/models.dart

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:esse/l10n/localizations.dart';
import 'package:esse/apps/assistant/page.dart';
import 'package:esse/apps/jarvis/page.dart';
import 'package:esse/apps/file/list.dart';
import 'package:esse/apps/group/list.dart';
import 'package:esse/apps/domain/page.dart';
@ -15,7 +15,7 @@ const List<InnerService> INNER_SERVICES = [ @@ -15,7 +15,7 @@ const List<InnerService> INNER_SERVICES = [
InnerService.Chat,
InnerService.GroupChat,
InnerService.Organization,
InnerService.Assistant,
InnerService.Jarvis,
InnerService.Domain,
InnerService.Cloud,
];
@ -23,7 +23,7 @@ const List<InnerService> INNER_SERVICES = [ @@ -23,7 +23,7 @@ const List<InnerService> INNER_SERVICES = [
enum InnerService {
Chat,
GroupChat,
Assistant,
Jarvis,
Domain,
Wallet,
Organization,
@ -35,8 +35,8 @@ extension InnerServiceExtension on InnerService { @@ -35,8 +35,8 @@ extension InnerServiceExtension on InnerService {
switch (this) {
case InnerService.Chat:
return [lang.contact, lang.contactIntro, 'assets/logo/logo_chat.png'];
case InnerService.Assistant:
return [lang.assistant, lang.assistantBio, 'assets/logo/logo_assistant.png'];
case InnerService.Jarvis:
return [lang.jarvis, lang.jarvisBio, 'assets/logo/logo_jarvis.png'];
case InnerService.GroupChat:
return [lang.groupChat, lang.groupChatIntro, 'assets/logo/logo_group.png'];
case InnerService.Domain:
@ -54,8 +54,8 @@ extension InnerServiceExtension on InnerService { @@ -54,8 +54,8 @@ extension InnerServiceExtension on InnerService {
switch (this) {
case InnerService.Chat:
return ChatList();
case InnerService.Assistant:
return AssistantDetail();
case InnerService.Jarvis:
return JarvisDetail();
case InnerService.GroupChat:
return GroupChatList();
case InnerService.Domain:

4
lib/l10n/localizations.dart

@ -202,8 +202,8 @@ abstract class AppLocalizations { @@ -202,8 +202,8 @@ abstract class AppLocalizations {
String get files;
String get filesBio;
String get assistant;
String get assistantBio;
String get jarvis;
String get jarvisBio;
String get groupChat;
String get groupChatAdd;

4
lib/l10n/localizations_en.dart

@ -313,9 +313,9 @@ class AppLocalizationsEn extends AppLocalizations { @@ -313,9 +313,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get filesBio => 'Sync & manager files between devices';
@override
String get assistant => 'Jarvis';
String get jarvis => 'Jarvis';
@override
String get assistantBio => 'Jarvis is a robot, only belongs to you';
String get jarvisBio => 'Jarvis is a robot, only belongs to you';
@override
String get groupChat => 'Group Chats';
@override

4
lib/l10n/localizations_zh.dart

@ -313,9 +313,9 @@ class AppLocalizationsZh extends AppLocalizations { @@ -313,9 +313,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get filesBio => '同步和管理各设备上的文件';
@override
String get assistant => 'Jarvis';
String get jarvis => 'Jarvis';
@override
String get assistantBio => 'Jarvis 是个机器人,只属于你';
String get jarvisBio => 'Jarvis 是个机器人,只属于你';
@override
String get groupChat => '多人聊天';
@override

2
lib/main.dart

@ -13,7 +13,6 @@ import 'package:esse/rpc.dart'; @@ -13,7 +13,6 @@ import 'package:esse/rpc.dart';
import 'package:esse/provider.dart';
import 'package:esse/pages/home.dart';
import 'package:esse/apps/device/provider.dart';
import 'package:esse/apps/assistant/provider.dart';
void coreServer() async {
final path = await homeDir();
@ -40,7 +39,6 @@ void main() { @@ -40,7 +39,6 @@ void main() {
}),
ChangeNotifierProvider(create: (_) => AccountProvider()),
ChangeNotifierProvider(create: (_) => DeviceProvider()),
ChangeNotifierProvider(create: (_) => AssistantProvider()),
],
child: MyApp(),
));

6
lib/pages/home.dart

@ -32,7 +32,7 @@ import 'package:esse/apps/chat/add.dart'; @@ -32,7 +32,7 @@ import 'package:esse/apps/chat/add.dart';
import 'package:esse/apps/file/models.dart';
import 'package:esse/apps/file/list.dart';
import 'package:esse/apps/service/models.dart';
import 'package:esse/apps/assistant/page.dart';
import 'package:esse/apps/jarvis/page.dart';
import 'package:esse/apps/group/detail.dart';
class HomePage extends StatelessWidget {
@ -541,8 +541,8 @@ class _SessionWidget extends StatelessWidget { @@ -541,8 +541,8 @@ class _SessionWidget extends StatelessWidget {
case SessionType.Group:
coreWidget = GroupChatDetail(id: session.fid);
break;
case SessionType.Assistant:
coreWidget = AssistantDetail();
case SessionType.Jarvis:
coreWidget = JarvisDetail();
break;
default:
break; // TODO

8
lib/session.dart

@ -11,7 +11,7 @@ enum SessionType { @@ -11,7 +11,7 @@ enum SessionType {
Chat,
Group,
Device,
Assistant,
Jarvis,
}
extension SessionTypeExtension on SessionType {
@ -24,7 +24,7 @@ extension SessionTypeExtension on SessionType { @@ -24,7 +24,7 @@ extension SessionTypeExtension on SessionType {
case 2:
return SessionType.Device;
case 3:
return SessionType.Assistant;
return SessionType.Jarvis;
default:
return SessionType.Chat;
}
@ -136,8 +136,8 @@ class Session { @@ -136,8 +136,8 @@ class Session {
this.lastTime.toString(),
Icons.groups
];
case SessionType.Assistant:
final params = Session.innerService(InnerService.Assistant, lang);
case SessionType.Jarvis:
final params = Session.innerService(InnerService.Jarvis, lang);
return [params[0], params[1], params[2], '', Icons.campaign];
default:
return [];

2
pubspec.yaml

@ -77,7 +77,7 @@ flutter: @@ -77,7 +77,7 @@ flutter:
- assets/logo/logo_light.png
- assets/logo/logo_40.jpg
- assets/logo/logo_chat.png
- assets/logo/logo_assistant.png
- assets/logo/logo_jarvis.png
- assets/logo/logo_group.png
- assets/logo/logo_domain.png
- assets/logo/logo_organization.png

4
src/apps.rs

@ -10,20 +10,20 @@ use tokio::sync::RwLock; @@ -10,20 +10,20 @@ use tokio::sync::RwLock;
use crate::layer::Layer;
use crate::rpc::RpcState;
pub(crate) mod assistant;
pub(crate) mod chat;
pub(crate) mod cloud;
pub(crate) mod device;
pub(crate) mod domain;
pub(crate) mod file;
pub(crate) mod group;
pub(crate) mod jarvis;
//pub(crate) mod organization;
pub(crate) mod wallet;
pub(crate) fn app_rpc_inject(handler: &mut RpcHandler<RpcState>) {
device::new_rpc_handler(handler);
chat::new_rpc_handler(handler);
assistant::new_rpc_handler(handler);
jarvis::new_rpc_handler(handler);
domain::new_rpc_handler(handler);
file::new_rpc_handler(handler);
group::new_rpc_handler(handler);

0
src/apps/assistant/layer.rs → src/apps/jarvis/layer.rs

2
src/apps/assistant/mod.rs → src/apps/jarvis/mod.rs

@ -1,7 +1,5 @@ @@ -1,7 +1,5 @@
mod migrate;
mod models;
pub(crate) mod rpc;
pub(crate) use migrate::ASSISTANT_VERSIONS;
pub(crate) use models::{Message, MessageType};
pub(crate) use rpc::new_rpc_handler;

0
src/apps/assistant/models.rs → src/apps/jarvis/models.rs

28
src/apps/assistant/rpc.rs → src/apps/jarvis/rpc.rs

@ -6,39 +6,39 @@ use tdn::types::{ @@ -6,39 +6,39 @@ use tdn::types::{
};
use crate::rpc::RpcState;
use crate::storage::assistant_db;
use crate::storage::jarvis_db;
use super::{Message, MessageType};
#[inline]
pub(crate) fn _assistant_create(mgid: GroupId, device: &Message) -> RpcParam {
rpc_response(0, "assistant-create", json!(device.to_rpc()), mgid)
pub(crate) fn _jarvis_create(mgid: GroupId, device: &Message) -> RpcParam {
rpc_response(0, "jarvis-create", json!(device.to_rpc()), mgid)
}
#[inline]
pub(crate) fn _assistant_delete(mgid: GroupId, id: i64) -> RpcParam {
rpc_response(0, "assistant-delete", json!([id]), mgid)
pub(crate) fn _jarvis_delete(mgid: GroupId, id: i64) -> RpcParam {
rpc_response(0, "jarvis-delete", json!([id]), mgid)
}
#[inline]
pub(crate) fn _assistant_update(mgid: GroupId, id: i64, message: &Message) -> RpcParam {
pub(crate) fn _jarvis_update(mgid: GroupId, id: i64, message: &Message) -> RpcParam {
rpc_response(
0,
"assistant-update",
"jarvis-update",
json!([id, message.a_type.to_int(), message.a_content]),
mgid,
)
}
pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) {
handler.add_method("assistant-echo", |_, params, _| async move {
handler.add_method("jarvis-echo", |_, params, _| async move {
Ok(HandleResult::rpc(json!(params)))
});
handler.add_method(
"assistant-list",
"jarvis-list",
|gid: GroupId, _params: Vec<RpcParam>, state: Arc<RpcState>| async move {
let db = assistant_db(state.layer.read().await.base(), &gid)?;
let db = jarvis_db(state.layer.read().await.base(), &gid)?;
let devices = Message::all(&db)?;
db.close()?;
let mut results = vec![];
@ -50,14 +50,14 @@ pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) { @@ -50,14 +50,14 @@ pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) {
);
handler.add_method(
"assistant-create",
"jarvis-create",
|gid: GroupId, params: Vec<RpcParam>, state: Arc<RpcState>| async move {
let q_type = MessageType::from_int(params[0].as_i64().ok_or(RpcError::ParseError)?);
let q_content = params[1].as_str().ok_or(RpcError::ParseError)?.to_string();
let base = state.layer.read().await.base().clone();
let mut msg = q_type.handle(&base, &gid, q_content).await?;
let db = assistant_db(state.layer.read().await.base(), &gid)?;
let db = jarvis_db(state.layer.read().await.base(), &gid)?;
msg.insert(&db)?;
db.close()?;
@ -67,10 +67,10 @@ pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) { @@ -67,10 +67,10 @@ pub(crate) fn new_rpc_handler(handler: &mut RpcHandler<RpcState>) {
);
handler.add_method(
"assistant-delete",
"jarvis-delete",
|gid: GroupId, params: Vec<RpcParam>, state: Arc<RpcState>| async move {
let id = params[0].as_i64().ok_or(RpcError::ParseError)?;
let db = assistant_db(state.layer.read().await.base(), &gid)?;
let db = jarvis_db(state.layer.read().await.base(), &gid)?;
Message::delete(&db, id)?;
db.close()?;
Ok(HandleResult::new())

18
src/migrate.rs

@ -10,6 +10,7 @@ mod cloud; @@ -10,6 +10,7 @@ mod cloud;
mod domain;
mod file;
mod group;
mod jarvis;
mod organization;
mod service;
mod session;
@ -22,13 +23,12 @@ use consensus::CONSENSUS_VERSIONS; @@ -22,13 +23,12 @@ use consensus::CONSENSUS_VERSIONS;
use domain::DOMAIN_VERSIONS;
use file::FILE_VERSIONS;
use group::GROUP_VERSIONS;
use jarvis::JARVIS_VERSIONS;
use organization::ORGANIZATION_VERSIONS;
use service::SERVICE_VERSIONS;
use session::SESSION_VERSIONS;
use wallet::WALLET_VERSIONS;
use crate::apps::assistant::ASSISTANT_VERSIONS;
// Account's main database name.
pub(crate) const ACCOUNT_DB: &'static str = "account.db";
@ -47,8 +47,8 @@ pub(crate) const FILE_DB: &'static str = "file.db"; @@ -47,8 +47,8 @@ pub(crate) const FILE_DB: &'static str = "file.db";
/// Account's service database name
pub(crate) const SERVICE_DB: &'static str = "service.db";
/// Account's assistant database name
pub(crate) const ASSISTANT_DB: &'static str = "assistant.db";
/// Account's jarvis database name
pub(crate) const JARVIS_DB: &'static str = "jarvis.db";
/// Account's group chat database name
pub(crate) const GROUP_DB: &'static str = "group.db";
@ -129,7 +129,7 @@ pub(crate) fn main_migrate(path: &PathBuf) -> Result<()> { @@ -129,7 +129,7 @@ pub(crate) fn main_migrate(path: &PathBuf) -> Result<()> {
SESSION_DB => SESSION_VERSIONS.as_ref(),
FILE_DB => FILE_VERSIONS.as_ref(),
SERVICE_DB => SERVICE_VERSIONS.as_ref(),
ASSISTANT_DB => ASSISTANT_VERSIONS.as_ref(),
JARVIS_DB => JARVIS_VERSIONS.as_ref(),
GROUP_DB => GROUP_VERSIONS.as_ref(),
ORGANIZATION_DB => ORGANIZATION_VERSIONS.as_ref(),
CHAT_DB => CHAT_VERSIONS.as_ref(),
@ -203,8 +203,8 @@ pub(crate) fn main_migrate(path: &PathBuf) -> Result<()> { @@ -203,8 +203,8 @@ pub(crate) fn main_migrate(path: &PathBuf) -> Result<()> {
db.update(&format!(
"UPDATE migrates SET version = {} where db_name = '{}'",
ASSISTANT_VERSIONS.len(),
ASSISTANT_DB,
JARVIS_VERSIONS.len(),
JARVIS_DB,
))?;
db.update(&format!(
@ -283,9 +283,9 @@ pub(crate) fn account_init_migrate(path: &PathBuf) -> Result<()> { @@ -283,9 +283,9 @@ pub(crate) fn account_init_migrate(path: &PathBuf) -> Result<()> {
db.close()?;
let mut db_path = path.clone();
db_path.push(ASSISTANT_DB);
db_path.push(JARVIS_DB);
let db = DStorage::open(db_path)?;
for i in &ASSISTANT_VERSIONS {
for i in &JARVIS_VERSIONS {
db.execute(i)?;
}
db.close()?;

2
src/migrate/account.rs

@ -22,7 +22,7 @@ pub(super) const ACCOUNT_VERSIONS: [&str; 13] = [ @@ -22,7 +22,7 @@ pub(super) const ACCOUNT_VERSIONS: [&str; 13] = [
"INSERT INTO migrates (db_name, version) values ('consensus.db', 0)",
"INSERT INTO migrates (db_name, version) values ('session.db', 0)",
"INSERT INTO migrates (db_name, version) values ('file.db', 0)",
"INSERT INTO migrates (db_name, version) values ('assistant.db', 0)",
"INSERT INTO migrates (db_name, version) values ('jarvis.db', 0)",
"INSERT INTO migrates (db_name, version) values ('group.db', 0)",
"INSERT INTO migrates (db_name, version) values ('organization.db', 0)",
"INSERT INTO migrates (db_name, version) values ('chat.db', 0)",

2
src/apps/assistant/migrate.rs → src/migrate/jarvis.rs

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
#[rustfmt::skip]
pub(crate) const ASSISTANT_VERSIONS: [&str; 1] = [
pub(crate) const JARVIS_VERSIONS: [&str; 1] = [
"CREATE TABLE IF NOT EXISTS messages(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
q_type INTEGER NOT NULL,

2
src/migrate/session.rs

@ -12,5 +12,5 @@ pub(super) const SESSION_VERSIONS: [&str; 2] = [ @@ -12,5 +12,5 @@ pub(super) const SESSION_VERSIONS: [&str; 2] = [
last_datetime INTEGER,
last_content TEXT,
last_readed INTEGER);",
"INSERT INTO sessions (fid, gid, addr, s_type, name, is_top, is_close, last_datetime, last_content, last_readed) VALUES (0, '', '', 3, '', 0, 0, 0, '', 1);", // Assistant.
"INSERT INTO sessions (fid, gid, addr, s_type, name, is_top, is_close, last_datetime, last_content, last_readed) VALUES (0, '', '', 3, '', 0, 0, 0, '', 1);", // Jarvis.
];

6
src/session.rs

@ -12,7 +12,7 @@ pub(crate) enum SessionType { @@ -12,7 +12,7 @@ pub(crate) enum SessionType {
Chat,
Group,
Device,
Assistant,
Jarvis,
}
impl SessionType {
@ -21,7 +21,7 @@ impl SessionType { @@ -21,7 +21,7 @@ impl SessionType {
SessionType::Chat => 0,
SessionType::Group => 1,
SessionType::Device => 2,
SessionType::Assistant => 3,
SessionType::Jarvis => 3,
}
}
@ -30,7 +30,7 @@ impl SessionType { @@ -30,7 +30,7 @@ impl SessionType {
0 => SessionType::Chat,
1 => SessionType::Group,
2 => SessionType::Device,
3 => SessionType::Assistant,
3 => SessionType::Jarvis,
_ => SessionType::Chat,
}
}

8
src/storage.rs

@ -8,8 +8,8 @@ use tdn::types::{group::GroupId, primitive::Result}; @@ -8,8 +8,8 @@ use tdn::types::{group::GroupId, primitive::Result};
use tdn_storage::local::DStorage;
use crate::migrate::{
account_init_migrate, ACCOUNT_DB, ASSISTANT_DB, CHAT_DB, CLOUD_DB, CONSENSUS_DB, DOMAIN_DB,
FILE_DB, GROUP_DB, ORGANIZATION_DB, SERVICE_DB, SESSION_DB, WALLET_DB,
account_init_migrate, ACCOUNT_DB, CHAT_DB, CLOUD_DB, CONSENSUS_DB, DOMAIN_DB, FILE_DB,
GROUP_DB, JARVIS_DB, ORGANIZATION_DB, SERVICE_DB, SESSION_DB, WALLET_DB,
};
const FILES_DIR: &'static str = "files";
@ -376,10 +376,10 @@ pub(crate) fn _service_db(base: &PathBuf, gid: &GroupId) -> Result<DStorage> { @@ -376,10 +376,10 @@ pub(crate) fn _service_db(base: &PathBuf, gid: &GroupId) -> Result<DStorage> {
}
#[inline]
pub(crate) fn assistant_db(base: &PathBuf, gid: &GroupId) -> Result<DStorage> {
pub(crate) fn jarvis_db(base: &PathBuf, gid: &GroupId) -> Result<DStorage> {
let mut db_path = base.clone();
db_path.push(gid.to_hex());
db_path.push(ASSISTANT_DB);
db_path.push(JARVIS_DB);
DStorage::open(db_path)
}

Loading…
Cancel
Save