Skip to content

Commit

Permalink
[persistent] Add get Instance by name (#29)
Browse files Browse the repository at this point in the history
  • Loading branch information
goflutterjava committed Jan 12, 2022
1 parent e1d2037 commit d271d55
Show file tree
Hide file tree
Showing 4 changed files with 174 additions and 0 deletions.
25 changes: 25 additions & 0 deletions lib/persistent/persistent.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -36,6 +37,10 @@ class Persistent {
return (await getApi()).pulsarInstances();
}

static Future<PulsarInstancePo?> pulsarInstance(String name) async {
return await ((await getApi()).pulsarInstance(name));
}

static Future<void> saveBookkeeper(String name, String host, int port) async {
return (await getApi()).saveBookkeeper(name, host, port);
}
Expand All @@ -48,6 +53,26 @@ class Persistent {
return (await getApi()).bookkeeperInstances();
}

static Future<BkInstancePo?> bookkeeperInstance(String name) async {
return await ((await getApi()).bookkeeperInstance(name));
}

static Future<void> saveZooKeeper(String name, String host, int port) async {
return (await getApi()).saveZooKeeper(name, host, port);
}

static Future<void> deleteZooKeeper(int id) async {
return (await getApi()).deleteZooKeeper(id);
}

static Future<List<ZkInstancePo>> zooKeeperInstances() async {
return (await getApi()).zooKeeperInstances();
}

static Future<ZkInstancePo?> zooKeeperInstance(String name) async {
return await ((await getApi()).zooKeeperInstance(name));
}

static Future<void> saveKubernetesSsh(String name, List<SshStep> sshSteps) async {
return (await getApi()).saveKubernetesSsh(name, sshSteps);
}
Expand Down
14 changes: 14 additions & 0 deletions lib/persistent/persistent_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,39 +14,53 @@ abstract class PersistentApi {

Future<List<PulsarInstancePo>> pulsarInstances();

Future<PulsarInstancePo?> pulsarInstance(String name);

Future<void> saveBookkeeper(String name, String host, int port);

Future<void> deleteBookkeeper(int id);

Future<List<BkInstancePo>> bookkeeperInstances();

Future<BkInstancePo?> bookkeeperInstance(String name);

Future<void> saveZooKeeper(String name, String host, int port);

Future<void> deleteZooKeeper(int id);

Future<List<ZkInstancePo>> zooKeeperInstances();

Future<ZkInstancePo?> zooKeeperInstance(String name);

Future<void> saveKubernetesSsh(String name, List<SshStep> sshSteps);

Future<void> deleteKubernetes(int id);

Future<List<K8sInstancePo>> kubernetesInstances();

Future<K8sInstancePo?> kubernetesInstance(String name);

Future<void> saveMongo(String name, String addr, String username, String password);

Future<void> deleteMongo(int id);

Future<List<MongoInstancePo>> mongoInstances();

Future<MongoInstancePo?> mongoInstance(String name);

Future<void> saveMysql(String name, String host, int port, String username, String password);

Future<void> deleteMysql(int id);

Future<List<MysqlInstancePo>> mysqlInstances();

Future<MysqlInstancePo?> mysqlInstance(String name);

Future<void> saveSql(String name, String sql);

Future<void> deleteSql(int id);

Future<List<SqlPo>> sqlList();

Future<SqlPo?> sqlInstance(String name);
}
79 changes: 79 additions & 0 deletions lib/persistent/persistent_db.dart
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,19 @@ class PersistentDb implements PersistentApi {
});
}

@override
Future<PulsarInstancePo?> pulsarInstance(String name) async {
var aux = await getInstance();
final List<Map<String, dynamic>> 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<void> saveBookkeeper(String name, String host, int port) async {
var aux = await getInstance();
Expand All @@ -148,6 +161,18 @@ class PersistentDb implements PersistentApi {
});
}

@override
Future<BkInstancePo?> bookkeeperInstance(String name) async {
var aux = await getInstance();
final List<Map<String, dynamic>> 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<void> deleteZooKeeper(int id) async {
var aux = await getInstance();
Expand All @@ -171,6 +196,18 @@ class PersistentDb implements PersistentApi {
});
}

