Skip to content

Commit 7e2fd2f

Browse files
authored
Merge pull request #897 from gobitfly/staging
merge staging->main
2 parents 379d42b + 10f90a0 commit 7e2fd2f

File tree

74 files changed

+2327
-1607
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2327
-1607
lines changed

.git-blame-ignore-revs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
# in order to work execute once:
55
# git config blame.ignoreRevsFile .git-blame-ignore-revs
66

7+
#chore(eslint): add `natural sorting` for `json` files
8+
f3da99c5c685eae1914aad8513d3b4b2f1cdcaa2
79
# style(eslint): add `typescript delimiter` rule
810
d6b42edb3f687cad3082a9044bcb71fc39a46176
911
# style(eslint): apply `max-len` rule

backend/cmd/user_service/main.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,30 @@ func Run() {
9393
}, "pgx", "postgres")
9494
}()
9595

96+
wg.Add(1)
97+
go func() {
98+
defer wg.Done()
99+
db.WriterDb, db.ReaderDb = db.MustInitDB(&types.DatabaseConfig{
100+
Username: utils.Config.WriterDatabase.Username,
101+
Password: utils.Config.WriterDatabase.Password,
102+
Name: utils.Config.WriterDatabase.Name,
103+
Host: utils.Config.WriterDatabase.Host,
104+
Port: utils.Config.WriterDatabase.Port,
105+
MaxOpenConns: utils.Config.WriterDatabase.MaxOpenConns,
106+
MaxIdleConns: utils.Config.WriterDatabase.MaxIdleConns,
107+
SSL: utils.Config.WriterDatabase.SSL,
108+
}, &types.DatabaseConfig{
109+
Username: utils.Config.ReaderDatabase.Username,
110+
Password: utils.Config.ReaderDatabase.Password,
111+
Name: utils.Config.ReaderDatabase.Name,
112+
Host: utils.Config.ReaderDatabase.Host,
113+
Port: utils.Config.ReaderDatabase.Port,
114+
MaxOpenConns: utils.Config.ReaderDatabase.MaxOpenConns,
115+
MaxIdleConns: utils.Config.ReaderDatabase.MaxIdleConns,
116+
SSL: utils.Config.ReaderDatabase.SSL,
117+
}, "pgx", "postgres")
118+
}()
119+
96120
// if needed, init the database, cache or bigtable
97121

98122
wg.Wait()

