Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.
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
152 changes: 39 additions & 113 deletions .tools/nvim/__http__/iot/devices.graphql.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
---
label: "Create Device"
query: |+
mutation Iot_createDevice($projectName: String!, $deviceBlueprintName: String!, $device: IOTDeviceIn!) {
iot_createDevice(projectName: $projectName, deviceBlueprintName: $deviceBlueprintName, device: $device) {
deployment
deviceBlueprintName
name
accountName
mutation Iot_createDevice($projectName: String!, $deploymentName: String!, $device: IOTDeviceIn!) {
iot_createDevice(projectName: $projectName, deploymentName: $deploymentName, device: $device) {
id
displayName
createdBy {
userName
userId
userEmail
}
}
}
variables:
{
"projectName": "sample-project",
"deviceBlueprintName": "sample-device-blueprint",
"deploymentName": "sample-deployment",
"device": {
"deployment": "",
"displayName": "sample device",
"ip": "10.10.11.4",
"name": "sample-device-one",
"name": "sample-device",
"podCIDR": "10.1.1.1",
"publicKey": "10.2.2.2",
"publicKey": "10.2.2.3",
"serviceCIDR": "10.3.3.3",
"version": "1"
}
Expand All @@ -30,20 +31,23 @@ variables:

label: "update Device"
query: |+
mutation Iot_updateDevice($projectName: String!, $deviceBlueprintName: String!, $device: IOTDeviceIn!) {
iot_updateDevice(projectName: $projectName, deviceBlueprintName: $deviceBlueprintName, device: $device) {
accountName
deployment
deviceBlueprintName
mutation Iot_updateDevice($projectName: String!, $deploymentName: String!, $device: IOTDeviceIn!) {
iot_updateDevice(projectName: $projectName, deploymentName: $deploymentName, device: $device) {
creationTime
createdBy {
userName
userId
userEmail
}
id
name
}
}
variables:
{
"projectName": "sample-project",
"deviceBlueprintName": "sample-device-blueprint",
"deploymentName": "sample-deployment",
"device": {
"deployment": "sample-deployment",
"displayName": "sample device",
"ip": "10.10.11.4",
"name": "sample-device",
Expand All @@ -58,107 +62,30 @@ variables:

label: "delete Device"
query: |+
mutation Iot_deleteDevice($projectName: String!, $deviceBlueprintName: String!, $name: String!) {
iot_deleteDevice(projectName: $projectName, deviceBlueprintName: $deviceBlueprintName, name: $name)
mutation Iot_deleteDevice($projectName: String!, $deploymentName: String!, $name: String!) {
iot_deleteDevice(projectName: $projectName, deploymentName: $deploymentName, name: $name)
}
variables:
{
"projectName": "sample-project",
"deviceBlueprintName": "sample-device-blueprint",
"name": "sample-device"
"deploymentName": "sample-deployment",
"name": "sample-device-one"
}

---

label: "get Device"
query: |+
query Iot_getDevice($projectName: String!, $deviceBlueprintName: String!, $name: String!) {
iot_getDevice(projectName: $projectName, deviceBlueprintName: $deviceBlueprintName, name: $name) {
query Iot_getDevice($projectName: String!, $deploymentName: String!, $name: String!) {
iot_getDevice(projectName: $projectName, deploymentName: $deploymentName, name: $name) {
accountName
deployment
deviceBlueprintName
name
}
}
variables:
{
"projectName": "sample-project",
"deviceBlueprintName": "sample-device-blueprint",
"name": "sample-device"
}

---

label: "list Device"
query: |+
query Iot_listDevices($projectName: String!, $deviceBlueprintName: String!) {
iot_listDevices(projectName: $projectName, deviceBlueprintName: $deviceBlueprintName) {
totalCount
edges {
node {
accountName
deployment
deviceBlueprintName
name
}
createdBy {
userName
userEmail
userId
}
}
}
variables:
{
"projectName": "sample-project",
"deviceBlueprintName": "sample-device-blueprint"
}

---

label: "Add Deployment Device"
query: |+
mutation Iot_addDeviceToDeployment($projectName: String!, $deploymentName: String!, $deviceName: String!, $deviceBlueprintName: String!) {
iot_addDeviceToDeployment(projectName: $projectName, deploymentName: $deploymentName, deviceName: $deviceName, deviceBlueprintName: $deviceBlueprintName) {
accountName
deployment
name
deviceBlueprintName
}
}
variables:
{
"projectName": "sample-project",
"deploymentName": "sample-deployment",
"deviceName": "sample-device",
"deviceBlueprintName": "sample-device-blueprint"
}

---

label: "Remove Deployment Device"
query: |+
mutation Iot_removeDeviceOfDeployment($projectName: String!, $deploymentName: String!, $deviceName: String!, $deviceBlueprintName: String!) {
iot_removeDeviceOfDeployment(projectName: $projectName, deploymentName: $deploymentName, deviceName: $deviceName, deviceBlueprintName: $deviceBlueprintName) {
accountName
deployment
deviceBlueprintName
name
}
}
variables:
{
"projectName": "sample-project",
"deploymentName": "sample-deployment",
"deviceName": "sample-device",
"deviceBlueprintName": "sample-device-blueprint"
}

---

label: "get Deployment Device"
query: |+
query Iot_getDeploymentDevice($projectName: String!, $deploymentName: String!, $name: String!) {
iot_getDeploymentDevice(projectName: $projectName, deploymentName: $deploymentName, name: $name) {
accountName
deployment
deviceBlueprintName
displayName
id
name
}
}
Expand All @@ -171,17 +98,16 @@ variables:

---

label: "list Deployment Device"
label: "list Device"
query: |+
query Iot_listDeploymentDevices($projectName: String!, $deploymentName: String!) {
iot_listDeploymentDevices(projectName: $projectName, deploymentName: $deploymentName) {
query Iot_listDevices($projectName: String!, $deploymentName: String!) {
iot_listDevices(projectName: $projectName, deploymentName: $deploymentName) {
totalCount
edges {
node {
accountName
deployment
deviceBlueprintName
name
deploymentName
displayName
podCIDR
}
}
}
Expand Down
26 changes: 24 additions & 2 deletions apps/iot-console/internal/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package app

import (
"context"
"encoding/json"
"fmt"
"github.com/99designs/gqlgen/graphql"
"github.com/gofiber/fiber/v2"
Expand Down Expand Up @@ -82,14 +83,35 @@ var Module = fx.Module("app",
},
),

domain.Module,

fx.Invoke(func(server httpServer.Server, envs *env.Env, d domain.Domain, logger logging.Logger) {

a := server.Raw()

a.Get("/healthy", func(c *fiber.Ctx) error {
return c.SendString("OK")
})

a.Post("/device", func(c *fiber.Ctx) error {
data := struct {
PublicKey string `json:"publicKey"`
}{}
body := c.Body()
err := json.Unmarshal(body, &data)
if err != nil {
return err
}
ctx := c.Context()

dev, err := d.GetPublicKeyDevice(ctx, data.PublicKey)
if err != nil {
return c.JSON(struct {
ErrorMessage string `json:"errorMessage"`
}{
ErrorMessage: err.Error(),
})
}
return c.JSON(dev)
})
}),
domain.Module,
)

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading