iobroker.teslafi 0.4.0 → 0.4.2
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/README.md +39 -27
- package/admin/i18n/de/translations.json +7 -0
- package/admin/i18n/en/translations.json +7 -0
- package/admin/i18n/es/translations.json +7 -0
- package/admin/i18n/fr/translations.json +7 -0
- package/admin/i18n/it/translations.json +7 -0
- package/admin/i18n/nl/translations.json +7 -0
- package/admin/i18n/pl/translations.json +7 -0
- package/admin/i18n/pt/translations.json +7 -0
- package/admin/i18n/ru/translations.json +7 -0
- package/admin/i18n/uk/translations.json +7 -0
- package/admin/i18n/zh-cn/translations.json +7 -0
- package/admin/jsonConfig.json +7 -66
- package/build/lib/projectUtils.js +24 -22
- package/build/lib/projectUtils.js.map +1 -1
- package/build/lib/teslafiAPICaller.js +209 -92
- package/build/lib/teslafiAPICaller.js.map +1 -1
- package/build/main.js +33 -36
- package/build/main.js.map +1 -1
- package/io-package.json +219 -206
- package/package.json +78 -85
package/README.md
CHANGED
|
@@ -45,65 +45,77 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
|
|
|
45
45
|
|
|
46
46
|
## Changelog
|
|
47
47
|
|
|
48
|
+
### 0.4.2 (2024-12-06)
|
|
49
|
+
|
|
50
|
+
- (hombach) intruduce i18n for translations (#41)
|
|
51
|
+
|
|
52
|
+
### 0.4.1 (2024-11-28)
|
|
53
|
+
|
|
54
|
+
- (hombach) intruduce 'iobroker/eslint-config' (#67)
|
|
55
|
+
- (hombach) add axios timeout
|
|
56
|
+
- (hombach) optimized code stability
|
|
57
|
+
- (hombach) fix typo
|
|
58
|
+
- (hombach) remove message handler
|
|
59
|
+
|
|
48
60
|
### 0.4.0 (2024-11-10)
|
|
49
61
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
62
|
+
- (hombach) implement managed charging time (#29)
|
|
63
|
+
- (hombach) implement battery range
|
|
64
|
+
- (hombach) fixed errors in 'time to finish charge'
|
|
65
|
+
- (hombach) changed min update interval to 10 sec
|
|
66
|
+
- (hombach) fixed typos
|
|
55
67
|
|
|
56
68
|
### 0.3.0 (2024-11-08)
|
|
57
69
|
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
70
|
+
- (hombach) implement string for time to finish charge (#42)
|
|
71
|
+
- (hombach) reorganize data in folders (#43)
|
|
72
|
+
- (hombach) show 3rd row seat heater only if 3rd row is available (#40)
|
|
73
|
+
- (hombach) implement 'charging_state' (#37)
|
|
62
74
|
|
|
63
75
|
### 0.2.1 (2024-11-08)
|
|
64
76
|
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
77
|
+
- (hombach) change 'time_to_full_charge' type to number (#38)
|
|
78
|
+
- (hombach) total rework of vehicle data parser
|
|
79
|
+
- (hombach) set speed to 0 if null in API data (#39)
|
|
68
80
|
|
|
69
81
|
### 0.2.0 (2024-11-07)
|
|
70
82
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
83
|
+
- (hombach) implement raw data state (#26)
|
|
84
|
+
- (hombach) implement charger_phases (#28)
|
|
85
|
+
- (hombach) implement driver_temp_setting (#31)
|
|
86
|
+
- (hombach) implement seat and steeringwheel heater states (#30)
|
|
75
87
|
|
|
76
88
|
### 0.1.5 (2024-11-06)
|
|
77
89
|
|
|
78
|
-
-
|
|
79
|
-
-
|
|
90
|
+
- (hombach) harmonize project tools
|
|
91
|
+
- (hombach) removed doubled texts in state names
|
|
80
92
|
|
|
81
93
|
### 0.1.4 (2024-11-01)
|
|
82
94
|
|
|
83
|
-
-
|
|
95
|
+
- (hombach) fix conversion error
|
|
84
96
|
|
|
85
97
|
### 0.1.3 (2024-10-30)
|
|
86
98
|
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
99
|
+
- (hombach) fix typo in error text
|
|
100
|
+
- (hombach) optimize responsive design
|
|
101
|
+
- (hombach) bump dependencies
|
|
90
102
|
|
|
91
103
|
### 0.1.2 (2024-10-28)
|
|
92
104
|
|
|
93
|
-
-
|
|
94
|
-
-
|
|
105
|
+
- (hombach) introduce to ioBroker latest repo
|
|
106
|
+
- (hombach) bump dependencies
|
|
95
107
|
|
|
96
108
|
### 0.1.1 (2024-10-26)
|
|
97
109
|
|
|
98
|
-
-
|
|
110
|
+
- (hombach) fix npm error
|
|
99
111
|
|
|
100
112
|
### 0.1.0 (2024-10-26)
|
|
101
113
|
|
|
102
|
-
-
|
|
114
|
+
- (hombach) first working version
|
|
103
115
|
|
|
104
116
|
### 0.0.1 (2024-10-24)
|
|
105
117
|
|
|
106
|
-
-
|
|
118
|
+
- (hombach) initial release
|
|
107
119
|
|
|
108
120
|
## License
|
|
109
121
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Standardeinstellungen",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token für die TeslaFi-API",
|
|
4
|
+
"LBL_UpdateInterval": "Aktualisierungsintervall in Sekunden",
|
|
5
|
+
"LBL_helpLink": "Adapterdokumentation anzeigen",
|
|
6
|
+
"TXT_donateTx": "Wenn Ihnen dieses Projekt gefallen hat – oder Sie sich einfach großzügig fühlen, denken Sie darüber nach, mir ein Bier zu spendieren. Prost! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Standard Settings",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token for TeslaFi API",
|
|
4
|
+
"LBL_UpdateInterval": "Update interval in seconds",
|
|
5
|
+
"LBL_helpLink": "Show adapter documentation",
|
|
6
|
+
"TXT_donateTx": "If you enjoyed this project — or just feeling generous, consider buying me a beer. Cheers! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Configuración estándar",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token para la API de TeslaFi",
|
|
4
|
+
"LBL_UpdateInterval": "Intervalo de actualización en segundos",
|
|
5
|
+
"LBL_helpLink": "Mostrar documentación del adaptador",
|
|
6
|
+
"TXT_donateTx": "Si disfrutó este proyecto, o simplemente se siente generoso, considere invitarme a una cerveza. ¡Salud! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Paramètres standards",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Jeton pour l'API TeslaFi",
|
|
4
|
+
"LBL_UpdateInterval": "Intervalle de mise à jour en secondes",
|
|
5
|
+
"LBL_helpLink": "Afficher la documentation de l'adaptateur",
|
|
6
|
+
"TXT_donateTx": "Si vous avez apprécié ce projet – ou si vous vous sentez simplement généreux, pensez à m'acheter une bière. Acclamations! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Impostazioni standard",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token per l'API TeslaFi",
|
|
4
|
+
"LBL_UpdateInterval": "Intervallo di aggiornamento in secondi",
|
|
5
|
+
"LBL_helpLink": "Mostra la documentazione dell'adattatore",
|
|
6
|
+
"TXT_donateTx": "Se ti è piaciuto questo progetto o semplicemente ti senti generoso, valuta l'idea di comprarmi una birra. Saluti! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Standaardinstellingen",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token voor TeslaFi-API",
|
|
4
|
+
"LBL_UpdateInterval": "Update-interval in seconden",
|
|
5
|
+
"LBL_helpLink": "Adapterdocumentatie tonen",
|
|
6
|
+
"TXT_donateTx": "Als je van dit project hebt genoten – of je gewoon vrijgevig bent, overweeg dan om een biertje voor me te kopen. Proost! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Ustawienia standardowe",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token dla API TeslaFi",
|
|
4
|
+
"LBL_UpdateInterval": "Interwał aktualizacji w sekundach",
|
|
5
|
+
"LBL_helpLink": "Pokaż dokumentację adaptera",
|
|
6
|
+
"TXT_donateTx": "Jeśli spodobał Ci się ten projekt — lub po prostu czujesz się hojny, rozważ kupienie mi piwa. Dzięki! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Configurações padrão",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Token para API TeslaFi",
|
|
4
|
+
"LBL_UpdateInterval": "Intervalo de atualização em segundos",
|
|
5
|
+
"LBL_helpLink": "Mostrar documentação do adaptador",
|
|
6
|
+
"TXT_donateTx": "Se você gostou deste projeto - ou apenas se sente generoso, considere comprar uma cerveja para mim. Saúde! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Стандартные настройки",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Токен для TeslaFi API",
|
|
4
|
+
"LBL_UpdateInterval": "Интервал обновления в секундах",
|
|
5
|
+
"LBL_helpLink": "Показать документацию по адаптеру",
|
|
6
|
+
"TXT_donateTx": "Если вам понравился этот проект или вы просто чувствуете щедрость, подумайте о том, чтобы купить мне пива. Ваше здоровье! 🍻"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"LBL_StandardTab": "Стандартні налаштування",
|
|
3
|
+
"LBL_TeslaFiAPIToken": "Токен для TeslaFi API",
|
|
4
|
+
"LBL_UpdateInterval": "Інтервал оновлення в секундах",
|
|
5
|
+
"LBL_helpLink": "Показати документацію адаптера",
|
|
6
|
+
"TXT_donateTx": "Якщо вам сподобався цей проект — або ви просто відчуваєте щедрість, купіть мені пива. здоров'я! 🍻"
|
|
7
|
+
}
|
package/admin/jsonConfig.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"i18n": true,
|
|
2
3
|
"type": "tabs",
|
|
3
4
|
"tabsStyle": {
|
|
4
5
|
"width": "calc(100% - 100px)"
|
|
@@ -6,35 +7,11 @@
|
|
|
6
7
|
"items": {
|
|
7
8
|
"_StandardTab": {
|
|
8
9
|
"type": "panel",
|
|
9
|
-
"label":
|
|
10
|
-
"en": "Standard settings",
|
|
11
|
-
"de": "Standard-Einstellungen",
|
|
12
|
-
"ru": "Стандартные настройки",
|
|
13
|
-
"pt": "Configurações padrão",
|
|
14
|
-
"nl": "Standaardinstellingen",
|
|
15
|
-
"fr": "Paramètres standard",
|
|
16
|
-
"it": "Impostazioni predefinite",
|
|
17
|
-
"es": "Configuración estándar",
|
|
18
|
-
"pl": "Ustawienia standardowe",
|
|
19
|
-
"uk": "Стандартні налаштування",
|
|
20
|
-
"zh-cn": "标准设置"
|
|
21
|
-
},
|
|
10
|
+
"label": "LBL_StandardTab",
|
|
22
11
|
"items": {
|
|
23
12
|
"TeslaFiAPIToken": {
|
|
24
13
|
"type": "text",
|
|
25
|
-
"label":
|
|
26
|
-
"en": "Token for TeslaFi API",
|
|
27
|
-
"de": "Token für TeslaFi API",
|
|
28
|
-
"ru": "Токен для TeslaFi API",
|
|
29
|
-
"pt": "Token para a API TeslaFi",
|
|
30
|
-
"nl": "Token voor TeslaFi API",
|
|
31
|
-
"fr": "Token pour l'API TeslaFi",
|
|
32
|
-
"it": "Token per l'API di TeslaFi",
|
|
33
|
-
"es": "Token para la API de TeslaFi",
|
|
34
|
-
"pl": "Token do API TeslaFi",
|
|
35
|
-
"uk": "Токен для API TeslaFi",
|
|
36
|
-
"zh-cn": "TeslaFi API 的令牌"
|
|
37
|
-
},
|
|
14
|
+
"label": "LBL_TeslaFiAPIToken",
|
|
38
15
|
"maxLength": 100,
|
|
39
16
|
"xs": 12,
|
|
40
17
|
"sm": 12,
|
|
@@ -45,22 +22,10 @@
|
|
|
45
22
|
},
|
|
46
23
|
"UpdateInterval": {
|
|
47
24
|
"type": "number",
|
|
48
|
-
"label":
|
|
49
|
-
"en": "Update interval in seconds",
|
|
50
|
-
"de": "Aktualisierungsintervall in Sekunden",
|
|
51
|
-
"ru": "Интервал обновления в секундах",
|
|
52
|
-
"pt": "Intervalo de atualização em segundos",
|
|
53
|
-
"nl": "Update-interval in seconden",
|
|
54
|
-
"fr": "Intervalle de mise à jour en secondes",
|
|
55
|
-
"it": "Intervallo di aggiornamento in secondi",
|
|
56
|
-
"es": "Intervalo de actualización en segundos",
|
|
57
|
-
"pl": "Interwał aktualizacji w sekundach",
|
|
58
|
-
"uk": "Інтервал оновлення у секундах",
|
|
59
|
-
"zh-cn": "更新间隔(秒)"
|
|
60
|
-
},
|
|
25
|
+
"label": "LBL_UpdateInterval",
|
|
61
26
|
"hidden": "!data.TeslaFiAPIToken",
|
|
62
27
|
"min": 10,
|
|
63
|
-
"max":
|
|
28
|
+
"max": 86400,
|
|
64
29
|
"step": 1,
|
|
65
30
|
"default": 60,
|
|
66
31
|
"xs": 12,
|
|
@@ -87,19 +52,7 @@
|
|
|
87
52
|
"button": true,
|
|
88
53
|
"variant": "contained",
|
|
89
54
|
"icon": "info",
|
|
90
|
-
"label":
|
|
91
|
-
"en": "Show adapter documentation",
|
|
92
|
-
"de": "Adapter-Dokumentation anzeigen",
|
|
93
|
-
"ru": "Показать документацию по адаптеру",
|
|
94
|
-
"pt": "Mostrar documentação do adaptador",
|
|
95
|
-
"nl": "Toon adapterdocumentatie",
|
|
96
|
-
"fr": "Afficher la documentation de l'adaptateur",
|
|
97
|
-
"it": "Mostra la documentazione dell'adattatore",
|
|
98
|
-
"es": "Mostrar la documentación del adaptador",
|
|
99
|
-
"pl": "Pokaż dokumentację adaptera",
|
|
100
|
-
"uk": "Показати документацію адаптера",
|
|
101
|
-
"zh-cn": "显示适配器文档"
|
|
102
|
-
},
|
|
55
|
+
"label": "LBL_helpLink",
|
|
103
56
|
"href": "https://github.com/hombach/ioBroker.teslafi/blob/master/README.md",
|
|
104
57
|
"newLine": true,
|
|
105
58
|
"xs": 12,
|
|
@@ -130,19 +83,7 @@
|
|
|
130
83
|
},
|
|
131
84
|
"_donateTx": {
|
|
132
85
|
"type": "staticText",
|
|
133
|
-
"text":
|
|
134
|
-
"en": "If you enjoyed this project — or just feeling generous, consider buying me a beer. Cheers! 🍻",
|
|
135
|
-
"de": "Wenn Ihnen dieses Projekt gefallen hat – oder Sie einfach großzügig sind, überlegen Sie, mir ein Bier zu spendieren. Prost! 🍻",
|
|
136
|
-
"ru": "Если вам понравился этот проект — или вы просто чувствуете себя щедрым, подумайте о том, чтобы купить мне пиво. Ура! 🍻",
|
|
137
|
-
"pt": "Se você gostou deste projeto - ou está se sentindo generoso, considere me comprar uma cerveja. Saúde! 🍻",
|
|
138
|
-
"nl": "Als je genoten hebt van dit project — of gewoon gul bent, overweeg dan om me een biertje te kopen. Proost! 🍻",
|
|
139
|
-
"fr": "Si vous avez apprécié ce projet — ou si vous vous sentez généreux, envisagez de m'acheter une bière. Santé! 🍻",
|
|
140
|
-
"it": "Se ti è piaciuto questo progetto — o se ti senti generoso, considera di offrirmi una birra. Salute! 🍻",
|
|
141
|
-
"es": "Si disfrutaste de este proyecto — o simplemente te sientes generoso, considera comprarme una cerveza. ¡Salud! 🍻",
|
|
142
|
-
"pl": "Jeśli spodobał ci się ten projekt — lub po prostu czujesz się hojny, rozważ kupienie mi piwa. Na zdrowie! 🍻",
|
|
143
|
-
"uk": "Якщо вам сподобався цей проект — або ви просто хочете зробити приємне, подумайте про те, щоб купити мені пиво. Ура! 🍻",
|
|
144
|
-
"zh-cn": "如果你喜欢这个项目,或者只是觉得慷慨,请考虑请我喝一杯啤酒。干杯!🍻"
|
|
145
|
-
},
|
|
86
|
+
"text": "TXT_donateTx",
|
|
146
87
|
"xs": 12,
|
|
147
88
|
"sm": 12,
|
|
148
89
|
"md": 12,
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProjectUtils = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* ProjectUtils
|
|
6
|
+
*/
|
|
4
7
|
class ProjectUtils {
|
|
5
8
|
adapter;
|
|
9
|
+
/**
|
|
10
|
+
* constructor
|
|
11
|
+
*
|
|
12
|
+
* @param adapter - ioBroker adapter instance
|
|
13
|
+
*/
|
|
6
14
|
constructor(adapter) {
|
|
7
15
|
this.adapter = adapter;
|
|
8
16
|
}
|
|
@@ -12,7 +20,6 @@ class ProjectUtils {
|
|
|
12
20
|
* @param stateName - A string representing the name of the state to retrieve.
|
|
13
21
|
* @returns A Promise that resolves with the value of the state if it exists, otherwise resolves with null.
|
|
14
22
|
*/
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
23
|
async getStateValue(stateName) {
|
|
17
24
|
try {
|
|
18
25
|
const stateObject = await this.getState(stateName);
|
|
@@ -37,9 +44,7 @@ class ProjectUtils {
|
|
|
37
44
|
if (!this.isLikeEmpty(stateValueObject)) {
|
|
38
45
|
return stateValueObject;
|
|
39
46
|
}
|
|
40
|
-
|
|
41
|
-
throw `Unable to retrieve info from state '${stateName}'.`;
|
|
42
|
-
}
|
|
47
|
+
throw new Error(`Unable to retrieve info from state '${stateName}'.`);
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
catch (error) {
|
|
@@ -63,15 +68,17 @@ class ProjectUtils {
|
|
|
63
68
|
}
|
|
64
69
|
/**
|
|
65
70
|
* Get foreign state value
|
|
66
|
-
*
|
|
67
|
-
* @
|
|
71
|
+
*
|
|
72
|
+
* @param stateName - Full path to state, like 0_userdata.0.other.isSummer
|
|
73
|
+
* @returns State value, or null if error
|
|
68
74
|
*/
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
70
76
|
async asyncGetForeignStateVal(stateName) {
|
|
71
77
|
try {
|
|
72
78
|
const stateObject = await this.asyncGetForeignState(stateName);
|
|
73
|
-
if (stateObject == null)
|
|
74
|
-
return null;
|
|
79
|
+
if (stateObject == null) {
|
|
80
|
+
return null;
|
|
81
|
+
} // errors thrown already in asyncGetForeignState()
|
|
75
82
|
return stateObject.val;
|
|
76
83
|
}
|
|
77
84
|
catch (error) {
|
|
@@ -82,14 +89,14 @@ class ProjectUtils {
|
|
|
82
89
|
/**
|
|
83
90
|
* Get foreign state
|
|
84
91
|
*
|
|
85
|
-
* @param
|
|
86
|
-
* @
|
|
92
|
+
* @param stateName - Full path to state, like 0_userdata.0.other.isSummer
|
|
93
|
+
* @returns State object: {val: false, ack: true, ts: 1591117034451, …}, or null if error
|
|
87
94
|
*/
|
|
88
95
|
async asyncGetForeignState(stateName) {
|
|
89
96
|
try {
|
|
90
97
|
const stateObject = await this.adapter.getForeignObjectAsync(stateName); // Check state existence
|
|
91
98
|
if (!stateObject) {
|
|
92
|
-
throw `State '${stateName}' does not exist
|
|
99
|
+
throw new Error(`State '${stateName}' does not exist.`);
|
|
93
100
|
}
|
|
94
101
|
else {
|
|
95
102
|
// Get state value, so like: {val: false, ack: true, ts: 1591117034451, …}
|
|
@@ -97,9 +104,7 @@ class ProjectUtils {
|
|
|
97
104
|
if (!this.isLikeEmpty(stateValueObject)) {
|
|
98
105
|
return stateValueObject;
|
|
99
106
|
}
|
|
100
|
-
|
|
101
|
-
throw `Unable to retrieve info from state '${stateName}'.`;
|
|
102
|
-
}
|
|
107
|
+
throw new Error(`Unable to retrieve info from state '${stateName}'.`);
|
|
103
108
|
}
|
|
104
109
|
}
|
|
105
110
|
catch (error) {
|
|
@@ -129,13 +134,9 @@ class ProjectUtils {
|
|
|
129
134
|
if (sTemp !== "") {
|
|
130
135
|
return false;
|
|
131
136
|
}
|
|
132
|
-
else {
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
137
|
return true;
|
|
138
138
|
}
|
|
139
|
+
return true;
|
|
139
140
|
}
|
|
140
141
|
/**
|
|
141
142
|
* Checks if a string state exists, creates it if necessary, and updates its value.
|
|
@@ -232,6 +233,7 @@ class ProjectUtils {
|
|
|
232
233
|
* @param description - Optional description for the state (default is "-").
|
|
233
234
|
* @param writeable - Optional boolean indicating if the state should be writeable (default is false).
|
|
234
235
|
* @param dontUpdate - Optional boolean indicating if the state should not be updated if it already exists (default is false).
|
|
236
|
+
* @param forceMode - Optional boolean indicating if the state should be overwritten if it already exists (default is false).
|
|
235
237
|
* @returns A Promise that resolves when the state is checked, created (if necessary), and updated.
|
|
236
238
|
*/
|
|
237
239
|
async checkAndSetValueBoolean(stateName, value, description = "-", writeable = false, dontUpdate = false, forceMode = false) {
|
|
@@ -270,15 +272,15 @@ class ProjectUtils {
|
|
|
270
272
|
* @param context - A string providing context for where the error occurred.
|
|
271
273
|
* @returns A string representing the formatted error message.
|
|
272
274
|
*/
|
|
273
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
274
275
|
generateErrorMessage(error, context) {
|
|
275
276
|
let errorMessages = "";
|
|
276
277
|
// Check if error object has an 'errors' property that is an array
|
|
277
278
|
if (error.errors && Array.isArray(error.errors)) {
|
|
278
279
|
// Iterate over the array of errors and concatenate their messages
|
|
279
280
|
for (const err of error.errors) {
|
|
280
|
-
if (errorMessages)
|
|
281
|
+
if (errorMessages) {
|
|
281
282
|
errorMessages += ", ";
|
|
283
|
+
}
|
|
282
284
|
errorMessages += err.message;
|
|
283
285
|
}
|
|
284
286
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../src/lib/projectUtils.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACxB,OAAO,CAAwB;IAE/B,YAAY,OAA8B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../src/lib/projectUtils.ts"],"names":[],"mappings":"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"}
|