@dssp/dcsp 1.0.0-alpha.23 → 1.0.0-alpha.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,17 @@
1
+ import { LitElement } from 'lit';
2
+ declare const MenuTools_base: (new (...args: any[]) => {
3
+ _storeUnsubscribe: import("redux").Unsubscribe;
4
+ connectedCallback(): void;
5
+ disconnectedCallback(): void;
6
+ stateChanged(_state: unknown): void;
7
+ readonly isConnected: boolean;
8
+ }) & typeof LitElement;
9
+ export declare class MenuTools extends MenuTools_base {
10
+ static styles: import("lit").CSSResult[];
11
+ page?: string;
12
+ width?: string;
13
+ private menus;
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ stateChanged(state: any): void;
16
+ }
17
+ export {};
@@ -0,0 +1,172 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { connect } from 'pwa-helpers';
5
+ import { store } from '@operato/shell';
6
+ import { ICONS_PROGRESS, ICONS_COMPLETED, ICONS_SETTING } from '../icons/menu-icons';
7
+ let MenuTools = class MenuTools extends connect(store)(LitElement) {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.menus = [];
11
+ }
12
+ render() {
13
+ this.menus = [
14
+ {
15
+ name: '진행중',
16
+ path: 'project-list',
17
+ icons: ICONS_PROGRESS
18
+ },
19
+ {
20
+ name: '완료',
21
+ path: 'project-completed-list',
22
+ icons: ICONS_COMPLETED
23
+ },
24
+ // {
25
+ // name: '검측현황',
26
+ // path: 'dssp-status',
27
+ // icons: ICONS_STATUS
28
+ // },
29
+ // {
30
+ // name: '공정표',
31
+ // path: 'project-task-list',
32
+ // icons: ICONS_OPERATING
33
+ // },
34
+ {
35
+ name: '셋팅',
36
+ path: 'project-setting-list',
37
+ icons: ICONS_SETTING
38
+ }
39
+ ];
40
+ var page = this.page || '';
41
+ return html `
42
+ <ul>
43
+ ${this.menus.map(menu => html `
44
+ <li>
45
+ <a href=${menu.path} ?active=${!!~page.indexOf(menu.path)}>
46
+ <img src=${!!~page.indexOf(menu.path) ? menu.icons[1] : menu.icons[0]} />
47
+ <div>${menu.name}</div>
48
+ </a>
49
+ </li>
50
+ `)}
51
+ </ul>
52
+ `;
53
+ }
54
+ stateChanged(state) {
55
+ this.page = state.route.page;
56
+ this.width = state.layout.width;
57
+ }
58
+ };
59
+ MenuTools.styles = [
60
+ css `
61
+ :host {
62
+ display: flex;
63
+ background-color: var(--secondary-color);
64
+
65
+ /* for narrow mode */
66
+ flex-direction: column;
67
+ width: 100%;
68
+ --menu-tools-color: rgba(255, 255, 255, 0.9);
69
+ --menu-tools-active-color: rgba(107, 178, 249, 1);
70
+ }
71
+
72
+ :host([width='WIDE']) {
73
+ /* for wide mode */
74
+ flex-direction: row;
75
+ width: initial;
76
+ height: 100%;
77
+ }
78
+
79
+ ul {
80
+ display: flex;
81
+ flex-direction: row;
82
+
83
+ margin: auto;
84
+ padding: 0;
85
+ list-style: none;
86
+ height: 100%;
87
+ overflow: none;
88
+ }
89
+
90
+ :host([width='NARROW']) ul {
91
+ width: 100%;
92
+ justify-content: space-around;
93
+ }
94
+
95
+ :host([width='WIDE']) ul {
96
+ flex-direction: column;
97
+ }
98
+ :host([width='NARROW']) li {
99
+ flex: 1;
100
+ }
101
+
102
+ :host([width='WIDE']) li {
103
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
104
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
105
+ }
106
+
107
+ a {
108
+ display: flex;
109
+ flex-direction: column;
110
+ padding: 5px 0px;
111
+ opacity: 0.7;
112
+ align-items: center;
113
+ text-align: center;
114
+ text-decoration: none;
115
+ text-transform: capitalize;
116
+ color: var(--menu-tools-color);
117
+ border-left: 2px solid transparent;
118
+ }
119
+
120
+ a[active] {
121
+ opacity: 1;
122
+ color: var(--menu-tools-active-color);
123
+ font-weight: bold;
124
+ background-color: rgba(0, 0, 0, 0.15);
125
+ border-left: 2px solid var(--menu-tools-active-color);
126
+ }
127
+
128
+ :host([width='NARROW']) a {
129
+ padding: 0px 0px 5px 0px;
130
+ opacity: 0.8;
131
+ color: var(--menu-tools-color);
132
+ border-left: none;
133
+ border-top: 2px solid transparent;
134
+ }
135
+
136
+ :host([width='NARROW']) a[active] {
137
+ opacity: 1;
138
+ color: var(--menu-tools-active-color);
139
+ font-weight: bold;
140
+ background-color: rgba(0, 0, 0, 0.15);
141
+ border-left: none;
142
+ border-top: 2px solid var(--menu-tools-active-color);
143
+ }
144
+
145
+ img {
146
+ display: block;
147
+ width: 35px;
148
+ padding: 5px 10px 0px 10px;
149
+ }
150
+
151
+ :host([width='NARROW']) img {
152
+ padding: 0;
153
+ }
154
+
155
+ div {
156
+ font-size: 0.6em;
157
+ }
158
+ `
159
+ ];
160
+ __decorate([
161
+ property({ type: String }),
162
+ __metadata("design:type", String)
163
+ ], MenuTools.prototype, "page", void 0);
164
+ __decorate([
165
+ property({ type: String, reflect: true }),
166
+ __metadata("design:type", String)
167
+ ], MenuTools.prototype, "width", void 0);
168
+ MenuTools = __decorate([
169
+ customElement('menu-tools')
170
+ ], MenuTools);
171
+ export { MenuTools };
172
+ //# sourceMappingURL=menu-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-tools.js","sourceRoot":"","sources":["../../client/viewparts/menu-tools.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAiC,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG5G,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;IAAlD;;QA0GG,UAAK,GAAsD,EAAE,CAAA;IAqDvE,CAAC;IAnDC,MAAM;QACJ,IAAI,CAAC,KAAK,GAAG;YACX;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,eAAe;aACvB;YACD,IAAI;YACJ,kBAAkB;YAClB,yBAAyB;YACzB,wBAAwB;YACxB,KAAK;YACL,IAAI;YACJ,iBAAiB;YACjB,+BAA+B;YAC/B,2BAA2B;YAC3B,KAAK;YACL;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,aAAa;aACrB;SACF,CAAA;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAE1B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;;wBAEE,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;2BAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;uBAC9D,IAAI,CAAC,IAAI;;;WAGrB,CACF;;KAEJ,CAAA;IACH,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;IACjC,CAAC;;AA7JM,gBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkGF;CACF,AApGY,CAoGZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCAAc;AACE;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCAAe;AAxG9C,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CA+JrB","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers'\n\nimport { store } from '@operato/shell'\n\nimport { ICONS_PROGRESS, ICONS_COMPLETED, ICONS_STATUS, ICONS_OPERATING, ICONS_SETTING } from '../icons/menu-icons'\n\n@customElement('menu-tools')\nexport class MenuTools extends connect(store)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n background-color: var(--secondary-color);\n\n /* for narrow mode */\n flex-direction: column;\n width: 100%;\n --menu-tools-color: rgba(255, 255, 255, 0.9);\n --menu-tools-active-color: rgba(107, 178, 249, 1);\n }\n\n :host([width='WIDE']) {\n /* for wide mode */\n flex-direction: row;\n width: initial;\n height: 100%;\n }\n\n ul {\n display: flex;\n flex-direction: row;\n\n margin: auto;\n padding: 0;\n list-style: none;\n height: 100%;\n overflow: none;\n }\n\n :host([width='NARROW']) ul {\n width: 100%;\n justify-content: space-around;\n }\n\n :host([width='WIDE']) ul {\n flex-direction: column;\n }\n :host([width='NARROW']) li {\n flex: 1;\n }\n\n :host([width='WIDE']) li {\n border-top: 1px solid rgba(255, 255, 255, 0.1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n a {\n display: flex;\n flex-direction: column;\n padding: 5px 0px;\n opacity: 0.7;\n align-items: center;\n text-align: center;\n text-decoration: none;\n text-transform: capitalize;\n color: var(--menu-tools-color);\n border-left: 2px solid transparent;\n }\n\n a[active] {\n opacity: 1;\n color: var(--menu-tools-active-color);\n font-weight: bold;\n background-color: rgba(0, 0, 0, 0.15);\n border-left: 2px solid var(--menu-tools-active-color);\n }\n\n :host([width='NARROW']) a {\n padding: 0px 0px 5px 0px;\n opacity: 0.8;\n color: var(--menu-tools-color);\n border-left: none;\n border-top: 2px solid transparent;\n }\n\n :host([width='NARROW']) a[active] {\n opacity: 1;\n color: var(--menu-tools-active-color);\n font-weight: bold;\n background-color: rgba(0, 0, 0, 0.15);\n border-left: none;\n border-top: 2px solid var(--menu-tools-active-color);\n }\n\n img {\n display: block;\n width: 35px;\n padding: 5px 10px 0px 10px;\n }\n\n :host([width='NARROW']) img {\n padding: 0;\n }\n\n div {\n font-size: 0.6em;\n }\n `\n ]\n\n @property({ type: String }) page?: string\n @property({ type: String, reflect: true }) width?: string\n\n private menus: { name: string; path: string; icons: string[] }[] = []\n\n render() {\n this.menus = [\n {\n name: '진행중',\n path: 'project-list',\n icons: ICONS_PROGRESS\n },\n {\n name: '완료',\n path: 'project-completed-list',\n icons: ICONS_COMPLETED\n },\n // {\n // name: '검측현황',\n // path: 'dssp-status',\n // icons: ICONS_STATUS\n // },\n // {\n // name: '공정표',\n // path: 'project-task-list',\n // icons: ICONS_OPERATING\n // },\n {\n name: '셋팅',\n path: 'project-setting-list',\n icons: ICONS_SETTING\n }\n ]\n\n var page = this.page || ''\n\n return html`\n <ul>\n ${this.menus.map(\n menu => html`\n <li>\n <a href=${menu.path} ?active=${!!~page.indexOf(menu.path)}>\n <img src=${!!~page.indexOf(menu.path) ? menu.icons[1] : menu.icons[0]} />\n <div>${menu.name}</div>\n </a>\n </li>\n `\n )}\n </ul>\n `\n }\n\n stateChanged(state) {\n this.page = state.route.page\n this.width = state.layout.width\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class UserCircle extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ render(): import("lit-html").TemplateResult<1>;
5
+ }
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html, css } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ const userIcon = new URL('../../assets/images/user.png', import.meta.url).href;
5
+ let UserCircle = class UserCircle extends LitElement {
6
+ render() {
7
+ return html ` <img src=${userIcon} class="user" /> `;
8
+ }
9
+ };
10
+ UserCircle.styles = [
11
+ css `
12
+ img {
13
+ display: block;
14
+ width: 36px;
15
+ height: 36px;
16
+ border-radius: 50%;
17
+
18
+ object-fit: cover;
19
+ }
20
+ `
21
+ ];
22
+ UserCircle = __decorate([
23
+ customElement('user-circle')
24
+ ], UserCircle);
25
+ export { UserCircle };
26
+ //# sourceMappingURL=user-circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-circle.js","sourceRoot":"","sources":["../../client/viewparts/user-circle.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAGvE,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAcxC,MAAM;QACJ,OAAO,IAAI,CAAA,aAAa,QAAQ,mBAAmB,CAAA;IACrD,CAAC;;AAfM,iBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;KASF;CACF,AAXY,CAWZ;AAZU,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAiBtB","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nconst userIcon = new URL('../../assets/images/user.png', import.meta.url).href\n\n@customElement('user-circle')\nexport class UserCircle extends LitElement {\n static styles = [\n css`\n img {\n display: block;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n\n object-fit: cover;\n }\n `\n ]\n\n render() {\n return html` <img src=${userIcon} class=\"user\" /> `\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dssp/dcsp",
3
- "version": "1.0.0-alpha.23",
3
+ "version": "1.0.0-alpha.25",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -40,8 +40,8 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@dssp/building-complex": "^1.0.0-alpha.22",
43
- "@dssp/project": "^1.0.0-alpha.23",
44
- "@dssp/supervision": "^1.0.0-alpha.23",
43
+ "@dssp/project": "^1.0.0-alpha.25",
44
+ "@dssp/supervision": "^1.0.0-alpha.25",
45
45
  "@material/web": "^2.1.0",
