feat(tasks): implement atomic claims and leases

This commit is contained in:
QiuSW
2026-07-26 16:16:36 +08:00
parent 49db5b8305
commit ce875af889
50 changed files with 7589 additions and 207 deletions
+24 -2
View File
@@ -169,10 +169,30 @@ func buildRouter(
if err != nil {
return nil, err
}
lifecycle, err := usecase.NewLifecycleService(
store,
clock,
ids,
cfg.ClaimLease,
cfg.RunningLease,
cfg.ReadinessTTL,
)
if err != nil {
return nil, err
}
passwords, err := password.NewBcrypt(12)
if err != nil {
return nil, err
}
registerDeviceRoutes, err := httpapi.NewDeviceRouteRegistrar(
httpapi.DeviceServices{
Lifecycle: lifecycle,
Assets: assets,
},
)
if err != nil {
return nil, err
}
auth, err := usecase.NewAuthService(
store,
passwords,
@@ -247,8 +267,10 @@ func buildRouter(
authWebHandler.RegisterPublic(routes)
return registerPublicAuth(routes)
},
RegisterAdminRoutes: registerProtectedRoutes,
AdminSessions: auth,
RegisterAdminRoutes: registerProtectedRoutes,
RegisterDeviceRoutes: registerDeviceRoutes,
AdminSessions: auth,
DeviceAccess: auth,
LogEvent: func(event string) {
log.Print(event)
},