@epilot/app-client 0.12.3 → 0.12.5
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.
- package/dist/definition.js +1 -1
- package/dist/openapi.d.ts +106 -0
- package/dist/openapi.json +154 -6
- package/package.json +2 -2
package/dist/definition.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={330(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var p=n(t(466));r.default=p.default},466
|
|
1
|
+
(()=>{"use strict";var e={330:function(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var p=n(t(466));r.default=p.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/app/{appId}/components/{componentId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"},{"name":"componentId","in":"path","required":true,"description":"ID of the component to retrieve"}],"get":{"operationId":"getPublicFacingComponent","responses":{}}},"/v1/app-configurations":{"get":{"operationId":"listConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}},"post":{"operationId":"createConfiguration","requestBody":{"$ref":"#/components/requestBodies/CreateConfigRequest"},"responses":{}}},"/v1/app-configurations/public":{"get":{"operationId":"listPublicConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/public/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"}],"get":{"operationId":"getPublicConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}},"patch":{"operationId":"patchMetadata","requestBody":{"$ref":"#/components/requestBodies/PatchConfigMetadataRequest"},"responses":{}},"delete":{"operationId":"deleteConfiguration","responses":{}}},"/v1/app-configurations/{appId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/bundle":{"post":{"operationId":"createBundleUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateBundlePresignedRequest"},"responses":{}}},"/v1/app-configurations/{appId}/zip":{"post":{"operationId":"createZipUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/logo":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"post":{"operationId":"createLogoUploadUrl","requestBody":{"$ref":"#/components/requestBodies/CreateLogoPresignedRequest"},"responses":{}},"delete":{"operationId":"deleteLogo","responses":{}}},"/v1/app-configurations/{appId}/versions":{"get":{"operationId":"listVersions","parameters":[{"name":"appId","in":"path","required":true},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"patch":{"operationId":"patchVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/PatchVersionRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/review":{"get":{"operationId":"getReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"post":{"operationId":"createReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateReviewRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components":{"post":{"operationId":"createComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components/{componentId}":{"patch":{"operationId":"patchComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}},"delete":{"operationId":"deleteComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstallations","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstallation","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"post":{"operationId":"install","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"patch":{"operationId":"patchInstallation","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"delete":{"operationId":"uninstall","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-events":{"post":{"operationId":"ingestEvent","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/public/app/{appId}/proxy/{proxyName}/{path}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the installed app"},{"name":"proxyName","in":"path","required":true,"description":"Name of the proxy target as defined in the app manifest"},{"name":"path","in":"path","required":true,"description":"Path to forward to the proxy target"}],"get":{"operationId":"publicProxyGet","responses":{}},"post":{"operationId":"publicProxyPost","requestBody":{"content":{"application/json":{}}},"responses":{}}}},"components":{"requestBodies":{"CreateReviewRequest":{"required":true,"content":{"application/json":{}}},"CreateLogoPresignedRequest":{"required":true,"content":{"application/json":{}}},"CreateBundlePresignedRequest":{"required":true,"content":{"application/json":{}}},"PatchConfigMetadataRequest":{"required":true,"content":{"application/json":{}}},"PatchVersionRequest":{"required":true,"content":{"application/json":{}}},"UpsertComponentRequest":{"required":true,"content":{"application/json":{}}},"CreateConfigRequest":{"required":true,"content":{"application/json":{}}},"InstallRequest":{"content":{"application/json":{}}}}}}')}},r={},t=function t(n){var p=r[n];if(void 0!==p)return p.exports;var o=r[n]={exports:{}};return e[n].call(o.exports,o,o.exports,t),o.exports}(330),n=exports;for(var p in t)n[p]=t[p];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
|
package/dist/openapi.d.ts
CHANGED
|
@@ -1497,6 +1497,11 @@ declare namespace Components {
|
|
|
1497
1497
|
*
|
|
1498
1498
|
*/
|
|
1499
1499
|
PortalExtensionHookConsumptionDataRetrieval | /**
|
|
1500
|
+
* Generic data export hook. When configured on blocks that support it, the portal delegates the export action (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the file itself. Can be used by any block that supports export — consumption charts, dynamic tariff charts, etc. The expected response to the call is:
|
|
1501
|
+
* - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)
|
|
1502
|
+
*
|
|
1503
|
+
*/
|
|
1504
|
+
PortalExtensionHookDataExport | /**
|
|
1500
1505
|
* Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
|
|
1501
1506
|
* - 200 with the time series data
|
|
1502
1507
|
*
|
|
@@ -1540,6 +1545,16 @@ declare namespace Components {
|
|
|
1540
1545
|
};
|
|
1541
1546
|
}[];
|
|
1542
1547
|
}
|
|
1548
|
+
/**
|
|
1549
|
+
* An aggregation method advertised by a consumption data retrieval hook.
|
|
1550
|
+
*/
|
|
1551
|
+
export interface PortalExtensionHookConsumptionAggregationMethodOption {
|
|
1552
|
+
/**
|
|
1553
|
+
* Identifier of the option. Matches the `aggregation_method` value returned by the hook.
|
|
1554
|
+
*/
|
|
1555
|
+
id: "sum" | "average" | "min" | "max";
|
|
1556
|
+
label: TranslatedString;
|
|
1557
|
+
}
|
|
1543
1558
|
/**
|
|
1544
1559
|
* Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
|
|
1545
1560
|
* - 200 with the time series data
|
|
@@ -1556,6 +1571,16 @@ declare namespace Components {
|
|
|
1556
1571
|
* Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
|
|
1557
1572
|
*/
|
|
1558
1573
|
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
|
|
1574
|
+
/**
|
|
1575
|
+
* Consumption types advertised by the hook (e.g. `ht`/`nt`, `feed-in`/`feed-out`). The `id` has to match the `type` field returned in the consumption response.
|
|
1576
|
+
*
|
|
1577
|
+
*/
|
|
1578
|
+
type_options?: /* A consumption type advertised by a consumption data retrieval hook. */ PortalExtensionHookConsumptionOption[];
|
|
1579
|
+
/**
|
|
1580
|
+
* Aggregation methods advertised by the hook (e.g. `sum`, `average`, `min`, `max`). The `id` has to match the `aggregation_method` field returned in the consumption response.
|
|
1581
|
+
*
|
|
1582
|
+
*/
|
|
1583
|
+
aggregation_method_options?: /* An aggregation method advertised by a consumption data retrieval hook. */ PortalExtensionHookConsumptionAggregationMethodOption[];
|
|
1559
1584
|
auth?: PortalExtensionAuthBlock;
|
|
1560
1585
|
call: {
|
|
1561
1586
|
/**
|
|
@@ -1592,11 +1617,30 @@ declare namespace Components {
|
|
|
1592
1617
|
dataPath?: string;
|
|
1593
1618
|
};
|
|
1594
1619
|
/**
|
|
1620
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1595
1621
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1622
|
+
*
|
|
1596
1623
|
*/
|
|
1597
1624
|
use_static_ips?: boolean;
|
|
1598
1625
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
1599
1626
|
}
|
|
1627
|
+
/**
|
|
1628
|
+
* A consumption type advertised by a consumption data retrieval hook.
|
|
1629
|
+
*/
|
|
1630
|
+
export interface PortalExtensionHookConsumptionOption {
|
|
1631
|
+
/**
|
|
1632
|
+
* Identifier of the option. Matches the `type` value returned by the hook (e.g. `ht`, `nt`, `feed-in`).
|
|
1633
|
+
*/
|
|
1634
|
+
id: string;
|
|
1635
|
+
label: TranslatedString;
|
|
1636
|
+
/**
|
|
1637
|
+
* Optional grouping key. Types sharing the same aggregation_group are interpreted as values that can be aggregated (e.g. ht/nt shown as a stacked bar chart - summed into total consumption per interval). Types in different groups — or types without a group — are not (e.g. feed-in vs feed-out shown as separate bars).
|
|
1638
|
+
*
|
|
1639
|
+
* example:
|
|
1640
|
+
* consumption
|
|
1641
|
+
*/
|
|
1642
|
+
aggregation_group?: string;
|
|
1643
|
+
}
|
|
1600
1644
|
/**
|
|
1601
1645
|
* Hook that replaces the built-in Contract identification for self-assignment. This hook involves an HTTP request whenever a user is trying to self-assign Contract(s).
|
|
1602
1646
|
* The expected response http status code to the call is:
|
|
@@ -1674,7 +1718,9 @@ declare namespace Components {
|
|
|
1674
1718
|
en: string;
|
|
1675
1719
|
};
|
|
1676
1720
|
/**
|
|
1721
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1677
1722
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1723
|
+
*
|
|
1678
1724
|
*/
|
|
1679
1725
|
use_static_ips?: boolean;
|
|
1680
1726
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1731,7 +1777,58 @@ declare namespace Components {
|
|
|
1731
1777
|
dataPath?: string;
|
|
1732
1778
|
};
|
|
1733
1779
|
/**
|
|
1780
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1734
1781
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1782
|
+
*
|
|
1783
|
+
*/
|
|
1784
|
+
use_static_ips?: boolean;
|
|
1785
|
+
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
1786
|
+
}
|
|
1787
|
+
/**
|
|
1788
|
+
* Generic data export hook. When configured on blocks that support it, the portal delegates the export action (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the file itself. Can be used by any block that supports export — consumption charts, dynamic tariff charts, etc. The expected response to the call is:
|
|
1789
|
+
* - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)
|
|
1790
|
+
*
|
|
1791
|
+
*/
|
|
1792
|
+
export interface PortalExtensionHookDataExport {
|
|
1793
|
+
/**
|
|
1794
|
+
* Identifier of the hook. Should not change between updates.
|
|
1795
|
+
*/
|
|
1796
|
+
id: string; // ^[a-zA-Z0-9_-]+$
|
|
1797
|
+
name?: TranslatedString;
|
|
1798
|
+
type: "dataExport";
|
|
1799
|
+
auth?: PortalExtensionAuthBlock;
|
|
1800
|
+
call: {
|
|
1801
|
+
/**
|
|
1802
|
+
* HTTP method to use for the call
|
|
1803
|
+
*/
|
|
1804
|
+
method?: string;
|
|
1805
|
+
/**
|
|
1806
|
+
* URL to call. Supports variable interpolation.
|
|
1807
|
+
*/
|
|
1808
|
+
url: string;
|
|
1809
|
+
/**
|
|
1810
|
+
* Parameters to append to the URL. Supports variable interpolation.
|
|
1811
|
+
*/
|
|
1812
|
+
params?: {
|
|
1813
|
+
[name: string]: string;
|
|
1814
|
+
};
|
|
1815
|
+
/**
|
|
1816
|
+
* Headers to use. Supports variable interpolation.
|
|
1817
|
+
*/
|
|
1818
|
+
headers?: {
|
|
1819
|
+
[name: string]: string;
|
|
1820
|
+
};
|
|
1821
|
+
/**
|
|
1822
|
+
* Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
|
|
1823
|
+
*/
|
|
1824
|
+
body?: {
|
|
1825
|
+
[name: string]: any;
|
|
1826
|
+
};
|
|
1827
|
+
};
|
|
1828
|
+
/**
|
|
1829
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1830
|
+
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1831
|
+
*
|
|
1735
1832
|
*/
|
|
1736
1833
|
use_static_ips?: boolean;
|
|
1737
1834
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1825,7 +1922,9 @@ declare namespace Components {
|
|
|
1825
1922
|
lower_limit?: string;
|
|
1826
1923
|
};
|
|
1827
1924
|
/**
|
|
1925
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1828
1926
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1927
|
+
*
|
|
1829
1928
|
*/
|
|
1830
1929
|
use_static_ips?: boolean;
|
|
1831
1930
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1882,7 +1981,9 @@ declare namespace Components {
|
|
|
1882
1981
|
dataPath?: string;
|
|
1883
1982
|
};
|
|
1884
1983
|
/**
|
|
1984
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1885
1985
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
1986
|
+
*
|
|
1886
1987
|
*/
|
|
1887
1988
|
use_static_ips?: boolean;
|
|
1888
1989
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -1934,7 +2035,9 @@ declare namespace Components {
|
|
|
1934
2035
|
result: string;
|
|
1935
2036
|
};
|
|
1936
2037
|
/**
|
|
2038
|
+
* Deprecated. Prefer `secure_proxy` instead.
|
|
1937
2039
|
* If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
|
|
2040
|
+
*
|
|
1938
2041
|
*/
|
|
1939
2042
|
use_static_ips?: boolean;
|
|
1940
2043
|
secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
|
|
@@ -3508,9 +3611,12 @@ export type PortalBlockSurfaceConfig = Components.Schemas.PortalBlockSurfaceConf
|
|
|
3508
3611
|
export type PortalExtensionAuthBlock = Components.Schemas.PortalExtensionAuthBlock;
|
|
3509
3612
|
export type PortalExtensionComponent = Components.Schemas.PortalExtensionComponent;
|
|
3510
3613
|
export type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
|
|
3614
|
+
export type PortalExtensionHookConsumptionAggregationMethodOption = Components.Schemas.PortalExtensionHookConsumptionAggregationMethodOption;
|
|
3511
3615
|
export type PortalExtensionHookConsumptionDataRetrieval = Components.Schemas.PortalExtensionHookConsumptionDataRetrieval;
|
|
3616
|
+
export type PortalExtensionHookConsumptionOption = Components.Schemas.PortalExtensionHookConsumptionOption;
|
|
3512
3617
|
export type PortalExtensionHookContractIdentification = Components.Schemas.PortalExtensionHookContractIdentification;
|
|
3513
3618
|
export type PortalExtensionHookCostDataRetrieval = Components.Schemas.PortalExtensionHookCostDataRetrieval;
|
|
3619
|
+
export type PortalExtensionHookDataExport = Components.Schemas.PortalExtensionHookDataExport;
|
|
3514
3620
|
export type PortalExtensionHookMeterReadingPlausibilityCheck = Components.Schemas.PortalExtensionHookMeterReadingPlausibilityCheck;
|
|
3515
3621
|
export type PortalExtensionHookPriceDataRetrieval = Components.Schemas.PortalExtensionHookPriceDataRetrieval;
|
|
3516
3622
|
export type PortalExtensionHookRegistrationIdentifiersCheck = Components.Schemas.PortalExtensionHookRegistrationIdentifiersCheck;
|
package/dist/openapi.json
CHANGED
|
@@ -2609,6 +2609,7 @@
|
|
|
2609
2609
|
"contractIdentification": "#/components/schemas/PortalExtensionHookContractIdentification",
|
|
2610
2610
|
"priceDataRetrieval": "#/components/schemas/PortalExtensionHookPriceDataRetrieval",
|
|
2611
2611
|
"consumptionDataRetrieval": "#/components/schemas/PortalExtensionHookConsumptionDataRetrieval",
|
|
2612
|
+
"dataExport": "#/components/schemas/PortalExtensionHookDataExport",
|
|
2612
2613
|
"costDataRetrieval": "#/components/schemas/PortalExtensionHookCostDataRetrieval",
|
|
2613
2614
|
"meterReadingPlausibilityCheck": "#/components/schemas/PortalExtensionHookMeterReadingPlausibilityCheck"
|
|
2614
2615
|
}
|
|
@@ -2626,6 +2627,9 @@
|
|
|
2626
2627
|
{
|
|
2627
2628
|
"$ref": "#/components/schemas/PortalExtensionHookConsumptionDataRetrieval"
|
|
2628
2629
|
},
|
|
2630
|
+
{
|
|
2631
|
+
"$ref": "#/components/schemas/PortalExtensionHookDataExport"
|
|
2632
|
+
},
|
|
2629
2633
|
{
|
|
2630
2634
|
"$ref": "#/components/schemas/PortalExtensionHookCostDataRetrieval"
|
|
2631
2635
|
},
|
|
@@ -2715,7 +2719,8 @@
|
|
|
2715
2719
|
},
|
|
2716
2720
|
"use_static_ips": {
|
|
2717
2721
|
"type": "boolean",
|
|
2718
|
-
"
|
|
2722
|
+
"deprecated": true,
|
|
2723
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2719
2724
|
"default": false
|
|
2720
2725
|
},
|
|
2721
2726
|
"secure_proxy": {
|
|
@@ -2828,7 +2833,8 @@
|
|
|
2828
2833
|
},
|
|
2829
2834
|
"use_static_ips": {
|
|
2830
2835
|
"type": "boolean",
|
|
2831
|
-
"
|
|
2836
|
+
"deprecated": true,
|
|
2837
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2832
2838
|
"default": false
|
|
2833
2839
|
},
|
|
2834
2840
|
"secure_proxy": {
|
|
@@ -2939,7 +2945,8 @@
|
|
|
2939
2945
|
},
|
|
2940
2946
|
"use_static_ips": {
|
|
2941
2947
|
"type": "boolean",
|
|
2942
|
-
"
|
|
2948
|
+
"deprecated": true,
|
|
2949
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
2943
2950
|
"default": false
|
|
2944
2951
|
},
|
|
2945
2952
|
"secure_proxy": {
|
|
@@ -3039,7 +3046,8 @@
|
|
|
3039
3046
|
},
|
|
3040
3047
|
"use_static_ips": {
|
|
3041
3048
|
"type": "boolean",
|
|
3042
|
-
"
|
|
3049
|
+
"deprecated": true,
|
|
3050
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3043
3051
|
"default": false
|
|
3044
3052
|
},
|
|
3045
3053
|
"secure_proxy": {
|
|
@@ -3084,6 +3092,20 @@
|
|
|
3084
3092
|
]
|
|
3085
3093
|
}
|
|
3086
3094
|
},
|
|
3095
|
+
"type_options": {
|
|
3096
|
+
"type": "array",
|
|
3097
|
+
"description": "Consumption types advertised by the hook (e.g. `ht`/`nt`, `feed-in`/`feed-out`). The `id` has to match the `type` field returned in the consumption response.\n",
|
|
3098
|
+
"items": {
|
|
3099
|
+
"$ref": "#/components/schemas/PortalExtensionHookConsumptionOption"
|
|
3100
|
+
}
|
|
3101
|
+
},
|
|
3102
|
+
"aggregation_method_options": {
|
|
3103
|
+
"type": "array",
|
|
3104
|
+
"description": "Aggregation methods advertised by the hook (e.g. `sum`, `average`, `min`, `max`). The `id` has to match the `aggregation_method` field returned in the consumption response.\n",
|
|
3105
|
+
"items": {
|
|
3106
|
+
"$ref": "#/components/schemas/PortalExtensionHookConsumptionAggregationMethodOption"
|
|
3107
|
+
}
|
|
3108
|
+
},
|
|
3087
3109
|
"auth": {
|
|
3088
3110
|
"$ref": "#/components/schemas/PortalExtensionAuthBlock"
|
|
3089
3111
|
},
|
|
@@ -3138,7 +3160,8 @@
|
|
|
3138
3160
|
},
|
|
3139
3161
|
"use_static_ips": {
|
|
3140
3162
|
"type": "boolean",
|
|
3141
|
-
"
|
|
3163
|
+
"deprecated": true,
|
|
3164
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3142
3165
|
"default": false
|
|
3143
3166
|
},
|
|
3144
3167
|
"secure_proxy": {
|
|
@@ -3152,6 +3175,130 @@
|
|
|
3152
3175
|
],
|
|
3153
3176
|
"additionalProperties": false
|
|
3154
3177
|
},
|
|
3178
|
+
"PortalExtensionHookDataExport": {
|
|
3179
|
+
"description": "Generic data export hook. When configured on blocks that support it, the portal delegates the export action (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the file itself. Can be used by any block that supports export — consumption charts, dynamic tariff charts, etc. The expected response to the call is:\n - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)\n",
|
|
3180
|
+
"type": "object",
|
|
3181
|
+
"properties": {
|
|
3182
|
+
"id": {
|
|
3183
|
+
"type": "string",
|
|
3184
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
3185
|
+
"description": "Identifier of the hook. Should not change between updates."
|
|
3186
|
+
},
|
|
3187
|
+
"name": {
|
|
3188
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
3189
|
+
},
|
|
3190
|
+
"type": {
|
|
3191
|
+
"type": "string",
|
|
3192
|
+
"enum": [
|
|
3193
|
+
"dataExport"
|
|
3194
|
+
]
|
|
3195
|
+
},
|
|
3196
|
+
"auth": {
|
|
3197
|
+
"$ref": "#/components/schemas/PortalExtensionAuthBlock"
|
|
3198
|
+
},
|
|
3199
|
+
"call": {
|
|
3200
|
+
"type": "object",
|
|
3201
|
+
"properties": {
|
|
3202
|
+
"method": {
|
|
3203
|
+
"type": "string",
|
|
3204
|
+
"description": "HTTP method to use for the call",
|
|
3205
|
+
"default": "GET"
|
|
3206
|
+
},
|
|
3207
|
+
"url": {
|
|
3208
|
+
"type": "string",
|
|
3209
|
+
"description": "URL to call. Supports variable interpolation."
|
|
3210
|
+
},
|
|
3211
|
+
"params": {
|
|
3212
|
+
"type": "object",
|
|
3213
|
+
"description": "Parameters to append to the URL. Supports variable interpolation.",
|
|
3214
|
+
"additionalProperties": {
|
|
3215
|
+
"type": "string"
|
|
3216
|
+
},
|
|
3217
|
+
"default": {}
|
|
3218
|
+
},
|
|
3219
|
+
"headers": {
|
|
3220
|
+
"type": "object",
|
|
3221
|
+
"description": "Headers to use. Supports variable interpolation.",
|
|
3222
|
+
"additionalProperties": {
|
|
3223
|
+
"type": "string"
|
|
3224
|
+
},
|
|
3225
|
+
"default": {}
|
|
3226
|
+
},
|
|
3227
|
+
"body": {
|
|
3228
|
+
"type": "object",
|
|
3229
|
+
"description": "Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.",
|
|
3230
|
+
"additionalProperties": true
|
|
3231
|
+
}
|
|
3232
|
+
},
|
|
3233
|
+
"required": [
|
|
3234
|
+
"url"
|
|
3235
|
+
],
|
|
3236
|
+
"additionalProperties": false
|
|
3237
|
+
},
|
|
3238
|
+
"use_static_ips": {
|
|
3239
|
+
"type": "boolean",
|
|
3240
|
+
"deprecated": true,
|
|
3241
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3242
|
+
"default": false
|
|
3243
|
+
},
|
|
3244
|
+
"secure_proxy": {
|
|
3245
|
+
"$ref": "#/components/schemas/PortalExtensionSecureProxy"
|
|
3246
|
+
}
|
|
3247
|
+
},
|
|
3248
|
+
"required": [
|
|
3249
|
+
"id",
|
|
3250
|
+
"type",
|
|
3251
|
+
"call"
|
|
3252
|
+
],
|
|
3253
|
+
"additionalProperties": false
|
|
3254
|
+
},
|
|
3255
|
+
"PortalExtensionHookConsumptionOption": {
|
|
3256
|
+
"type": "object",
|
|
3257
|
+
"description": "A consumption type advertised by a consumption data retrieval hook.",
|
|
3258
|
+
"properties": {
|
|
3259
|
+
"id": {
|
|
3260
|
+
"type": "string",
|
|
3261
|
+
"description": "Identifier of the option. Matches the `type` value returned by the hook (e.g. `ht`, `nt`, `feed-in`)."
|
|
3262
|
+
},
|
|
3263
|
+
"label": {
|
|
3264
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
3265
|
+
},
|
|
3266
|
+
"aggregation_group": {
|
|
3267
|
+
"type": "string",
|
|
3268
|
+
"description": "Optional grouping key. Types sharing the same aggregation_group are interpreted as values that can be aggregated (e.g. ht/nt shown as a stacked bar chart - summed into total consumption per interval). Types in different groups — or types without a group — are not (e.g. feed-in vs feed-out shown as separate bars).\n",
|
|
3269
|
+
"example": "consumption"
|
|
3270
|
+
}
|
|
3271
|
+
},
|
|
3272
|
+
"required": [
|
|
3273
|
+
"id",
|
|
3274
|
+
"label"
|
|
3275
|
+
],
|
|
3276
|
+
"additionalProperties": false
|
|
3277
|
+
},
|
|
3278
|
+
"PortalExtensionHookConsumptionAggregationMethodOption": {
|
|
3279
|
+
"type": "object",
|
|
3280
|
+
"description": "An aggregation method advertised by a consumption data retrieval hook.",
|
|
3281
|
+
"properties": {
|
|
3282
|
+
"id": {
|
|
3283
|
+
"type": "string",
|
|
3284
|
+
"enum": [
|
|
3285
|
+
"sum",
|
|
3286
|
+
"average",
|
|
3287
|
+
"min",
|
|
3288
|
+
"max"
|
|
3289
|
+
],
|
|
3290
|
+
"description": "Identifier of the option. Matches the `aggregation_method` value returned by the hook."
|
|
3291
|
+
},
|
|
3292
|
+
"label": {
|
|
3293
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
3294
|
+
}
|
|
3295
|
+
},
|
|
3296
|
+
"required": [
|
|
3297
|
+
"id",
|
|
3298
|
+
"label"
|
|
3299
|
+
],
|
|
3300
|
+
"additionalProperties": false
|
|
3301
|
+
},
|
|
3155
3302
|
"PortalExtensionHookCostDataRetrieval": {
|
|
3156
3303
|
"description": "Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:\n - 200 with the time series data\n",
|
|
3157
3304
|
"type": "object",
|
|
@@ -3237,7 +3384,8 @@
|
|
|
3237
3384
|
},
|
|
3238
3385
|
"use_static_ips": {
|
|
3239
3386
|
"type": "boolean",
|
|
3240
|
-
"
|
|
3387
|
+
"deprecated": true,
|
|
3388
|
+
"description": "Deprecated. Prefer `secure_proxy` instead.\nIf true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.\n",
|
|
3241
3389
|
"default": false
|
|
3242
3390
|
},
|
|
3243
3391
|
"secure_proxy": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epilot/app-client",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.5",
|
|
4
4
|
"description": "JavaScript client library for the epilot App API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test": "vitest",
|
|
26
26
|
"typescript": "tsc",
|
|
27
27
|
"bundle-definition": "webpack",
|
|
28
|
-
"openapi:local": "node ../../scripts/update-openapi.js
|
|
28
|
+
"openapi:local": "node ../../scripts/update-openapi.js ../../../app-api/openapi.yml",
|
|
29
29
|
"openapi": "node ../../scripts/update-openapi.js https://docs.api.epilot.io/app.yaml",
|
|
30
30
|
"typegen": "openapi typegen src/openapi.json --client > src/openapi.d.ts",
|
|
31
31
|
"build": "tsc && npm run build:patch && npm run bundle-definition",
|