@override
Future<ZkInstancePo?> zooKeeperInstance(String name) async {
var aux = await getInstance();
final List<Map<String, dynamic>> 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<void> saveKubernetesSsh(String name, List<SshStep> sshSteps) {
// TODO: implement saveKubernetesSsh
Expand All @@ -189,6 +226,12 @@ class PersistentDb implements PersistentApi {
throw UnimplementedError();
}

@override
Future<K8sInstancePo?> kubernetesInstance(String name) {
// TODO: implement kubernetesInstance
throw UnimplementedError();
}

@override
Future<void> deleteMongo(int id) async {
var aux = await getInstance();
Expand All @@ -205,6 +248,18 @@ class PersistentDb implements PersistentApi {
});
}

@override
Future<MongoInstancePo?> mongoInstance(String name) async {
var aux = await getInstance();
final List<Map<String, dynamic>> 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<void> saveMongo(String name, String addr, String username, String password) async {
var aux = await getInstance();
Expand Down Expand Up @@ -236,6 +291,19 @@ class PersistentDb implements PersistentApi {
.execute('INSERT INTO mysql_instances(name, host, port, username, password) VALUES (?, ?, ?, ?, ?)', list);
}

@override
Future<MysqlInstancePo?> mysqlInstance(String name) async {
var aux = await getInstance();
final List<Map<String, dynamic>> 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<void> deleteSql(int id) async {
var aux = await getInstance();
Expand All @@ -258,4 +326,15 @@ class PersistentDb implements PersistentApi {
return SqlPo(aux['id'], aux['name'], aux['sql']);
});
}

@override
Future<SqlPo?> sqlInstance(String name) async {
var aux = await getInstance();
final List<Map<String, dynamic>> 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']);
}
}
56 changes: 56 additions & 0 deletions lib/persistent/persistent_memory.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@ class PersistentMemory implements PersistentApi {
];
}

@override
Future<PulsarInstancePo?> pulsarInstance(String name) async {
if (name != "example") {
return null;
}
return new PulsarInstancePo(0, "example", PulsarConst.defaultHost, PulsarConst.defaultBrokerPort,
PulsarConst.defaultHost, PulsarConst.defaultFunctionPort);
}

@override
Future<void> saveBookkeeper(String name, String host, int port) {
// TODO: implement saveBookkeeper
Expand All @@ -51,6 +60,14 @@ class PersistentMemory implements PersistentApi {
return [new BkInstancePo(0, "example", BkConst.defaultHost, BkConst.defaultPort)];
}

@override
Future<BkInstancePo?> bookkeeperInstance(String name) async {
if (name != "example") {
return null;
}
return new BkInstancePo(0, "example", BkConst.defaultHost, BkConst.defaultPort);
}

@override
Future<void> deleteZooKeeper(int id) {
// TODO: implement deleteZooKeeper
Expand All @@ -68,6 +85,14 @@ class PersistentMemory implements PersistentApi {
return [new ZkInstancePo(0, "example", ZkConst.defaultHost, ZkConst.defaultPort)];
}

@override
Future<ZkInstancePo?> zooKeeperInstance(String name) async {
if (name != "example") {
return null;
}
return new ZkInstancePo(0, "example", ZkConst.defaultHost, ZkConst.defaultPort);
}

@override
Future<void> saveKubernetesSsh(String name, List<SshStep> sshSteps) {
// TODO: implement saveKubernetesSsh
Expand All @@ -85,6 +110,14 @@ class PersistentMemory implements PersistentApi {
return [new K8sInstancePo(0, "example")];
}

@override
Future<K8sInstancePo?> kubernetesInstance(String name) async {
if (name != "example") {
return null;
}
return new K8sInstancePo(0, "example");
}

@override
Future<void> deleteMongo(int id) {
throw UnimplementedError();
Expand All @@ -95,6 +128,14 @@ class PersistentMemory implements PersistentApi {
return [new MongoInstancePo(0, "example", MongoConst.defaultAddr, "", "")];
}

@override
Future<MongoInstancePo?> mongoInstance(String name) async {
if (name != "example") {
return null;
}
return new MongoInstancePo(0, "example", MongoConst.defaultAddr, "", "");
}

@override
Future<void> saveMongo(String name, String addr, String username, String password) {
throw UnimplementedError();
Expand All @@ -120,6 +161,15 @@ class PersistentMemory implements PersistentApi {
throw UnimplementedError();
}

@override
Future<MysqlInstancePo?> mysqlInstance(String name) async {
if (name != "example") {
return null;
}
return new MysqlInstancePo(0, "example", MysqlConst.defaultHost, MysqlConst.defaultPort, MysqlConst.defaultUsername,
MysqlConst.defaultPassword);
}

@override
Future<void> deleteSql(int id) {
// TODO: implement deleteSql
Expand All @@ -137,4 +187,10 @@ class PersistentMemory implements PersistentApi {
// TODO: implement sqlList
throw UnimplementedError();
}

@override
Future<SqlPo?> sqlInstance(String name) {
// TODO: implement sqlInstance
throw UnimplementedError();
}
}

0 comments on commit d271d55

Please sign in to comment.