From dfc9c0e29d50183a86efbf78703c9f0742c71777 Mon Sep 17 00:00:00 2001 From: goflutterjava Date: Wed, 12 Jan 2022 14:43:57 +0800 Subject: [PATCH] [persistent] Add get Instance by name --- lib/persistent/persistent.dart | 25 +++++++++ lib/persistent/persistent_api.dart | 14 +++++ lib/persistent/persistent_db.dart | 79 +++++++++++++++++++++++++++ lib/persistent/persistent_memory.dart | 56 +++++++++++++++++++ 4 files changed, 174 insertions(+) diff --git a/lib/persistent/persistent.dart b/lib/persistent/persistent.dart index 7964f0c..63cd2b4 100644 --- a/lib/persistent/persistent.dart +++ b/lib/persistent/persistent.dart @@ -9,6 +9,7 @@ import 'package:paas_dashboard_flutter/persistent/po/mongo_instance_po.dart'; import 'package:paas_dashboard_flutter/persistent/po/mysql_instance_po.dart'; import 'package:paas_dashboard_flutter/persistent/po/pulsar_instance_po.dart'; import 'package:paas_dashboard_flutter/persistent/po/sql_instance_po.dart'; +import 'package:paas_dashboard_flutter/persistent/po/zk_instance_po.dart'; class Persistent { static PersistentApi? api; @@ -36,6 +37,10 @@ class Persistent { return (await getApi()).pulsarInstances(); } + static Future pulsarInstance(String name) async { + return await ((await getApi()).pulsarInstance(name)); + } + static Future saveBookkeeper(String name, String host, int port) async { return (await getApi()).saveBookkeeper(name, host, port); } @@ -48,6 +53,26 @@ class Persistent { return (await getApi()).bookkeeperInstances(); } + static Future bookkeeperInstance(String name) async { + return await ((await getApi()).bookkeeperInstance(name)); + } + + static Future saveZooKeeper(String name, String host, int port) async { + return (await getApi()).saveZooKeeper(name, host, port); + } + + static Future deleteZooKeeper(int id) async { + return (await getApi()).deleteZooKeeper(id); + } + + static Future> zooKeeperInstances() async { + return (await getApi()).zooKeeperInstances(); + } + + static Future zooKeeperInstance(String name) async { + return await ((await getApi()).zooKeeperInstance(name)); + } + static Future saveKubernetesSsh(String name, List sshSteps) async { return (await getApi()).saveKubernetesSsh(name, sshSteps); } diff --git a/lib/persistent/persistent_api.dart b/lib/persistent/persistent_api.dart index 3ff331b..fb6bac0 100644 --- a/lib/persistent/persistent_api.dart +++ b/lib/persistent/persistent_api.dart @@ -14,39 +14,53 @@ abstract class PersistentApi { Future> pulsarInstances(); + Future pulsarInstance(String name); + Future saveBookkeeper(String name, String host, int port); Future deleteBookkeeper(int id); Future> bookkeeperInstances(); + Future bookkeeperInstance(String name); + Future saveZooKeeper(String name, String host, int port); Future deleteZooKeeper(int id); Future> zooKeeperInstances(); + Future zooKeeperInstance(String name); + Future saveKubernetesSsh(String name, List sshSteps); Future deleteKubernetes(int id); Future> kubernetesInstances(); + Future kubernetesInstance(String name); + Future saveMongo(String name, String addr, String username, String password); Future deleteMongo(int id); Future> mongoInstances(); + Future mongoInstance(String name); + Future saveMysql(String name, String host, int port, String username, String password); Future deleteMysql(int id); Future> mysqlInstances(); + Future mysqlInstance(String name); + Future saveSql(String name, String sql); Future deleteSql(int id); Future> sqlList(); + + Future sqlInstance(String name); } diff --git a/lib/persistent/persistent_db.dart b/lib/persistent/persistent_db.dart index f704d09..5590dd6 100644 --- a/lib/persistent/persistent_db.dart +++ b/lib/persistent/persistent_db.dart @@ -125,6 +125,19 @@ class PersistentDb implements PersistentApi { }); } + @override + Future pulsarInstance(String name) async { + var aux = await getInstance(); + final List> maps = + await aux.database.query('pulsar_instances', where: "name = ?", whereArgs: [name]); + if (maps.length == 0) { + return null; + } + var current = maps[0]; + return PulsarInstancePo(current['id'], current['name'], current['host'], current['port'], current['function_host'], + current['function_port']); + } + @override Future saveBookkeeper(String name, String host, int port) async { var aux = await getInstance(); @@ -148,6 +161,18 @@ class PersistentDb implements PersistentApi { }); } + @override + Future bookkeeperInstance(String name) async { + var aux = await getInstance(); + final List> maps = + await aux.database.query('pulsar_instances', where: "name = ?", whereArgs: [name]); + if (maps.length == 0) { + return null; + } + var current = maps[0]; + return BkInstancePo(current['id'], current['name'], current['host'], current['port']); + } + @override Future deleteZooKeeper(int id) async { var aux = await getInstance(); @@ -171,6 +196,18 @@ class PersistentDb implements PersistentApi { }); } + @override + Future zooKeeperInstance(String name) async { + var aux = await getInstance(); + final List> maps = + await aux.database.query('zookeeper_instances', where: "name = ?", whereArgs: [name]); + if (maps.length == 0) { + return null; + } + var current = maps[0]; + return ZkInstancePo(current['id'], current['name'], current['host'], current['port']); + } + @override Future saveKubernetesSsh(String name, List sshSteps) { // TODO: implement saveKubernetesSsh @@ -189,6 +226,12 @@ class PersistentDb implements PersistentApi { throw UnimplementedError(); } + @override + Future kubernetesInstance(String name) { + // TODO: implement kubernetesInstance + throw UnimplementedError(); + } + @override Future deleteMongo(int id) async { var aux = await getInstance(); @@ -205,6 +248,18 @@ class PersistentDb implements PersistentApi { }); } + @override + Future mongoInstance(String name) async { + var aux = await getInstance(); + final List> maps = + await aux.database.query('mongo_instances', where: "name = ?", whereArgs: [name]); + if (maps.length == 0) { + return null; + } + var current = maps[0]; + return MongoInstancePo(current['id'], current['name'], current['addr'], current['username'], current['password']); + } + @override Future saveMongo(String name, String addr, String username, String password) async { var aux = await getInstance(); @@ -236,6 +291,19 @@ class PersistentDb implements PersistentApi { .execute('INSERT INTO mysql_instances(name, host, port, username, password) VALUES (?, ?, ?, ?, ?)', list); } + @override + Future mysqlInstance(String name) async { + var aux = await getInstance(); + final List> maps = + await aux.database.query('mysql_instances', where: "name = ?", whereArgs: [name]); + if (maps.length == 0) { + return null; + } + var current = maps[0]; + return MysqlInstancePo( + current['id'], current['name'], current['host'], current['port'], current['username'], current['password']); + } + @override Future deleteSql(int id) async { var aux = await getInstance(); @@ -258,4 +326,15 @@ class PersistentDb implements PersistentApi { return SqlPo(aux['id'], aux['name'], aux['sql']); }); } + + @override + Future sqlInstance(String name) async { + var aux = await getInstance(); + final List> maps = await aux.database.query('sql_list', where: "name = ?", whereArgs: [name]); + if (maps.length == 0) { + return null; + } + var current = maps[0]; + return SqlPo(current['id'], current['name'], current['sql']); + } } diff --git a/lib/persistent/persistent_memory.dart b/lib/persistent/persistent_memory.dart index a7f031c..7ea48d4 100644 --- a/lib/persistent/persistent_memory.dart +++ b/lib/persistent/persistent_memory.dart @@ -34,6 +34,15 @@ class PersistentMemory implements PersistentApi { ]; } + @override + Future pulsarInstance(String name) async { + if (name != "example") { + return null; + } + return new PulsarInstancePo(0, "example", PulsarConst.defaultHost, PulsarConst.defaultBrokerPort, + PulsarConst.defaultHost, PulsarConst.defaultFunctionPort); + } + @override Future saveBookkeeper(String name, String host, int port) { // TODO: implement saveBookkeeper @@ -51,6 +60,14 @@ class PersistentMemory implements PersistentApi { return [new BkInstancePo(0, "example", BkConst.defaultHost, BkConst.defaultPort)]; } + @override + Future bookkeeperInstance(String name) async { + if (name != "example") { + return null; + } + return new BkInstancePo(0, "example", BkConst.defaultHost, BkConst.defaultPort); + } + @override Future deleteZooKeeper(int id) { // TODO: implement deleteZooKeeper @@ -68,6 +85,14 @@ class PersistentMemory implements PersistentApi { return [new ZkInstancePo(0, "example", ZkConst.defaultHost, ZkConst.defaultPort)]; } + @override + Future zooKeeperInstance(String name) async { + if (name != "example") { + return null; + } + return new ZkInstancePo(0, "example", ZkConst.defaultHost, ZkConst.defaultPort); + } + @override Future saveKubernetesSsh(String name, List sshSteps) { // TODO: implement saveKubernetesSsh @@ -85,6 +110,14 @@ class PersistentMemory implements PersistentApi { return [new K8sInstancePo(0, "example")]; } + @override + Future kubernetesInstance(String name) async { + if (name != "example") { + return null; + } + return new K8sInstancePo(0, "example"); + } + @override Future deleteMongo(int id) { throw UnimplementedError(); @@ -95,6 +128,14 @@ class PersistentMemory implements PersistentApi { return [new MongoInstancePo(0, "example", MongoConst.defaultAddr, "", "")]; } + @override + Future mongoInstance(String name) async { + if (name != "example") { + return null; + } + return new MongoInstancePo(0, "example", MongoConst.defaultAddr, "", ""); + } + @override Future saveMongo(String name, String addr, String username, String password) { throw UnimplementedError(); @@ -120,6 +161,15 @@ class PersistentMemory implements PersistentApi { throw UnimplementedError(); } + @override + Future mysqlInstance(String name) async { + if (name != "example") { + return null; + } + return new MysqlInstancePo(0, "example", MysqlConst.defaultHost, MysqlConst.defaultPort, MysqlConst.defaultUsername, + MysqlConst.defaultPassword); + } + @override Future deleteSql(int id) { // TODO: implement deleteSql @@ -137,4 +187,10 @@ class PersistentMemory implements PersistentApi { // TODO: implement sqlList throw UnimplementedError(); } + + @override + Future sqlInstance(String name) { + // TODO: implement sqlInstance + throw UnimplementedError(); + } }