Skip to content

Commit 234f297

Browse files
#RI-4586 - add redisgears 2 icon and text
1 parent 9c37388 commit 234f297

File tree

6 files changed

+39
-3
lines changed

6 files changed

+39
-3
lines changed

redisinsight/ui/src/components/database-list-modules/DatabaseListModules.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,16 @@ export const modulesDefaultInit = {
6969
iconLight: RedisGraphLight,
7070
text: DATABASE_LIST_MODULES_TEXT[RedisDefaultModules.Graph],
7171
},
72+
[RedisDefaultModules.RedisGears]: {
73+
iconDark: RedisGearsDark,
74+
iconLight: RedisGearsLight,
75+
text: DATABASE_LIST_MODULES_TEXT[RedisDefaultModules.RedisGears],
76+
},
77+
[RedisDefaultModules.RedisGears2]: {
78+
iconDark: RedisGearsDark,
79+
iconLight: RedisGearsLight,
80+
text: DATABASE_LIST_MODULES_TEXT[RedisDefaultModules.RedisGears2],
81+
},
7282
[RedisDefaultModules.ReJSON]: {
7383
iconDark: RedisJSONDark,
7484
iconLight: RedisJSONLight,

redisinsight/ui/src/slices/interfaces/instances.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,11 @@ export const REDISEARCH_MODULES: string[] = [
179179
RedisDefaultModules.FTL,
180180
]
181181

182+
export const TRIGGERED_AND_FUNCTIONS_MODULES: string[] = [
183+
RedisDefaultModules.RedisGears,
184+
RedisDefaultModules.RedisGears2,
185+
]
186+
182187
export const COMMAND_MODULES = {
183188
[RedisDefaultModules.Search]: REDISEARCH_MODULES,
184189
[RedisDefaultModules.ReJSON]: [RedisDefaultModules.ReJSON],
@@ -188,6 +193,7 @@ export const COMMAND_MODULES = {
188193
}
189194

190195
const RediSearchModulesText = [...REDISEARCH_MODULES].reduce((prev, next) => ({ ...prev, [next]: 'RediSearch' }), {})
196+
const TriggeredAndFunctionsModulesText = [...TRIGGERED_AND_FUNCTIONS_MODULES].reduce((prev, next) => ({ ...prev, [next]: 'Triggered & Functions' }), {})
191197

192198
// Enums don't allow to use dynamic key
193199
export const DATABASE_LIST_MODULES_TEXT = Object.freeze({
@@ -199,7 +205,8 @@ export const DATABASE_LIST_MODULES_TEXT = Object.freeze({
199205
[RedisDefaultModules.TimeSeries]: 'RedisTimeSeries',
200206
[RedisCustomModulesName.Proto]: 'redis-protobuf',
201207
[RedisCustomModulesName.IpTables]: 'RedisPushIpTables',
202-
...RediSearchModulesText
208+
...RediSearchModulesText,
209+
...TriggeredAndFunctionsModulesText,
203210
})
204211

205212
export enum AddRedisClusterDatabaseOptions {

redisinsight/ui/src/telemetry/interfaces.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export enum RedisModules {
5252
RedisJSON = 'ReJSON',
5353
RediSearch = 'search',
5454
RedisTimeSeries = 'timeseries',
55+
'Triggered & Functions' = 'redisgears'
5556
}
5657

5758
interface IModuleSummary {

redisinsight/ui/src/telemetry/telemetryUtils.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const DEFAULT_SUMMARY = Object.freeze(
99
RedisBloom: { loaded: false },
1010
RedisJSON: { loaded: false },
1111
RedisTimeSeries: { loaded: false },
12+
'Triggered & Functions': { loaded: false },
1213
customModules: [],
1314
},
1415
)
@@ -43,6 +44,7 @@ const getRedisModulesSummaryTests = [
4344
{ name: 'ReJSON', version: 10000, semanticVersion: '1.0.0' },
4445
{ name: 'search', version: 10000, semanticVersion: '1.0.0' },
4546
{ name: 'timeseries', version: 10000, semanticVersion: '1.0.0' },
47+
{ name: 'redisgears_2', version: 10000, semanticVersion: '1.0.0' },
4648
],
4749
expected: {
4850
RedisAI: { loaded: true, version: 10000, semanticVersion: '1.0.0' },
@@ -52,6 +54,7 @@ const getRedisModulesSummaryTests = [
5254
RedisJSON: { loaded: true, version: 10000, semanticVersion: '1.0.0' },
5355
RediSearch: { loaded: true, version: 10000, semanticVersion: '1.0.0' },
5456
RedisTimeSeries: { loaded: true, version: 10000, semanticVersion: '1.0.0' },
57+
'Triggered & Functions': { loaded: true, version: 10000, semanticVersion: '1.0.0' },
5558
customModules: [],
5659
},
5760
},

redisinsight/ui/src/telemetry/telemetryUtils.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import isGlob from 'is-glob'
66
import { cloneDeep } from 'lodash'
77
import * as jsonpath from 'jsonpath'
8-
import { isRedisearchAvailable, Nullable } from 'uiSrc/utils'
8+
import { isRedisearchAvailable, isTriggeredAndFunctionsAvailable, Nullable } from 'uiSrc/utils'
99
import { localStorageService } from 'uiSrc/services'
1010
import { ApiEndpoints, BrowserStorageItem, KeyTypes, StreamViews } from 'uiSrc/constants'
1111
import { KeyViewType } from 'uiSrc/slices/interfaces/keys'
@@ -219,6 +219,7 @@ const DEFAULT_SUMMARY: IRedisModulesSummary = Object.freeze(
219219
RedisBloom: { loaded: false },
220220
RedisJSON: { loaded: false },
221221
RedisTimeSeries: { loaded: false },
222+
'Triggered & Functions': { loaded: false },
222223
customModules: [],
223224
},
224225
)
@@ -253,6 +254,16 @@ const getRedisModulesSummary = (modules: AdditionalRedisModule[] = []): IRedisMo
253254
return
254255
}
255256

257+
if (isTriggeredAndFunctionsAvailable([module])) {
258+
const triggeredAndFunctionsName = getEnumKeyBValue(RedisModules, RedisModules['Triggered & Functions'])
259+
summary[triggeredAndFunctionsName] = {
260+
loaded: true,
261+
version: module.version,
262+
semanticVersion: module.semanticVersion,
263+
}
264+
return
265+
}
266+
256267
summary.customModules.push(module)
257268
}))
258269
} catch (e) {

redisinsight/ui/src/utils/modules.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DATABASE_LIST_MODULES_TEXT, RedisDefaultModules, REDISEARCH_MODULES } from 'uiSrc/slices/interfaces'
1+
import { DATABASE_LIST_MODULES_TEXT, RedisDefaultModules, REDISEARCH_MODULES, TRIGGERED_AND_FUNCTIONS_MODULES } from 'uiSrc/slices/interfaces'
22
import { AdditionalRedisModule } from 'apiSrc/modules/database/models/additional.redis.module'
33

44
export interface IDatabaseModule {
@@ -41,5 +41,9 @@ export const isRedisearchAvailable = (modules: AdditionalRedisModule[]): boolean
4141
modules?.some(({ name }) =>
4242
REDISEARCH_MODULES.some((search) => name === search))
4343

44+
export const isTriggeredAndFunctionsAvailable = (modules: AdditionalRedisModule[]): boolean =>
45+
modules?.some(({ name }) =>
46+
TRIGGERED_AND_FUNCTIONS_MODULES.some((value) => name === value))
47+
4448
export const isContainJSONModule = (modules: AdditionalRedisModule[]): boolean =>
4549
modules?.some((m: AdditionalRedisModule) => m.name === RedisDefaultModules.ReJSON)

0 commit comments

Comments
 (0)