backend/pkg/api/data_access/data_access.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ type DataAccessor interface {
3030
ProtocolRepository
3131
RatelimitRepository
3232
HealthzRepository
33+
MachineRepository
3334

3435
StartDataAccessServices()
3536
Close()

backend/pkg/api/data_access/dummy.go

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import (
66
"fmt"
77
"math/rand/v2"
88
"reflect"
9+
"slices"
910
"time"
1011

1112
"github.com/go-faker/faker/v4"
1213
"github.com/go-faker/faker/v4/pkg/options"
1314
"github.com/gobitfly/beaconchain/pkg/api/enums"
15+
"github.com/gobitfly/beaconchain/pkg/api/types"
1416
t "github.com/gobitfly/beaconchain/pkg/api/types"
1517
"github.com/gobitfly/beaconchain/pkg/userservice"
1618
"github.com/shopspring/decimal"
@@ -253,10 +255,6 @@ func (d *DummyService) GetValidatorDashboardGroupExists(ctx context.Context, das
253255
return true, nil
254256
}
255257

256-
func (d *DummyService) GetValidatorDashboardExistingValidatorCount(ctx context.Context, dashboardId t.VDBIdPrimary, validators []t.VDBValidator) (uint64, error) {
257-
return getDummyData[uint64]()
258-
}
259-
260258
func (d *DummyService) AddValidatorDashboardValidators(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64, validators []t.VDBValidator) ([]t.VDBPostValidatorsData, error) {
261259
return getDummyData[[]t.VDBPostValidatorsData]()
262260
}
@@ -488,6 +486,11 @@ func (d *DummyService) UpdateNotificationSettingsPairedDevice(ctx context.Contex
488486
func (d *DummyService) DeleteNotificationSettingsPairedDevice(ctx context.Context, userId uint64, pairedDeviceId string) error {
489487
return nil
490488
}
489+
490+
func (d *DummyService) UpdateNotificationSettingsClients(ctx context.Context, userId uint64, clientId uint64, IsSubscribed bool) (*t.NotificationSettingsClient, error) {
491+
return getDummyStruct[t.NotificationSettingsClient]()
492+
}
493+
491494
func (d *DummyService) GetNotificationSettingsDashboards(ctx context.Context, userId uint64, cursor string, colSort t.Sort[enums.NotificationSettingsDashboardColumn], search string, limit uint64) ([]t.NotificationSettingsDashboardsTableRow, *t.Paging, error) {
492495
r, p, err := getDummyWithPaging[t.NotificationSettingsDashboardsTableRow]()
493496
for i, n := range r {
@@ -656,3 +659,20 @@ func (d *DummyService) IncrementBundleDeliveryCount(ctx context.Context, bundleV
656659
func (d *DummyService) GetValidatorDashboardMobileWidget(ctx context.Context, dashboardId t.VDBIdPrimary) (*t.MobileWidgetData, error) {
657660
return getDummyStruct[t.MobileWidgetData]()
658661
}
662+
663+
func (d *DummyService) GetUserMachineMetrics(ctx context.Context, userID uint64, limit uint64, offset uint64) (*types.MachineMetricsData, error) {
664+
data, err := getDummyStruct[types.MachineMetricsData]()
665+
if err != nil {
666+
return nil, err
667+
}
668+
data.SystemMetrics = slices.SortedFunc(slices.Values(data.SystemMetrics), func(i, j *t.MachineMetricSystem) int {
669+
return int(i.Timestamp) - int(j.Timestamp)
670+
})
671+
data.ValidatorMetrics = slices.SortedFunc(slices.Values(data.ValidatorMetrics), func(i, j *t.MachineMetricValidator) int {
672+
return int(i.Timestamp) - int(j.Timestamp)
673+
})
674+
data.NodeMetrics = slices.SortedFunc(slices.Values(data.NodeMetrics), func(i, j *t.MachineMetricNode) int {
675+
return int(i.Timestamp) - int(j.Timestamp)
676+
})
677+
return data, nil
678+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package dataaccess
2+
3+
import (
4+
"context"
5+
6+
"github.com/gobitfly/beaconchain/pkg/api/types"
7+
)
8+
9+
type MachineRepository interface {
10+
GetUserMachineMetrics(context context.Context, userID uint64, limit uint64, offset uint64) (*types.MachineMetricsData, error)
11+
}
12+
13+
func (d *DataAccessService) GetUserMachineMetrics(ctx context.Context, userID uint64, limit uint64, offset uint64) (*types.MachineMetricsData, error) {
14+
return d.dummy.GetUserMachineMetrics(ctx, userID, limit, offset)
15+
}

backend/pkg/api/data_access/notifications.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ type NotificationsRepository interface {
2525
UpdateNotificationSettingsNetworks(ctx context.Context, userId uint64, chainId uint64, settings t.NotificationSettingsNetwork) error
2626
UpdateNotificationSettingsPairedDevice(ctx context.Context, userId uint64, pairedDeviceId string, name string, IsNotificationsEnabled bool) error
2727
DeleteNotificationSettingsPairedDevice(ctx context.Context, userId uint64, pairedDeviceId string) error
28+
UpdateNotificationSettingsClients(ctx context.Context, userId uint64, clientId uint64, IsSubscribed bool) (*t.NotificationSettingsClient, error)
2829
GetNotificationSettingsDashboards(ctx context.Context, userId uint64, cursor string, colSort t.Sort[enums.NotificationSettingsDashboardColumn], search string, limit uint64) ([]t.NotificationSettingsDashboardsTableRow, *t.Paging, error)
2930
UpdateNotificationSettingsValidatorDashboard(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64, settings t.NotificationSettingsValidatorDashboard) error
3031
UpdateNotificationSettingsAccountDashboard(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64, settings t.NotificationSettingsAccountDashboard) error
@@ -72,6 +73,9 @@ func (d *DataAccessService) UpdateNotificationSettingsPairedDevice(ctx context.C
7273
func (d *DataAccessService) DeleteNotificationSettingsPairedDevice(ctx context.Context, userId uint64, pairedDeviceId string) error {
7374
return d.dummy.DeleteNotificationSettingsPairedDevice(ctx, userId, pairedDeviceId)
7475
}
76+
func (d *DataAccessService) UpdateNotificationSettingsClients(ctx context.Context, userId uint64, clientId uint64, IsSubscribed bool) (*t.NotificationSettingsClient, error) {
77+
return d.dummy.UpdateNotificationSettingsClients(ctx, userId, clientId, IsSubscribed)
78+
}
7579
func (d *DataAccessService) GetNotificationSettingsDashboards(ctx context.Context, userId uint64, cursor string, colSort t.Sort[enums.NotificationSettingsDashboardColumn], search string, limit uint64) ([]t.NotificationSettingsDashboardsTableRow, *t.Paging, error) {
7680
return d.dummy.GetNotificationSettingsDashboards(ctx, userId, cursor, colSort, search, limit)
7781
}

backend/pkg/api/data_access/vdb.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ type ValidatorDashboardRepository interface {
2828
GetValidatorDashboardGroupCount(ctx context.Context, dashboardId t.VDBIdPrimary) (uint64, error)
2929
GetValidatorDashboardGroupExists(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64) (bool, error)
3030

31-
GetValidatorDashboardExistingValidatorCount(ctx context.Context, dashboardId t.VDBIdPrimary, validators []t.VDBValidator) (uint64, error)
3231
AddValidatorDashboardValidators(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64, validators []t.VDBValidator) ([]t.VDBPostValidatorsData, error)
3332
AddValidatorDashboardValidatorsByDepositAddress(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64, address string, limit uint64) ([]t.VDBPostValidatorsData, error)
3433
AddValidatorDashboardValidatorsByWithdrawalAddress(ctx context.Context, dashboardId t.VDBIdPrimary, groupId uint64, address string, limit uint64) ([]t.VDBPostValidatorsData, error)

0 commit comments

Comments
 (0)