Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
316 commits
Select commit Hold shift + click to select a range
8b3f4b4
#RI-3563-3568 - fix IT
AmirAllayarovSofteq Dec 8, 2022
78228ee
#RI-3563-3568 - add bigSets and ZsetHastableToZiplist recommendations
AmirAllayarovSofteq Dec 8, 2022
e34e07f
#RI-3563-3568 - fix integration test
AmirAllayarovSofteq Dec 8, 2022
254e72e
#RI-3563-3568 0 remove commented code
AmirAllayarovSofteq Dec 8, 2022
4e4ffb3
Merge pull request #1490 from RedisInsight/be/feature/RI-3563-3568_re…
AmirAllayarovSofteq Dec 8, 2022
37ecace
Merge pull request #1491 from RedisInsight/fe/feature/RI-3563-3568_re…
AmirAllayarovSofteq Dec 8, 2022
d1bf159
#RI-3563 - change recommendation title
AmirAllayarovSofteq Dec 8, 2022
33835f6
Merge pull request #1493 from RedisInsight/feature/RI-3563-3568_recom…
vlad-dargel Dec 8, 2022
3948df8
#RI-3883 - add telemtry in recommendations
AmirAllayarovSofteq Dec 11, 2022
e46737f
#RI-3883 - resolve comments
AmirAllayarovSofteq Dec 12, 2022
e63cf91
#RI-3570 - add big connected clients recommendation
AmirAllayarovSofteq Dec 13, 2022
6d8884b
Merge pull request #1496 from RedisInsight/feature/RI-3883_recommenda…
vlad-dargel Dec 13, 2022
9d4446a
Merge branch 'feature/RI-3527_lua_scripts' of https://github.com/Redi…
AmirAllayarovSofteq Dec 14, 2022
389ef2e
#RI-3570 - resolve comments
AmirAllayarovSofteq Dec 14, 2022
f7c9831
#RI-3574 - add set password recommendation
AmirAllayarovSofteq Dec 14, 2022
e90956b
#RI-3574 - change public to private
AmirAllayarovSofteq Dec 14, 2022
1b4154e
#RI-3574 - fix IT
AmirAllayarovSofteq Dec 15, 2022
ee095e9
#RI-3574 - fix IT
AmirAllayarovSofteq Dec 15, 2022
bcae1c1
Merge pull request #1498 from RedisInsight/feature/RI-3570_big_connec…
nmammadli Dec 15, 2022
14dfd61
Merge pull request #1503 from RedisInsight/feature/RI-3574_set_passwo…
vlad-dargel Dec 16, 2022
5cb805a
#RI-3899 - change badges icon location
AmirAllayarovSofteq Dec 20, 2022
09205a5
#RI-3899 - resolve comments
AmirAllayarovSofteq Dec 20, 2022
b654af7
#RI-3942 - add rts recommendation
AmirAllayarovSofteq Dec 23, 2022
7aef853
#RI-3942 - add rts recommendation
AmirAllayarovSofteq Dec 23, 2022
9394457
#RI-3964 - fix margin for modules in databases list
rsergeenko Dec 28, 2022
979a0ea
#RI-3942 - update link
AmirAllayarovSofteq Dec 28, 2022
467d1eb
#RI-2409 switch db index. base implementation
Dec 28, 2022
4473851
#RI-3942 - fix IT
AmirAllayarovSofteq Dec 28, 2022
646e087
fix db > 0 logic
Dec 28, 2022
cbf9412
#RI-3949 - initial fe implementation for changing db index
rsergeenko Dec 28, 2022
b58588a
fix switch
Dec 28, 2022
09eab73
Merge branch 'be/feature/RI-2409-change_database_index' into fe/featu…
rsergeenko Dec 28, 2022
36458f4
#RI-3949 - fix db index from session storage
rsergeenko Dec 28, 2022
2132c24
#RI-2409 workaround for cli clients
Dec 28, 2022
e79d6cb
Merge branch 'be/feature/RI-2409-change_database_index' into fe/featu…
rsergeenko Dec 28, 2022
5307ba8
#RI-3942 - resolve comments
AmirAllayarovSofteq Dec 29, 2022
49913f1
#RI-2409 tests
Dec 29, 2022
8aab9bd
ix tests
Dec 29, 2022
ecdb85d
remove ioredis-mock usage + forceExit at the end
Dec 29, 2022
9dd5767
Merge pull request #1535 from RedisInsight/be/feature/RI-2409-change_…
Dec 29, 2022
2ea633a
Merge pull request #1534 from RedisInsight/fe/bugfix/RI-3964
nmammadli Dec 29, 2022
36545b7
#RI-3969 - fix styles
AmirAllayarovSofteq Dec 29, 2022
40caef0
Merge pull request #1541 from RedisInsight/bugfix/RI-3969_icons_sticky
AmirAllayarovSofteq Dec 29, 2022
5197bc2
Merge pull request #1530 from RedisInsight/fe/feature-RI-3942_rts_rec…
AmirAllayarovSofteq Dec 29, 2022
e2c9e88
Merge branch 'feature/RI-3942_rts_recommendation' of https://github.c…
AmirAllayarovSofteq Dec 29, 2022
153f99f
#RI-3899 - fix styles
AmirAllayarovSofteq Dec 29, 2022
19f965c
Merge branch 'feature/RI-3899_badges_location' of https://github.com/…
AmirAllayarovSofteq Dec 29, 2022
f6ecd3d
Merge pull request #1521 from RedisInsight/feature/RI-3899_badges_loc…
vlad-dargel Dec 29, 2022
db050e2
#RI-3949 - add tests, info request
rsergeenko Dec 29, 2022
d48aaaa
#RI-3949 - remove unused import
rsergeenko Dec 29, 2022
8186226
Merge pull request #1538 from RedisInsight/e2e/bugfix/fixes-and-merge…
vlad-dargel Dec 29, 2022
54296e5
Merge branch 'feature/RI-3942_rts_recommendation' of https://github.c…
AmirAllayarovSofteq Dec 29, 2022
70408ee
#RI-3942 - workaround determine only on first shard
AmirAllayarovSofteq Dec 30, 2022
477ed3f
Merge pull request #1536 from RedisInsight/fe/feature/RI-3949_change-…
rsergeenko Dec 30, 2022
40025e8
Merge pull request #1529 from RedisInsight/be/feature/RI-3942_rts_rec…
AmirAllayarovSofteq Dec 30, 2022
24c97b6
#RI-3957 - add searchlight as part of modules of redistack
rsergeenko Jan 3, 2023
8e58457
#RI-3983 - fix loading message
rsergeenko Jan 3, 2023
599a10e
Merge branch 'main' of https://github.com/RedisInsight/RedisInsight i…
AmirAllayarovSofteq Jan 3, 2023
6aeb632
#RI-3980, #RI-3981, #RI-3982 bugfixes
Jan 3, 2023
e05284c
#RI-3980, #RI-3981, #RI-3982 pass db to client creation
Jan 3, 2023
2e294bf
#RI-3982 - fix bulk delete index
rsergeenko Jan 3, 2023
a839ca4
add tests for change database index
vlad-dargel Jan 3, 2023
1e0c8ea
Merge pull request #1552 from RedisInsight/fe/bugfix/RI-3983
vlad-dargel Jan 3, 2023
d77ae12
Merge pull request #1555 from RedisInsight/fe/bugfix/RI-3982_index-fo…
vlad-dargel Jan 3, 2023
0a48c52
#RI-3986 - fix loading data for redisearch
rsergeenko Jan 4, 2023
3e40c2f
#RI-3986 - change condition
rsergeenko Jan 4, 2023
3f1f786
Merge pull request #1557 from RedisInsight/fe/bugfix/RI-3986
vlad-dargel Jan 4, 2023
d60678d
Merge branch 'feature/RI-3942_rts_recommendation' of https://github.c…
AmirAllayarovSofteq Jan 4, 2023
29d15cd
Merge branch 'feature/RI-3527_lua_scripts' of https://github.com/Redi…
AmirAllayarovSofteq Jan 4, 2023
71728a2
#RI-3986 - fix refresh keys after change index
rsergeenko Jan 4, 2023
ab18e33
Merge pull request #1559 from RedisInsight/fe/bugfix/RI-3986
rsergeenko Jan 4, 2023
f25a3ec
updates for failed tests
vlad-dargel Jan 4, 2023
066a59c
Merge branch 'feature/RI-2409-change_database_index' into e2e/feature…
vlad-dargel Jan 4, 2023
9777561
#RI-3941 - add redisstack link
AmirAllayarovSofteq Jan 4, 2023
d0f2f05
fix
vlad-dargel Jan 4, 2023
cebc037
#RI-3986 possible fix to deal with concurrent requests (graceful shut…
Jan 4, 2023
5c8a099
#RI-3986 possible fix to deal with concurrent requests (reuse existing)
Jan 4, 2023
1a9d9e2
#RI-3988 fix sentinel connection issue
Jan 4, 2023
fded78d
#RI-2409 - cover disabled state for button by tests
rsergeenko Jan 5, 2023
a02461a
#RI-3941 - resolve comments
AmirAllayarovSofteq Jan 5, 2023
9e0f074
#RI-3941 - resolve comments
AmirAllayarovSofteq Jan 5, 2023
b984ce1
Merge pull request #1562 from RedisInsight/feature/RI-3941_redisstack…
AmirAllayarovSofteq Jan 5, 2023
6144ba0
Merge pull request #1563 from RedisInsight/feature/RI-3942_rts_recomm…
AmirAllayarovSofteq Jan 5, 2023
44276a3
updates for tests
vlad-dargel Jan 5, 2023
78fad15
Merge branch 'feature/RI-2409-change_database_index' into e2e/feature…
vlad-dargel Jan 5, 2023
f4b5dbd
add test for redis stack icon
vlad-dargel Jan 5, 2023
c1f85bd
#RI-3975 - base FE implementation for ssh tunnel, refactoring add db …
rsergeenko Jan 6, 2023
758bad7
#RI-3975 - fix port
rsergeenko Jan 6, 2023
2e81f0e
#RI-3975 - fix certificates options duplication
rsergeenko Jan 6, 2023
6153c79
#RI-3974 ssh tunneling base implementation
Jan 6, 2023
b5c9c2e
add ssh2 to lazy import
Jan 6, 2023
9118ee3
fix deps issue + add migrations
Jan 6, 2023
a3119e9
Merge pull request #1568 from RedisInsight/build/RI-3974_ssh-tunnel
Jan 8, 2023
6f68e58
#RI-3955-3972 - add redis version recommendation
AmirAllayarovSofteq Jan 9, 2023
bcfcf1a
#RI-3955-3972 - add redis search recommendation
AmirAllayarovSofteq Jan 9, 2023
c87c862
#RI-3972 - add IT test
AmirAllayarovSofteq Jan 9, 2023
35b0bbf
#RI-3972 - add IT reJson test
AmirAllayarovSofteq Jan 9, 2023
aeffc00
#RI-3972 - fix test
AmirAllayarovSofteq Jan 9, 2023
6b1ba84
#RI-3972 - fix test
AmirAllayarovSofteq Jan 9, 2023
38ef44d
#RI-3972 - fix pass IT
AmirAllayarovSofteq Jan 9, 2023
a9194a4
#RI-3700 - Apply Workbench modes to non-auto guides
egor-zalenski Jan 9, 2023
d341e96
#RI-3972 - update search modules
AmirAllayarovSofteq Jan 9, 2023
c699491
fix
vlad-dargel Jan 9, 2023
d850620
Merge pull request #1564 from RedisInsight/e2e/feature/RI-2409-change…
vlad-dargel Jan 9, 2023
b052e16
Merge pull request #1540 from RedisInsight/feature/RI-2409-change_dat…
vlad-dargel Jan 9, 2023
e094714
#RI-3972 - resolve comments
AmirAllayarovSofteq Jan 9, 2023
21a3742
Merge pull request #1574 from RedisInsight/feature/RI-3955-3972_recom…
AmirAllayarovSofteq Jan 9, 2023
50ddda0
Merge pull request #1565 from RedisInsight/e2e/feature/RI-3957_redist…
vlad-dargel Jan 9, 2023
9fdf092
#RI-3527 - fix recommendation indexes
AmirAllayarovSofteq Jan 9, 2023
44e59ef
#RI-3975 - fix layout, add tests
rsergeenko Jan 9, 2023
ce18256
#RI-3975 - fix import order
rsergeenko Jan 9, 2023
fb4f97d
Merge pull request #1576 from RedisInsight/fe/feature/RI-3975_ssh-tunnel
rsergeenko Jan 9, 2023
0d898ad
#RI-3992 - fix redistack for empty list of modules
rsergeenko Jan 9, 2023
764621f
#RI-3957 - fix tests
rsergeenko Jan 9, 2023
c6ff61c
Merge pull request #1551 from RedisInsight/fe/feature/RI-3957_redista…
vlad-dargel Jan 9, 2023
9018324
Merge branch 'main' of https://github.com/RedisInsight/RedisInsight i…
AmirAllayarovSofteq Jan 10, 2023
d9eb141
#RI-3973 - update rts recommendation
AmirAllayarovSofteq Jan 10, 2023
b89f8a0
Merge pull request #1578 from RedisInsight/feature/RI-3973_rts_recomm…
AmirAllayarovSofteq Jan 10, 2023
6bdadf3
#RI-3970 - change password length
rsergeenko Jan 10, 2023
86128a6
Merge pull request #1567 from RedisInsight/be/feature/RI-3974_ssh_tunnel
vlad-dargel Jan 10, 2023
2807b8d
Merge pull request #1579 from RedisInsight/fe/feature/RI-3970_passwor…
vlad-dargel Jan 10, 2023
6e4d2f9
add tests for workbench modes from editor
vlad-dargel Jan 10, 2023
110acd7
#RI-3971 - add search indexes recommnedation
AmirAllayarovSofteq Jan 11, 2023
332f7a3
#RI-3702 -[FE] Add silent mode to Workbench guides and Tutorials
egor-zalenski Jan 11, 2023
ca9caa3
#RI-3702 -[BE] Add silent mode to Workbench guides and Tutorials
egor-zalenski Jan 11, 2023
9cbc444
Merge pull request #1581 from RedisInsight/be/feature/RI-3702_Workben…
egor-zalenski Jan 11, 2023
867b21e
Merge pull request #1580 from RedisInsight/fe/feature/RI-3702_Workben…
egor-zalenski Jan 11, 2023
216c49c
#RI-3956 - Make edit mode for database alias more visible
egor-zalenski Jan 11, 2023
cdd74a9
#RI-3927 - add recommendations tab highlighting
rsergeenko Jan 11, 2023
c0c606f
#RI-4002 - fix parse params, fix tests
rsergeenko Jan 11, 2023
60296a1
#RI-4004 - Telemetry WORKBENCH_COMMAND_SUBMITTED event not sent when …
egor-zalenski Jan 11, 2023
4f5a4bf
Merge pull request #1585 from RedisInsight/fe/bugfix/RI-4002
rsergeenko Jan 11, 2023
593390c
Merge pull request #1587 from RedisInsight/feature/RI-3702_Workbench_…
egor-zalenski Jan 11, 2023
49ca6c2
added test for silent mode
vlad-dargel Jan 11, 2023
2f93141
fix ui test
egor-zalenski Jan 11, 2023
ca35991
Merge remote-tracking branch 'origin/fe/feature/bugfix' into fe/featu…
egor-zalenski Jan 11, 2023
bbc5ce8
Merge pull request #1586 from RedisInsight/fe/feature/bugfix
egor-zalenski Jan 11, 2023
70e8679
Merge pull request #1582 from RedisInsight/feature/RI-3702_Workbench_…
vlad-dargel Jan 11, 2023
663183e
Merge branch 'feature/RI-3700_Apply_Workbench_modes' into e2e/feature…
vlad-dargel Jan 11, 2023
43d541b
updates for tests
vlad-dargel Jan 11, 2023
9588cc1
#RI-3572-dangerous commands recommendation
AmirAllayarovSofteq Jan 12, 2023
84ba9b9
#RI-3971 - add one node recommendations
AmirAllayarovSofteq Jan 12, 2023
f732f16
#RI-3572 - add check renamed command function
AmirAllayarovSofteq Jan 12, 2023
afa08a6
* #RI-4011 - WORKBENCH_COMMAND_SUBMITTED event has incorrect "command…
egor-zalenski Jan 12, 2023
7434698
#RI-3971 - update json file
AmirAllayarovSofteq Jan 12, 2023
5bf7366
#RI-3971 - remove unused code
AmirAllayarovSofteq Jan 12, 2023
ab0ec79
fix tests
egor-zalenski Jan 12, 2023
28bf647
Merge pull request #1591 from RedisInsight/fe/feature/bugfix
egor-zalenski Jan 12, 2023
653fd01
#RI-3572 - resolve comments
AmirAllayarovSofteq Jan 12, 2023
80a4cf0
Merge pull request #1588 from RedisInsight/e2e/feature/RI-3700_apply_…
vlad-dargel Jan 12, 2023
ba61fab
#RI-4012 - Edit alias input appears in a second after opening Edit panel
egor-zalenski Jan 12, 2023
38b2313
#RI-4012 - fix pr comment
egor-zalenski Jan 12, 2023
0a94c01
Merge pull request #1592 from RedisInsight/fe/feature/bugfix
egor-zalenski Jan 12, 2023
dde3360
#RI-4014 - fix re-rendering, fix highlighting if no count, fix click …
rsergeenko Jan 12, 2023
4f79246
Merge branch 'main' into feature/RI-3700_Apply_Workbench_modes
vlad-dargel Jan 12, 2023
9a4e8f5
Merge branch 'feature/RI-3700_Apply_Workbench_modes' of github.com:Re…
vlad-dargel Jan 12, 2023
62766b6
Merge pull request #1575 from RedisInsight/feature/RI-3700_Apply_Work…
vlad-dargel Jan 12, 2023
ecaa5e1
Merge pull request #1593 from RedisInsight/fe/bugfix/RI-4014
rsergeenko Jan 12, 2023
113db0b
Merge pull request #1583 from RedisInsight/feature/RI-3956_Change_edi…
vlad-dargel Jan 12, 2023
e43a114
Merge pull request #1584 from RedisInsight/fe/feature/RI_3927_highlig…
vlad-dargel Jan 12, 2023
1fda041
#RI-4010 - WORKBENCH_COMMAND_RUN_AGAIN event should have the same par…
egor-zalenski Jan 12, 2023
feed320
Merge pull request #1594 from RedisInsight/fe/feature/bugfix
vlad-dargel Jan 12, 2023
b1a108b
#RI-3974 UTests
Jan 13, 2023
19b8aaa
#RI-4022 - fix ssh username validation, fix maxlength
rsergeenko Jan 13, 2023
4096a79
#RI-3974 Fix existing ITests
Jan 13, 2023
52f350b
#RI-4022 - fix tests
rsergeenko Jan 13, 2023
f0776b5
Merge pull request #1596 from RedisInsight/fe/bugfix/RI-4022
rsergeenko Jan 13, 2023
7b23aac
#RI-3784 - add monaco editor for adding json key, update eslint
rsergeenko Jan 16, 2023
65c1e76
#RI-3784 - fix tests, add enum for monaco theme
rsergeenko Jan 16, 2023
bc6c8c3
Merge pull request #1598 from RedisInsight/fe/feature/RI-3784_add-key…
rsergeenko Jan 16, 2023
e857fa6
#RI-3974 Final ITests
Jan 16, 2023
22ec264
Merge pull request #1595 from RedisInsight/be/feature/RI-3974_ssh_tunnel
Jan 16, 2023
3ab1be1
#RI-4023 - update no recommendations message
AmirAllayarovSofteq Jan 16, 2023
d808d7c
#RI-4023 - update styles
AmirAllayarovSofteq Jan 17, 2023
03aada0
#RI-4023 - resolve comments
AmirAllayarovSofteq Jan 17, 2023
c60d315
#RI-3997 - [BE] Display db indexes in Workbench and Database analysis
egor-zalenski Jan 17, 2023
d44323f
#RI-3997 - [FE] Display db indexes in Workbench and Database analysis
egor-zalenski Jan 17, 2023
4365412
Merge pull request #1600 from RedisInsight/feature/RI-4023_no-recomme…
AmirAllayarovSofteq Jan 17, 2023
21ea3ba
Merge pull request #1602 from RedisInsight/fe/feature/RI-3997_Display…
egor-zalenski Jan 17, 2023
4a1c91f
Merge pull request #1603 from RedisInsight/feature/RI-3997_Display_in…
egor-zalenski Jan 17, 2023
dd8b92b
#RI-4052 - remove ssh tunneling for redis stack build
rsergeenko Jan 17, 2023
df7b529
#RI-3932 import ssh
Jan 17, 2023
8370216
Merge pull request #1604 from RedisInsight/fe/bugfix/RI-4052
rsergeenko Jan 17, 2023
076e2a1
#RI-4020 import sentinel databases from v1
Jan 17, 2023
f9f7067
#RI-4030 add telemetry events on edit
Jan 17, 2023
13588ba
Update data test-id for monaco editor
nmammadli Jan 17, 2023
2020b21
fix ITests
Jan 17, 2023
536e526
Merge branch 'feature/RI-3266_ssh-tunnel' into feature/RI-3932-import…
Jan 17, 2023
4bf50e2
add ssh envs for e2e tests
Jan 17, 2023
5767aeb
put db into ssh network
Jan 17, 2023
17812ab
Merge pull request #1606 from RedisInsight/e2e/feature/RI-3784_add-ke…
nmammadli Jan 18, 2023
39d345b
#RI-3997 - fix IT tests
egor-zalenski Jan 18, 2023
4ea43b0
Merge remote-tracking branch 'origin/be/feature/RI-3997_Display_index…
egor-zalenski Jan 18, 2023
378a80e
Merge pull request #1601 from RedisInsight/be/feature/RI-3997_Display…
egor-zalenski Jan 18, 2023
af9e00d
#RI-4027 - fix redis version
AmirAllayarovSofteq Jan 18, 2023
a1811ad
add tests for ssh tunnel
vlad-dargel Jan 18, 2023
8fa3722
fix
vlad-dargel Jan 18, 2023
33480b8
Merge pull request #1288 from RedisInsight/be/feature/RI-3604_change_…
vlad-dargel Jan 18, 2023
8b471e3
add test data for sentinel from v1
vlad-dargel Jan 18, 2023
f2e01ec
#RI-4053 - add provider field in database list
AmirAllayarovSofteq Jan 19, 2023
623030d
#RI-3977 - add recommendation voting
AmirAllayarovSofteq Jan 19, 2023
0b08864
Merge pull request #1609 from RedisInsight/e2e/feature/RI-3266_ssh-tu…
vlad-dargel Jan 19, 2023
fde3135
Merge pull request #1610 from RedisInsight/e2e/feature/RI-4020_suppor…
vlad-dargel Jan 19, 2023
f79602b
Merge pull request #1577 from RedisInsight/feature/RI-3266_ssh-tunnel
vlad-dargel Jan 19, 2023
c5ca294
added initial tests for import ssh
vlad-dargel Jan 19, 2023
cedcdba
Merge branch 'main' into e2e/feature/RI-3932_import-ssh-parameters
vlad-dargel Jan 19, 2023
96f6d9e
Merge branch 'main' into feature/RI-3932-import_ssh
vlad-dargel Jan 19, 2023
cbd814f
Merge branch 'feature/RI-3932-import_ssh' into e2e/feature/RI-3932_im…
vlad-dargel Jan 19, 2023
edbc363
#RI-3977 - add recommendation voting
AmirAllayarovSofteq Jan 19, 2023
d96a2dc
added tests on ssh import
vlad-dargel Jan 19, 2023
84cb39b
Merge pull request #1612 from RedisInsight/fix/RI-4053_database_provider
vlad-dargel Jan 19, 2023
09788d1
Merge pull request #1613 from RedisInsight/fe/feature/RI-3977_recomme…
AmirAllayarovSofteq Jan 19, 2023
07d183f
#RI-3977 - fix IT
AmirAllayarovSofteq Jan 19, 2023
9cd2006
Merge pull request #1614 from RedisInsight/be/feature/RI-3977_recomme…
AmirAllayarovSofteq Jan 19, 2023
0a3760d
Merge branch 'main' into feature/RI-3997_Display_indexes_in_Workbench…
egor-zalenski Jan 20, 2023
b5ccb09
#3977 - demo comments resolve
AmirAllayarovSofteq Jan 20, 2023
c045981
#RI-4065 - fix db index add form value
AmirAllayarovSofteq Jan 20, 2023
6084be4
added tests for display indexes in workbench and analytics
vlad-dargel Jan 20, 2023
913bcf4
Merge pull request #1617 from RedisInsight/bugfix/RI-4065_db_index_ad…
vlad-dargel Jan 20, 2023
26ed257
db import test enchancements
vlad-dargel Jan 22, 2023
3e72167
#RI-4064 - fix password validation
AmirAllayarovSofteq Jan 23, 2023
6ed135d
#RI-4068 - [FE] Extra indentation in the text of the command name in …
egor-zalenski Jan 23, 2023
109bcc3
Add upvote recommendations test and page object for recommendations
nmammadli Jan 23, 2023
0aabc97
Update recommendations-page.ts
nmammadli Jan 23, 2023
d9c1d91
Update recommendations-page.ts
nmammadli Jan 23, 2023
3be5729
fix sorting import
egor-zalenski Jan 23, 2023
6ff0354
#RI-4059-4062-4064 - fixed
AmirAllayarovSofteq Jan 23, 2023
af09d55
Update database-recommendations.e2e.ts
nmammadli Jan 23, 2023
d8a3a45
Merge pull request #1618 from RedisInsight/e2e/feature/RI-3997_displa…
vlad-dargel Jan 23, 2023
f2eafac
Merge pull request #1616 from RedisInsight/e2e/feature/RI-3932_import…
vlad-dargel Jan 23, 2023
2a9dc99
upd for flaky test
vlad-dargel Jan 23, 2023
0e31c20
Merge pull request #1608 from RedisInsight/feature/RI-3997_Display_in…
vlad-dargel Jan 23, 2023
23279fe
#RI-4064 - update FE initial values
AmirAllayarovSofteq Jan 23, 2023
46d6e79
Merge pull request #1619 from RedisInsight/bugfix/RI-4064-4059-4062-4…
vlad-dargel Jan 23, 2023
6d865c5
Merge branch 'main' into feature/RI-3932-import_ssh
vlad-dargel Jan 23, 2023
7299a0d
Merge pull request #1605 from RedisInsight/feature/RI-3932-import_ssh
vlad-dargel Jan 23, 2023
420c5db
fixes for regression
vlad-dargel Jan 23, 2023
e4b40fe
Refactor
nmammadli Jan 24, 2023
84570dc
Merge pull request #1590 from RedisInsight/feature/RI-3971-3572_add_r…
nmammadli Jan 24, 2023
0555bc1
Merge pull request #1623 from RedisInsight/e2e/bugfix/fixes-for-regre…
vlad-dargel Jan 24, 2023
9936d2c
Merge pull request #1599 from RedisInsight/feature/RI-3784_add-key-js…
vlad-dargel Jan 24, 2023
ccf980c
Update memory-efficiency-actions.ts
nmammadli Jan 24, 2023
0999ce7
Merge pull request #1621 from RedisInsight/e2e/feature/RI-3977_recomm…
nmammadli Jan 24, 2023
d0f4913
Merge pull request #1615 from RedisInsight/feature/RI-3977_recommenda…
nmammadli Jan 24, 2023
939cde8
Merge branch 'main' of https://github.com/RedisInsight/RedisInsight i…
AmirAllayarovSofteq Jan 24, 2023
02eb496
Merge pull request #1386 from RedisInsight/feature/RI-3527_lua_scripts
vlad-dargel Jan 24, 2023
f7fb582
RI-4098 - fix migrations
AmirAllayarovSofteq Jan 25, 2023
1f6f99f
Merge pull request #1630 from RedisInsight/bugfix/RI-4098_fix_migrations
vlad-dargel Jan 25, 2023
be09f29
fixes for failed nightly tests
vlad-dargel Jan 26, 2023
7d51772
Merge pull request #1637 from RedisInsight/e2e/bugfix/fix-regression
vlad-dargel Jan 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ aliases:
- mods-preview # OSS Standalone and all preview modules
- oss-st-6-tls # OSS Standalone v6 with TLS enabled
- oss-st-6-tls-auth # OSS Standalone v6 with TLS auth required
- oss-st-6-tls-auth-ssh # OSS Standalone v6 with TLS auth required through ssh
- oss-clu # OSS Cluster
- oss-clu-tls # OSS Cluster with TLS enabled
- oss-sent # OSS Sentinel
Expand Down
2 changes: 1 addition & 1 deletion configs/webpack.config.renderer.dev.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ export default merge(baseConfig, {

new ReactRefreshWebpackPlugin(),

new MonacoWebpackPlugin({ languages: [], features: ['!rename'] }),
new MonacoWebpackPlugin({ languages: ['json'], features: ['!rename'] }),
],

node: {
Expand Down
2 changes: 1 addition & 1 deletion configs/webpack.config.renderer.prod.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ export default merge(baseConfig, {
},

plugins: [
new MonacoWebpackPlugin({ languages: [], features: ['!rename'] }),
new MonacoWebpackPlugin({ languages: ['json'], features: ['!rename'] }),

new webpack.EnvironmentPlugin({
NODE_ENV: 'production',
Expand Down
2 changes: 1 addition & 1 deletion configs/webpack.config.web.common.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export default {
plugins: [
new HtmlWebpackPlugin({ template: 'index.html.ejs' }),

new MonacoWebpackPlugin({ languages: [], features: ['!rename'] }),
new MonacoWebpackPlugin({ languages: ['json'], features: ['!rename'] }),

new webpack.IgnorePlugin({
checkResource(resource) {
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@
"@types/node": "14.14.10",
"@types/react": "^18.0.20",
"@types/react-dom": "^18.0.5",
"@types/react-monaco-editor": "^0.16.0",
"@types/react-redux": "^7.1.12",
"@types/react-router-dom": "^5.1.6",
"@types/react-virtualized": "^9.21.10",
Expand Down Expand Up @@ -243,7 +242,7 @@
"react-hotkeys-hook": "^3.3.1",
"react-json-pretty": "^2.2.0",
"react-jsx-parser": "^1.28.4",
"react-monaco-editor": "^0.44.0",
"react-monaco-editor": "^0.45.0",
"react-redux": "^7.2.2",
"react-rnd": "^10.3.5",
"react-router-dom": "^5.2.0",
Expand Down
14 changes: 12 additions & 2 deletions redisinsight/__mocks__/monacoMock.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ export default function MonacoEditor(props) {
createContextKey: jest.fn(),
focus: jest.fn(),
onDidChangeCursorPosition: jest.fn(),
executeEdits: jest.fn()
executeEdits: jest.fn(),
updateOptions: jest.fn()
},
// monaco
{
Expand All @@ -31,12 +32,21 @@ export default function MonacoEditor(props) {
}),
setLanguageConfiguration: jest.fn(),
setMonarchTokensProvider: jest.fn(),
json: {
jsonDefaults:{
setDiagnosticsOptions: jest.fn()
}
}
},
KeyMod: {},
KeyCode: {}
})
}, [])
return <input {...props} data-testid="monaco"/>;
return <textarea
{...props}
onChange={(e) => props.onChange && props.onChange(e.target.value)}
data-testid={props['data-testid'] ? props['data-testid'] : 'monaco'}
/>;
}

export const languages = {
Expand Down
6 changes: 3 additions & 3 deletions redisinsight/api/config/default.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export default {
staticContent: !!process.env.SERVER_STATIC_CONTENT || false,
buildType: process.env.BUILD_TYPE || 'ELECTRON',
appVersion: process.env.APP_VERSION || '2.0.0',
requestTimeout: parseInt(process.env.REQUEST_TIMEOUT, 10) || 10000,
requestTimeout: parseInt(process.env.REQUEST_TIMEOUT, 10) || 25000,
excludeRoutes: [],
excludeAuthRoutes: [],
},
Expand Down Expand Up @@ -108,14 +108,14 @@ export default {
},
guides: {
updateUrl: process.env.GUIDES_UPDATE_URL
|| 'https://github.com/RedisInsight/Guides/releases/download/latest',
|| 'https://github.com/RedisInsight/Guides/releases/download/release',
zip: process.env.GUIDES_ZIP || dataZipFileName,
buildInfo: process.env.GUIDES_CHECKSUM || buildInfoFileName,
devMode: !!process.env.GUIDES_DEV_PATH,
},
tutorials: {
updateUrl: process.env.TUTORIALS_UPDATE_URL
|| 'https://github.com/RedisInsight/Tutorials/releases/download/latest',
|| 'https://github.com/RedisInsight/Tutorials/releases/download/release',
zip: process.env.TUTORIALS_ZIP || dataZipFileName,
buildInfo: process.env.TUTORIALS_CHECKSUM || buildInfoFileName,
devMode: !!process.env.TUTORIALS_DEV_PATH,
Expand Down
2 changes: 2 additions & 0 deletions redisinsight/api/config/ormconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { SettingsEntity } from 'src/modules/settings/entities/settings.entity';
import { CaCertificateEntity } from 'src/modules/certificate/entities/ca-certificate.entity';
import { ClientCertificateEntity } from 'src/modules/certificate/entities/client-certificate.entity';
import { DatabaseEntity } from 'src/modules/database/entities/database.entity';
import { SshOptionsEntity } from 'src/modules/ssh/entities/ssh-options.entity';
import migrations from '../migration';
import * as config from '../src/utils/config';

Expand All @@ -31,6 +32,7 @@ const ormConfig = {
PluginStateEntity,
NotificationEntity,
DatabaseAnalysisEntity,
SshOptionsEntity,
],
migrations,
};
Expand Down
30 changes: 30 additions & 0 deletions redisinsight/api/migration/1673035852335-ssh-options.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { MigrationInterface, QueryRunner } from "typeorm";

export class sshOptions1673035852335 implements MigrationInterface {
name = 'sshOptions1673035852335'

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE TABLE "ssh_options" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "encryption" varchar, "username" varchar, "password" varchar, "privateKey" varchar, "passphrase" varchar, "databaseId" varchar, CONSTRAINT "REL_fe3c3f8b1246e4824a3fb83047" UNIQUE ("databaseId"))`);
await queryRunner.query(`CREATE TABLE "temporary_database_instance" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "name" varchar NOT NULL, "username" varchar, "password" varchar, "tls" boolean, "verifyServerCert" boolean, "lastConnection" datetime, "caCertId" varchar, "clientCertId" varchar, "connectionType" varchar NOT NULL DEFAULT ('STANDALONE'), "nodes" varchar DEFAULT ('[]'), "nameFromProvider" varchar, "sentinelMasterName" varchar, "sentinelMasterUsername" varchar, "sentinelMasterPassword" varchar, "provider" varchar DEFAULT ('UNKNOWN'), "modules" varchar NOT NULL DEFAULT ('[]'), "db" integer, "encryption" varchar, "tlsServername" varchar, "new" boolean, "ssh" boolean, CONSTRAINT "FK_d1bc747b5938e22b4b708d8e9a5" FOREIGN KEY ("caCertId") REFERENCES "ca_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION, CONSTRAINT "FK_3b9b625266c00feb2d66a9f36e4" FOREIGN KEY ("clientCertId") REFERENCES "client_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "temporary_database_instance"("id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername", "new") SELECT "id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername", "new" FROM "database_instance"`);
await queryRunner.query(`DROP TABLE "database_instance"`);
await queryRunner.query(`ALTER TABLE "temporary_database_instance" RENAME TO "database_instance"`);
await queryRunner.query(`CREATE TABLE "temporary_ssh_options" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "encryption" varchar, "username" varchar, "password" varchar, "privateKey" varchar, "passphrase" varchar, "databaseId" varchar, CONSTRAINT "REL_fe3c3f8b1246e4824a3fb83047" UNIQUE ("databaseId"), CONSTRAINT "FK_fe3c3f8b1246e4824a3fb83047d" FOREIGN KEY ("databaseId") REFERENCES "database_instance" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "temporary_ssh_options"("id", "host", "port", "encryption", "username", "password", "privateKey", "passphrase", "databaseId") SELECT "id", "host", "port", "encryption", "username", "password", "privateKey", "passphrase", "databaseId" FROM "ssh_options"`);
await queryRunner.query(`DROP TABLE "ssh_options"`);
await queryRunner.query(`ALTER TABLE "temporary_ssh_options" RENAME TO "ssh_options"`);
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "ssh_options" RENAME TO "temporary_ssh_options"`);
await queryRunner.query(`CREATE TABLE "ssh_options" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "encryption" varchar, "username" varchar, "password" varchar, "privateKey" varchar, "passphrase" varchar, "databaseId" varchar, CONSTRAINT "REL_fe3c3f8b1246e4824a3fb83047" UNIQUE ("databaseId"))`);
await queryRunner.query(`INSERT INTO "ssh_options"("id", "host", "port", "encryption", "username", "password", "privateKey", "passphrase", "databaseId") SELECT "id", "host", "port", "encryption", "username", "password", "privateKey", "passphrase", "databaseId" FROM "temporary_ssh_options"`);
await queryRunner.query(`DROP TABLE "temporary_ssh_options"`);
await queryRunner.query(`ALTER TABLE "database_instance" RENAME TO "temporary_database_instance"`);
await queryRunner.query(`CREATE TABLE "database_instance" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "name" varchar NOT NULL, "username" varchar, "password" varchar, "tls" boolean, "verifyServerCert" boolean, "lastConnection" datetime, "caCertId" varchar, "clientCertId" varchar, "connectionType" varchar NOT NULL DEFAULT ('STANDALONE'), "nodes" varchar DEFAULT ('[]'), "nameFromProvider" varchar, "sentinelMasterName" varchar, "sentinelMasterUsername" varchar, "sentinelMasterPassword" varchar, "provider" varchar DEFAULT ('UNKNOWN'), "modules" varchar NOT NULL DEFAULT ('[]'), "db" integer, "encryption" varchar, "tlsServername" varchar, "new" boolean, CONSTRAINT "FK_d1bc747b5938e22b4b708d8e9a5" FOREIGN KEY ("caCertId") REFERENCES "ca_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION, CONSTRAINT "FK_3b9b625266c00feb2d66a9f36e4" FOREIGN KEY ("clientCertId") REFERENCES "client_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "database_instance"("id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername", "new") SELECT "id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername", "new" FROM "temporary_database_instance"`);
await queryRunner.query(`DROP TABLE "temporary_database_instance"`);
await queryRunner.query(`DROP TABLE "ssh_options"`);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { MigrationInterface, QueryRunner } from "typeorm";

export class workbenchAndAnalysisDbIndex1673934231410 implements MigrationInterface {
name = 'workbenchAndAnalysisDbIndex1673934231410'

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "IDX_5cd90dd6def1fd7c521e53fb2c"`);
await queryRunner.query(`CREATE TABLE "temporary_command_execution" ("id" varchar PRIMARY KEY NOT NULL, "databaseId" varchar NOT NULL, "command" text NOT NULL, "result" text NOT NULL, "role" varchar, "nodeOptions" varchar, "encryption" varchar, "createdAt" datetime NOT NULL DEFAULT (datetime('now')), "mode" varchar, "resultsMode" varchar, "summary" varchar, "executionTime" integer, "db" integer, CONSTRAINT "FK_ea8adfe9aceceb79212142206b8" FOREIGN KEY ("databaseId") REFERENCES "database_instance" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "temporary_command_execution"("id", "databaseId", "command", "result", "role", "nodeOptions", "encryption", "createdAt", "mode", "resultsMode", "summary", "executionTime") SELECT "id", "databaseId", "command", "result", "role", "nodeOptions", "encryption", "createdAt", "mode", "resultsMode", "summary", "executionTime" FROM "command_execution"`);
await queryRunner.query(`DROP TABLE "command_execution"`);
await queryRunner.query(`ALTER TABLE "temporary_command_execution" RENAME TO "command_execution"`);
await queryRunner.query(`CREATE INDEX "IDX_5cd90dd6def1fd7c521e53fb2c" ON "command_execution" ("createdAt") `);
await queryRunner.query(`DROP INDEX "IDX_d174a8edc2201d6c5781f0126a"`);
await queryRunner.query(`DROP INDEX "IDX_fdd0daeb4d8f226cf1ff79bebb"`);
await queryRunner.query(`CREATE TABLE "temporary_database_analysis" ("id" varchar PRIMARY KEY NOT NULL, "databaseId" varchar NOT NULL, "filter" blob, "delimiter" varchar NOT NULL, "progress" blob, "totalKeys" blob, "totalMemory" blob, "topKeysNsp" blob, "topMemoryNsp" blob, "topKeysLength" blob, "topKeysMemory" blob, "encryption" varchar, "createdAt" datetime NOT NULL DEFAULT (datetime('now')), "expirationGroups" blob, "db" integer, CONSTRAINT "FK_d174a8edc2201d6c5781f0126ae" FOREIGN KEY ("databaseId") REFERENCES "database_instance" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "temporary_database_analysis"("id", "databaseId", "filter", "delimiter", "progress", "totalKeys", "totalMemory", "topKeysNsp", "topMemoryNsp", "topKeysLength", "topKeysMemory", "encryption", "createdAt", "expirationGroups") SELECT "id", "databaseId", "filter", "delimiter", "progress", "totalKeys", "totalMemory", "topKeysNsp", "topMemoryNsp", "topKeysLength", "topKeysMemory", "encryption", "createdAt", "expirationGroups" FROM "database_analysis"`);
await queryRunner.query(`DROP TABLE "database_analysis"`);
await queryRunner.query(`ALTER TABLE "temporary_database_analysis" RENAME TO "database_analysis"`);
await queryRunner.query(`CREATE INDEX "IDX_d174a8edc2201d6c5781f0126a" ON "database_analysis" ("databaseId") `);
await queryRunner.query(`CREATE INDEX "IDX_fdd0daeb4d8f226cf1ff79bebb" ON "database_analysis" ("createdAt") `);
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "IDX_fdd0daeb4d8f226cf1ff79bebb"`);
await queryRunner.query(`DROP INDEX "IDX_d174a8edc2201d6c5781f0126a"`);
await queryRunner.query(`ALTER TABLE "database_analysis" RENAME TO "temporary_database_analysis"`);
await queryRunner.query(`CREATE TABLE "database_analysis" ("id" varchar PRIMARY KEY NOT NULL, "databaseId" varchar NOT NULL, "filter" blob, "delimiter" varchar NOT NULL, "progress" blob, "totalKeys" blob, "totalMemory" blob, "topKeysNsp" blob, "topMemoryNsp" blob, "topKeysLength" blob, "topKeysMemory" blob, "encryption" varchar, "createdAt" datetime NOT NULL DEFAULT (datetime('now')), "expirationGroups" blob, CONSTRAINT "FK_d174a8edc2201d6c5781f0126ae" FOREIGN KEY ("databaseId") REFERENCES "database_instance" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "database_analysis"("id", "databaseId", "filter", "delimiter", "progress", "totalKeys", "totalMemory", "topKeysNsp", "topMemoryNsp", "topKeysLength", "topKeysMemory", "encryption", "createdAt", "expirationGroups") SELECT "id", "databaseId", "filter", "delimiter", "progress", "totalKeys", "totalMemory", "topKeysNsp", "topMemoryNsp", "topKeysLength", "topKeysMemory", "encryption", "createdAt", "expirationGroups" FROM "temporary_database_analysis"`);
await queryRunner.query(`DROP TABLE "temporary_database_analysis"`);
await queryRunner.query(`CREATE INDEX "IDX_fdd0daeb4d8f226cf1ff79bebb" ON "database_analysis" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_d174a8edc2201d6c5781f0126a" ON "database_analysis" ("databaseId") `);
await queryRunner.query(`DROP INDEX "IDX_5cd90dd6def1fd7c521e53fb2c"`);
await queryRunner.query(`ALTER TABLE "command_execution" RENAME TO "temporary_command_execution"`);
await queryRunner.query(`CREATE TABLE "command_execution" ("id" varchar PRIMARY KEY NOT NULL, "databaseId" varchar NOT NULL, "command" text NOT NULL, "result" text NOT NULL, "role" varchar, "nodeOptions" varchar, "encryption" varchar, "createdAt" datetime NOT NULL DEFAULT (datetime('now')), "mode" varchar, "resultsMode" varchar, "summary" varchar, "executionTime" integer, CONSTRAINT "FK_ea8adfe9aceceb79212142206b8" FOREIGN KEY ("databaseId") REFERENCES "database_instance" ("id") ON DELETE CASCADE ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "command_execution"("id", "databaseId", "command", "result", "role", "nodeOptions", "encryption", "createdAt", "mode", "resultsMode", "summary", "executionTime") SELECT "id", "databaseId", "command", "result", "role", "nodeOptions", "encryption", "createdAt", "mode", "resultsMode", "summary", "executionTime" FROM "temporary_command_execution"`);
await queryRunner.query(`DROP TABLE "temporary_command_execution"`);
await queryRunner.query(`CREATE INDEX "IDX_5cd90dd6def1fd7c521e53fb2c" ON "command_execution" ("createdAt") `);
}

}
Loading