Skip to content

Commit c7040d3

Browse files
committed
fix: support client local device id
1 parent e5ef06b commit c7040d3

File tree

13 files changed

+356
-20
lines changed

13 files changed

+356
-20
lines changed

app/sephirah/internal/biz/biztiphereth/tiphereth.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ type TipherethRepo interface {
5050
ListPorterContexts(context.Context, model.InternalID, model.Paging) ([]*modelsupervisor.PorterContext, int64, error)
5151
UpdatePorterContext(context.Context, model.InternalID, *modelsupervisor.PorterContext) error
5252
FetchPorterContext(context.Context, model.InternalID) (*modelsupervisor.PorterContext, error)
53-
CreateDevice(context.Context, *modeltiphereth.DeviceInfo) error
53+
CreateDevice(context.Context, model.InternalID, *modeltiphereth.DeviceInfo, *string) (model.InternalID, error)
5454
ListUserSessions(context.Context, model.InternalID) ([]*modeltiphereth.UserSession, error)
5555
DeleteUserSession(context.Context, model.InternalID, model.InternalID) error
5656
FetchDeviceInfo(context.Context, model.InternalID) (*modeltiphereth.DeviceInfo, error)

app/sephirah/internal/biz/biztiphereth/token.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ func (t *Tiphereth) RefreshToken( //nolint:gocognit // TODO
121121
session.DeviceInfo, err = t.repo.FetchDeviceInfo(ctx, *deviceID)
122122
if err != nil {
123123
logger.Infof("FetchDeviceInfo failed: %s", err.Error())
124-
return "", "", pb.ErrorErrorReasonUnauthorized("invalid device")
124+
return "", "", pb.ErrorErrorReasonNotFound("invalid device")
125125
}
126126
needUpdate = true
127127
}
@@ -196,16 +196,18 @@ func (t *Tiphereth) AcquireUserToken(
196196
func (t *Tiphereth) RegisterDevice(
197197
ctx context.Context,
198198
device *modeltiphereth.DeviceInfo,
199+
clientLocalID *string,
199200
) (model.InternalID, *errors.Error) {
200-
if libauth.FromContextAssertUserType(ctx) == nil {
201+
claims := libauth.FromContextAssertUserType(ctx)
202+
if claims == nil {
201203
return 0, bizutils.NoPermissionError()
202204
}
203205
id, err := t.id.New()
204206
if err != nil {
205207
return 0, pb.ErrorErrorReasonUnspecified("%s", err.Error())
206208
}
207209
device.ID = id
208-
err = t.repo.CreateDevice(ctx, device)
210+
id, err = t.repo.CreateDevice(ctx, claims.UserID, device, clientLocalID)
209211
if err != nil {
210212
return 0, pb.ErrorErrorReasonUnspecified("%s", err.Error())
211213
}

app/sephirah/internal/data/internal/ent/deviceinfo.go

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/sephirah/internal/data/internal/ent/deviceinfo/deviceinfo.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/sephirah/internal/data/internal/ent/deviceinfo/where.go

Lines changed: 80 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/sephirah/internal/data/internal/ent/deviceinfo_create.go

Lines changed: 78 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/sephirah/internal/data/internal/ent/deviceinfo_update.go

Lines changed: 52 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)