MCPcopy Create free account
hub / github.com/MertJSX/folderhost / StartService

Function StartService

routes/put_start_service.go:13–73  ·  view source on GitHub ↗
(c *fiber.Ctx)

Source from the content-addressed store, hash-verified

11)
12
13func StartService(c *fiber.Ctx) error {
14
15 serviceName := c.Params("service")
16 serviceName, err := url.QueryUnescape(serviceName)
17
18 if err != nil {
19 return c.Status(400).JSON(
20 fiber.Map{
21 "error": "Bad request",
22 },
23 )
24 }
25
26 permissions, err := serviceutils.GlobalServiceManager.GetUserServicePermissions(serviceName, c.Locals("account").(types.Account).Username)
27
28 if err != nil {
29 if err.Error() == "user not listed" {
30 return c.Status(403).JSON(
31 fiber.Map{
32 "err": "No permission",
33 },
34 )
35 }
36
37 return c.Status(500).JSON(
38 fiber.Map{
39 "err": err.Error(),
40 },
41 )
42 }
43
44 if !permissions.Start {
45 return c.Status(403).JSON(
46 fiber.Map{
47 "err": "No permission",
48 },
49 )
50 }
51
52 err = serviceutils.GlobalServiceManager.StartService(serviceName)
53
54 if err != nil {
55 return c.Status(500).JSON(
56 fiber.Map{
57 "err": err.Error(),
58 },
59 )
60 }
61
62 logs.CreateLog(types.AuditLog{
63 Username: c.Locals("account").(types.Account).Username,
64 Action: "Start Service",
65 Description: fmt.Sprintf(`%s started "%s" service.`, c.Locals("account").(types.Account).Username, serviceName),
66 })
67
68 return c.Status(200).JSON(
69 fiber.Map{
70 "res": "Successfully started!",

Callers

nothing calls this directly

Calls 3

CreateLogFunction · 0.92
StartServiceMethod · 0.80

Tested by

no test coverage detected