added SRSC
This commit is contained in:
92
src/bin/srsc/CLI.hx
Normal file
92
src/bin/srsc/CLI.hx
Normal file
@@ -0,0 +1,92 @@
|
||||
package bin.srsc;
|
||||
|
||||
import kernel.net.Package.NetworkID;
|
||||
import lib.RessourceNames;
|
||||
import lib.CLIAppBase;
|
||||
|
||||
using tink.CoreApi;
|
||||
|
||||
class CLI extends CLIAppBase {
|
||||
public function new() {
|
||||
registerAsyncSubcommand("get", (args) -> {
|
||||
if (args.length < 2) {
|
||||
handle.writeLine("Not enough arguments");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
var id:NetworkID = Std.parseInt(args[0]);
|
||||
if (id == null) {
|
||||
handle.writeLine("Invalid id");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
return RessourceNames.get(args[1], id).map((res) -> {
|
||||
switch (res) {
|
||||
case Success(data):
|
||||
if (data == null) {
|
||||
handle.writeLine("Not found");
|
||||
} else {
|
||||
handle.writeLine("Found: " + data);
|
||||
}
|
||||
case Failure(error):
|
||||
handle.writeLine("Error: " + error);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}, "<id> <name>");
|
||||
|
||||
registerAsyncSubcommand("register", (args) -> {
|
||||
if (args.length < 3) {
|
||||
handle.writeLine("Not enough arguments");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
var id:NetworkID = Std.parseInt(args[0]);
|
||||
if (id == null) {
|
||||
handle.writeLine("Invalid id");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
var id2:NetworkID = Std.parseInt(args[2]);
|
||||
if (id2 == null) {
|
||||
handle.writeLine("Invalid id");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
return RessourceNames.register(args[1], id2, id).map((res) -> {
|
||||
switch (res) {
|
||||
case Success(data):
|
||||
handle.writeLine("Success");
|
||||
case Failure(error):
|
||||
handle.writeLine("Error: " + error);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}, "<id> <name> <id>");
|
||||
|
||||
registerAsyncSubcommand("unregister", (args) -> {
|
||||
if (args.length < 2) {
|
||||
handle.writeLine("Not enough arguments");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
var id:NetworkID = Std.parseInt(args[0]);
|
||||
if (id == null) {
|
||||
handle.writeLine("Invalid id");
|
||||
return Future.sync(false);
|
||||
}
|
||||
|
||||
return RessourceNames.unregister(args[1], id).map((res) -> {
|
||||
switch (res) {
|
||||
case Success(data):
|
||||
handle.writeLine("Success");
|
||||
case Failure(error):
|
||||
handle.writeLine("Error: " + error);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}, "<id> <name>");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user