Skip to content

Commit aa5c2d9

Browse files
committed
restarting app
1 parent 4e948b9 commit aa5c2d9

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

ApplicationBaseCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
public abstract class ApplicationBaseCommand : BaseCommand
44
{
5-
[CommandOption("app-id", Description = "set application id", EnvironmentVariable = "APP_ID")]
5+
[CommandOption("app-id", IsRequired = true, Description = "set application id", EnvironmentVariable = "APP_ID")]
66
public int AppId { get; set; }
77
}

BaseCommand.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
public abstract class BaseCommand
55
{
6-
[CommandOption("token", Description = "set auth token", EnvironmentVariable = "TOKEN")]
6+
[CommandOption("token", IsRequired = true, Description = "set auth token", EnvironmentVariable = "TOKEN")]
77
public string Token { get; set; }
88

99
[CommandOption("api-url", Description = "set the url to api", EnvironmentVariable = "API_URL")]
@@ -17,4 +17,11 @@ public HttpRequestMessage CreateRequest(HttpMethod method, string query)
1717
request.RequestUri = new Uri(new Uri(ApiUrl), query);
1818
return request;
1919
}
20+
21+
public async Task ExecSimple(HttpMethod method, string query)
22+
{
23+
var request = CreateRequest(method, query);
24+
var response = await new HttpClient().SendAsync(request);
25+
response.EnsureSuccessStatusCode();
26+
}
2027
}

RestartCommand.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using CliFx;
2+
using CliFx.Attributes;
3+
using CliFx.Infrastructure;
4+
5+
[Command("restart", Description = "restart the application")]
6+
public class RestartCommand : ApplicationBaseCommand, ICommand
7+
{
8+
public async ValueTask ExecuteAsync(IConsole console)
9+
{
10+
console.Output.WriteLine($"Stopping {AppId}");
11+
await ExecSimple(HttpMethod.Put, $"api/application/{AppId}/stop");
12+
console.Output.WriteLine($"Starting {AppId}");
13+
await ExecSimple(HttpMethod.Put, $"api/application/{AppId}/start");
14+
console.Output.WriteLine($"OK");
15+
}
16+
}

0 commit comments

Comments
 (0)