Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[persistent] Add get Instance by name #29

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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();
}
}