feat: update docker api invoke

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2020-01-03 14:33:39 +08:00
parent b497c9750e
commit 67b410e448
13 changed files with 66 additions and 15 deletions

View File

@@ -33,6 +33,13 @@
]
},
"commands": [
{
"command": "dayu.task.logs",
"title": "View Task Logs",
"icon": {
"dark": "src/images/browser.svg"
}
},
{
"command": "dayu.container.logs",
"title": "View Container Logs",
@@ -55,6 +62,11 @@
"when": "view == docker-explorer && viewItem =~ /.*\"type\":\"CONTAINER\".*/",
"group": "inline"
},
{
"command": "dayu.task.logs",
"when": "view == docker-explorer && viewItem =~ /.*\"type\":\"TASK\".*/",
"group": "inline"
},
{
"command": "dayu.service.logs",
"when": "view == docker-explorer && viewItem =~ /.*\"type\":\"SERVICE\".*/",

View File

@@ -13,6 +13,8 @@ enum Type {
NETWORK = "NETWORK",
STACKS = "STACKS",
STACK = "STACK",
TASKS = "TASKS",
TASK = "TASK",
NODES = "NODES",
NODE = "NODE"
}
@@ -26,6 +28,11 @@ export class DockerProvider extends BaseProvider<vscode.TreeItem> {
constructor(context: vscode.ExtensionContext) {
super();
context.subscriptions.push(
vscode.commands.registerCommand('dayu.task.logs', (item: vscode.TreeItem) => {
let value: ItemContextValue = JSON.parse(item.contextValue);
let url = `https://dayu-api.miaowoo.cc/logs/?action=task&data=${value.data.id}`;
return vscode.commands.executeCommand("mini-browser.openUrl", url);
}),
vscode.commands.registerCommand('dayu.container.logs', (item: vscode.TreeItem) => {
let value: ItemContextValue = JSON.parse(item.contextValue);
let url = `https://dayu-api.miaowoo.cc/logs/?action=container&data=${value.data.id}`;
@@ -81,6 +88,20 @@ export class DockerProvider extends BaseProvider<vscode.TreeItem> {
tooltip: JSON.stringify(n, undefined, 2)
})
})
case Type.TASKS:
let tasks = await docker.task.list();
return tasks.map(n => {
return this.createTreeItem({
label: n.ID,
context: {
type: Type.NODE,
data: {
id: n.ID
}
},
tooltip: JSON.stringify(n, undefined, 2)
})
})
case Type.CONTAINERS:
let containers = await docker.container.list();
return containers.map(c => {