46
46
  "@operato/chart": "^9.0.0",
47
47
  "@operato/gantt": "^9.0.0",
@@ -93,5 +93,5 @@
93
93
  "devDependencies": {
94
94
  "@things-factory/builder": "^9.0.0"
95
95
  },
96
- "gitHead": "d65b7b328359c809461c2636c327b77484ef316f"
96
+ "gitHead": "41861a4cd00726e417d50e5e93279db42224cca9"
97
97
  }
package/schema.graphql CHANGED
@@ -499,6 +499,7 @@ enum AttributeSetItemType {
499
499
  datetime
500
500
  file
501
501
  number
502
+ secret
502
503
  select
503
504
  text
504
505
  }
@@ -1036,7 +1037,7 @@ input BuildingComplexPatch {
1036
1037
  }
1037
1038
 
1038
1039
  type BuildingInspection {
1039
- attatchments: [Attachment!]!
1040
+ attachments: [Attachment!]!
1040
1041
  buildingInspectionSummary: BuildingInspectionSummary!
1041
1042
  buildingLevel: BuildingLevel
1042
1043
  cellX: Float
@@ -1048,6 +1049,7 @@ type BuildingInspection {
1048
1049
  drawingMarker: String
1049
1050
  id: ID!
1050
1051
  manager: ProjectManagerOutput
1052
+ memo: String
1051
1053
  projectType: String
1052
1054
  requestDate: String
1053
1055
  status: String
@@ -1204,7 +1206,7 @@ input ChecklistInputType {
1204
1206
  type ChecklistItem {
1205
1207
  checklist: Checklist
1206
1208
  checklistItemAttachmentCount: Float!
1207
- checklistItemAttachments: [Attachment!]!
1209
+ checklistItemAttachments(description: String): [Attachment!]!
1208
1210
  checklistItemCommentCount: Float!
1209
1211
  checklistItemComments: [ChecklistItemComment!]!
1210
1212
  constructionConfirmStatus: String
@@ -1414,9 +1416,7 @@ input CommonCodePatch {
1414
1416
 
1415
1417
  """Represents a configured connection to an external system or service."""
1416
1418
  type Connection {
1417
- """
1418
- Indicates whether the connection is currently active and should be maintained.
1419
- """
1419
+ """Whether to automatically connect when the application starts"""
1420
1420
  active: Boolean
1421
1421
 
1422
1422
  """The timestamp when the connection was created."""
@@ -1443,6 +1443,11 @@ type Connection {
1443
1443
  """The name of the connection."""
1444
1444
  name: String!
1445
1445
 
1446
+ """
1447
+ When true, connection is created on-demand when needed and cleaned up after use.
1448
+ """
1449
+ onDemand: Boolean
1450
+
1446
1451
  """A key-value map of parameters for the connection."""
1447
1452
  params: Object
1448
1453
 
@@ -1470,7 +1475,7 @@ type ConnectionList {
1470
1475
 
1471
1476
  """Input for updating (patching) an existing connection."""
1472
1477
  input ConnectionPatch {
1473
- """The new active status for the connection."""
1478
+ """Whether to automatically connect when the application starts"""
1474
1479
  active: Boolean
1475
1480
 
1476
1481
  """
@@ -1493,6 +1498,11 @@ input ConnectionPatch {
1493
1498
  """The new name for the connection."""
1494
1499
  name: String
1495
1500
 
1501
+ """
1502
+ When true, connection is created on-demand when needed and cleaned up after use.
1503
+ """
1504
+ onDemand: Boolean
1505
+
1496
1506
  """The new parameters for the connection."""
1497
1507
  params: Object
1498
1508
 
@@ -1517,6 +1527,11 @@ type ConnectionState {
1517
1527
  """The name of the connection."""
1518
1528
  name: String
1519
1529
 
1530
+ """
1531
+ When true, connection is created on-demand when needed and cleaned up after use.
1532
+ """
1533
+ onDemand: Boolean
1534
+
1520
1535
  """The current status of the connection."""
1521
1536
  state: String
1522
1537
 
@@ -1770,6 +1785,9 @@ type Domain {
1770
1785
  """A description of the domain."""
1771
1786
  description: String
1772
1787
 
1788
+ """The environment variables associated with the domain."""
1789
+ envVars: [EnvVar!]
1790
+
1773
1791
  """The external type of the domain, if applicable."""
1774
1792
  extType: String
1775
1793
 
@@ -2215,6 +2233,68 @@ type EntityRelationMetadata {
2215
2233
  relationType: Boolean
2216
2234
  }
2217
2235
 
2236
+ """Environment variable entity for storing key-value pairs."""
2237
+ type EnvVar {
2238
+ """Indicates whether this environment variable is currently active."""
2239
+ active: Boolean!
2240
+
2241
+ """The timestamp when the environment variable was created."""
2242
+ createdAt: DateTimeISO
2243
+
2244
+ """A detailed description of the environment variable."""
2245
+ description: String
2246
+
2247
+ """The domain to which this environment variable belongs."""
2248
+ domain: Domain
2249
+
2250
+ """The domain ID to which this environment variable belongs."""
2251
+ domainId: String!
2252
+
2253
+ """Unique identifier for the environment variable."""
2254
+ id: ID!
2255
+
2256
+ """The name of the environment variable."""
2257
+ name: String!
2258
+
2259
+ """The timestamp when the environment variable was last updated."""
2260
+ updatedAt: DateTimeISO
2261
+
2262
+ """The value of the environment variable (encrypted)."""
2263
+ value: String
2264
+ }
2265
+
2266
+ """List of environment variables."""
2267
+ type EnvVarList {
2268
+ """The list of environment variable items."""
2269
+ items: [EnvVar!]!
2270
+
2271
+ """The total number of environment variables."""
2272
+ total: Int!
2273
+ }
2274
+
2275
+ """Input type for updating an existing environment variable."""
2276
+ input EnvVarPatch {
2277
+ """The new active status for the environment variable."""
2278
+ active: Boolean
2279
+
2280
+ """
2281
+ A flag indicating whether the environment variable is being created, updated, or deleted.
2282
+ """
2283
+ cuFlag: String
2284
+
2285
+ """The new description for the environment variable."""
2286
+ description: String
2287
+
2288
+ """The unique identifier of the environment variable to update."""
2289
+ id: ID
2290
+
2291
+ """The new name for the environment variable."""
2292
+ name: String
2293
+
2294
+ """The new value for the environment variable."""
2295
+ value: String
2296
+ }
2297
+
2218
2298
  """Entity for Favorite"""
2219
2299
  type Favorite {
2220
2300
  createdAt: DateTimeISO
@@ -3072,6 +3152,9 @@ type Mutation {
3072
3152
  """To create new EntityColumn"""
3073
3153
  createEntityColumn(entityColumn: NewEntityColumn!): EntityColumn!
3074
3154
 
3155
+ """To create new EnvVar"""
3156
+ createEnvVar(envVar: NewEnvVar!): EnvVar!
3157
+
3075
3158
  """To create new Favorite"""
3076
3159
  createFavorite(favorite: NewFavorite!): Favorite!
3077
3160
 
@@ -3353,6 +3436,12 @@ type Mutation {
3353
3436
  """To delete multiple EntityColumns"""
3354
3437
  deleteEntityColumns(ids: [String!]!): Boolean!
3355
3438
 
3439
+ """To delete EnvVar"""
3440
+ deleteEnvVar(id: String!): Boolean!
3441
+
3442
+ """To delete multiple EnvVars"""
3443
+ deleteEnvVars(ids: [String!]!): Boolean!
3444
+
3356
3445
  """To delete Favorite"""
3357
3446
  deleteFavorite(routing: String!): Boolean!
3358
3447
 
@@ -3770,7 +3859,7 @@ type Mutation {
3770
3859
  singleUpload(file: Upload!): Attachment!
3771
3860
 
3772
3861
  """Starts a new scenario instance, which will run in the background."""
3773
- startScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstance!
3862
+ startScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceStartResult!
3774
3863
 
3775
3864
  """Starts the schedule for a specific scenario, if one is defined."""
3776
3865
  startScenarioSchedule(scenarioId: String!): Scenario!
@@ -3836,7 +3925,7 @@ type Mutation {
3836
3925
  updateBuildingComplex(id: String!, patch: BuildingComplexPatch!): BuildingComplex!
3837
3926
 
3838
3927
  """To update Building Inspection information"""
3839
- updateBuildingInspection(patch: UpdateBuildingInspectionDrawingMarker!): BuildingInspection!
3928
+ updateBuildingInspection(patch: UpdateBuildingInspection!): BuildingInspection!
3840
3929
 
3841
3930
  """To create Building Inspection And Checklist information"""
3842
3931
  updateBuildingInspectionChecklist(buildingInspection: UpdateBuildingInspectionSubmitType!): Boolean!
@@ -3879,6 +3968,9 @@ type Mutation {
3879
3968
  """To modify EntityColumn information"""
3880
3969
  updateEntityColumn(id: String!, patch: EntityColumnPatch!): EntityColumn!
3881
3970
 
3971
+ """To modify EnvVar information"""
3972
+ updateEnvVar(envVar: EnvVarPatch!, id: String!): EnvVar!
3973
+
3882
3974
  """To modify Font information"""
3883
3975
  updateFont(id: String!, patch: FontPatch!): Font!
3884
3976
 
@@ -3971,6 +4063,9 @@ type Mutation {
3971
4063
  """To modify multiple Entitys' information"""
3972
4064
  updateMultipleEntityColumn(patches: [EntityColumnPatch!]!): [EntityColumn!]!
3973
4065
 
4066
+ """To modify multiple EnvVars' information"""
4067
+ updateMultipleEnvVars(patches: [EnvVarPatch!]!): [EnvVar!]!
4068
+
3974
4069
  """To modify multiple InspectionDrawingTypes' information"""
3975
4070
  updateMultipleInspectionDrawingType(patches: [InspectionDrawingTypePatch!]!): [InspectionDrawingType!]!
3976
4071
 
@@ -4359,6 +4454,9 @@ input NewCommonCodeDetail {
4359
4454
 
4360
4455
  """Input for creating a new connection."""
4361
4456
  input NewConnection {
4457
+ """Whether to automatically connect when the application starts"""
4458
+ active: Boolean
4459
+
4362
4460
  """A detailed description for the new connection."""
4363
4461
  description: String
4364
4462
 
@@ -4371,6 +4469,11 @@ input NewConnection {
4371
4469
  """The name for the new connection."""
4372
4470
  name: String!
4373
4471
 
4472
+ """
4473
+ When true, connection is created on-demand when needed and cleaned up after use.
4474
+ """
4475
+ onDemand: Boolean
4476
+
4374
4477
  """A key-value map of parameters for the new connection."""
4375
4478
  params: Object
4376
4479
 
@@ -4494,6 +4597,21 @@ input NewEntityColumn {
4494
4597
  virtualField: Boolean
4495
4598
  }
4496
4599
 
4600
+ """Input type for creating a new environment variable."""
4601
+ input NewEnvVar {
4602
+ """Indicates whether this environment variable is active."""
4603
+ active: Boolean
4604
+
4605
+ """A detailed description for the new environment variable."""
4606
+ description: String
4607
+
4608
+ """The name for the new environment variable."""
4609
+ name: String!
4610
+
4611
+ """The value for the new environment variable."""
4612
+ value: String
4613
+ }
4614
+
4497
4615
  input NewFavorite {
4498
4616
  routing: String!
4499
4617
  }
@@ -4826,6 +4944,9 @@ input NewScenario {
4826
4944
  """A detailed description for the new scenario."""
4827
4945
  description: String
4828
4946
 
4947
+ """Iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN."""
4948
+ iteration: String
4949
+
4829
4950
  """The name of the new scenario."""
4830
4951
  name: String!
4831
4952
 
@@ -5875,8 +5996,15 @@ type PropertySpec {
5875
5996
  """CSS styles to be applied to the input field."""
5876
5997
  styles: Object
5877
5998
 
5878
- """The data type of the property (e.g., text, number, boolean, select)."""
5999
+ """
6000
+ The data type of the property (e.g., text, number, boolean, select, password).
6001
+ """
5879
6002
  type: String!
6003
+
6004
+ """
6005
+ Whether this property should use Domain attributes for secure storage instead of direct params.
6006
+ """
6007
+ useDomainAttribute: Boolean
5880
6008
  }
5881
6009
 
5882
6010
  type Query {
@@ -6573,6 +6701,20 @@ type Query {
6573
6701
 
6574
6702
  """To fetch a EntityMetadata"""
6575
6703
  entityMetadata(name: String!): EntityMetadata!
6704
+ envVar(id: String!): EnvVar
6705
+ envVars(
6706
+ """An array of filter conditions to apply to the list query."""
6707
+ filters: [Filter!]
6708
+
6709
+ """Inherited value type for the list query."""
6710
+ inherited: InheritedValueType
6711
+
6712
+ """Pagination options for the list query."""
6713
+ pagination: Pagination
6714
+
6715
+ """Sorting options for the list query."""
6716
+ sortings: [Sorting!]
6717
+ ): EnvVarList!
6576
6718
 
6577
6719
  """To fetch a Favorite"""
6578
6720
  favorite(id: String!): Favorite!
@@ -7631,7 +7773,7 @@ type RoomFinishDetail {
7631
7773
  """Represents a sequence of steps designed to automate a task or process."""
7632
7774
  type Scenario {
7633
7775
  """
7634
- Indicates if the scenario should be automatically started when the server starts. [will be deprecated]
7776
+ Indicates if the scenario should be automatically started when the server starts.
7635
7777
  """
7636
7778
  active: Boolean
7637
7779
  connectionNames: [Connection!]!
@@ -7652,6 +7794,9 @@ type Scenario {
7652
7794
  id: ID!
7653
7795
  instances: [ScenarioInstance!]
7654
7796
 
7797
+ """Iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN."""
7798
+ iteration: String
7799
+
7655
7800
  """The name of the scenario."""
7656
7801
  name: String!
7657
7802
 
@@ -7781,6 +7926,18 @@ type ScenarioInstanceRunResult {
7781
7926
  variables: Object
7782
7927
  }
7783
7928
 
7929
+ """Contains the final result of a completed scenario instance start."""
7930
+ type ScenarioInstanceStartResult {
7931
+ """A final message from the run (e.g., success or failure reason)."""
7932
+ message: String
7933
+
7934
+ """The final state of the instance after the run."""
7935
+ state: String
7936
+
7937
+ """The timestamp when the instance started."""
7938
+ timestamp: DateTimeISO
7939
+ }
7940
+
7784
7941
  """
7785
7942
  Represents the complete state of a scenario instance at a point in time.
7786
7943
  """
@@ -7833,7 +7990,9 @@ type ScenarioList {
7833
7990
 
7834
7991
  """Input for updating (patching) an existing scenario."""
7835
7992
  input ScenarioPatch {
7836
- """The new active status for the scenario."""
7993
+ """
7994
+ Indicates if the scenario should be automatically started when the server starts.
7995
+ """
7837
7996
  active: Boolean
7838
7997
 
7839
7998
  """
@@ -7847,6 +8006,11 @@ input ScenarioPatch {
7847
8006
  """The unique identifier of the scenario to update."""
7848
8007
  id: ID
7849
8008
 
8009
+ """
8010
+ The new iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN.
8011
+ """
8012
+ iteration: String
8013
+
7850
8014
  """The new name for the scenario."""
7851
8015
  name: String
7852
8016
 
@@ -8474,15 +8638,17 @@ input ThemePatch {
8474
8638
  value: Object
8475
8639
  }
8476
8640
 
8477
- input UpdateBuildingInspectionDrawingMarker {
8641
+ input UpdateBuildingInspection {
8478
8642
  drawingMarker: String
8479
8643
  id: String!
8644
+ memo: String
8480
8645
  }
8481
8646
 
8482
8647
  input UpdateBuildingInspectionSubmitType {
8483
8648
  checklist: ChecklistSubmitInputType!
8484
8649
  checklistItem: [ChecklistItemSubmitInputType!]!
8485
8650
  id: String!
8651
+ memo: String
8486
8652
  }
8487
8653
 
8488
8654
  input UpdateTaskChecklistSubmitType {