Skip to content

Commit 58a5cb6

Browse files
committed
v0.1.1 update
various fixes and improvements added endpoints: ExecGQL, SearchGQL, CreateOperator, DeleteOperator
1 parent ac6518b commit 58a5cb6

23 files changed

+4178
-101
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ The add-on exposes the following endpoints:
2626

2727
- `GetSchema` — Retrieves the JSON schema used to validate input for an API endpoint.
2828
- `ResolveGQL` — Resolves a GQL path or DBID and retrieves details about the node.
29+
- `SearchGQL` — Traverses the node tree starting from one or more root nodes, applying filters at each step to find matching nodes.
30+
- `ExecGQL` — Retrieves and/or sets attribute values for specified nodes.
2931
- `ExecCommand` — Executes manual commands on the server.
32+
- `CreateOperator` — Creates or updates an operator.
33+
- `DeleteOperator` — Deletes an operator from the system.
3034

3135
---
3236

root/info.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<extension version="1">
22
<name>RestAPI</name>
33
<description>Exposes an OpenAPI-compatible REST API.</description>
4-
<version>0.1.0</version>
4+
<version>0.1.1</version>
55
<vendor>Automatic Controls Equipment Systems, Inc.</vendor>
66
</extension>

root/webapp/docs/docs.css

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,6 +662,23 @@ form {
662662
font-size: 16px;
663663
}
664664

665+
.view-request-button {
666+
display: none;
667+
background: var(--info);
668+
color: white;
669+
border: none;
670+
padding: 6px 12px;
671+
border-radius: 4px;
672+
cursor: pointer;
673+
font-size: 13px;
674+
}
675+
676+
.response-card-header {
677+
display: flex;
678+
justify-content: space-between;
679+
align-items: center;
680+
}
681+
665682
.api-code-response {
666683
padding: 4px 6px;
667684
overflow-x: auto;
@@ -688,4 +705,120 @@ pre>code::-webkit-scrollbar-thumb {
688705
.sidebar::-webkit-scrollbar-track,
689706
pre>code::-webkit-scrollbar-track {
690707
background: var(--code-bg);
708+
}
709+
710+
.filter-builder-modal {
711+
display: none;
712+
position: fixed;
713+
z-index: 10000;
714+
left: 0;
715+
top: 0;
716+
width: 100%;
717+
height: 100%;
718+
background-color: rgba(0, 0, 0, 0.7);
719+
animation: fadeIn2 0.2s ease-out;
720+
}
721+
722+
.filter-builder-modal.active {
723+
display: flex;
724+
align-items: center;
725+
justify-content: center;
726+
}
727+
728+
.filter-builder-container {
729+
background: var(--card-bg);
730+
border-radius: 8px;
731+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
732+
width: 90%;
733+
height: 85%;
734+
max-width: 1400px;
735+
display: flex;
736+
flex-direction: column;
737+
animation: slideIn 0.3s ease-out;
738+
}
739+
740+
.filter-builder-header {
741+
display: flex;
742+
justify-content: space-between;
743+
align-items: center;
744+
padding: 16px 20px;
745+
border-bottom: 1px solid var(--border);
746+
background: var(--background);
747+
border-radius: 8px 8px 0 0;
748+
}
749+
750+
.filter-builder-header h3 {
751+
margin: 0;
752+
color: var(--primary);
753+
font-size: 18px;
754+
}
755+
756+
.filter-builder-close {
757+
background: var(--error);
758+
color: white;
759+
border: none;
760+
padding: 8px 16px;
761+
border-radius: 4px;
762+
cursor: pointer;
763+
font-size: 14px;
764+
font-weight: 500;
765+
transition: opacity 0.2s;
766+
}
767+
768+
.filter-builder-close:hover {
769+
opacity: 0.85;
770+
}
771+
772+
.filter-builder-iframe {
773+
flex: 1;
774+
border: none;
775+
width: 100%;
776+
background: #1e1e1e;
777+
}
778+
779+
@keyframes fadeIn2 {
780+
from {
781+
opacity: 0;
782+
}
783+
784+
to {
785+
opacity: 1;
786+
}
787+
}
788+
789+
@keyframes slideIn {
790+
from {
791+
transform: translateY(-20px);
792+
opacity: 0;
793+
}
794+
795+
to {
796+
transform: translateY(0);
797+
opacity: 1;
798+
}
799+
}
800+
801+
.filter-builder-btn {
802+
display: inline-flex;
803+
align-items: center;
804+
gap: 6px;
805+
padding: 6px 12px;
806+
background: var(--primary);
807+
color: white;
808+
border: none;
809+
border-radius: 4px;
810+
cursor: pointer;
811+
font-size: 13px;
812+
font-weight: 500;
813+
transition: opacity 0.2s;
814+
margin-left: 8px;
815+
vertical-align: middle;
816+
}
817+
818+
.filter-builder-btn:hover {
819+
opacity: 0.85;
820+
}
821+
822+
.filter-builder-btn i {
823+
font-size: 12px;
691824
}

0 commit comments

Comments
 (0)