2024-08-24 07:14:58 +00:00
|
|
|
|
// Code generated by goctl. DO NOT EDIT.
|
2025-02-12 01:51:46 +00:00
|
|
|
|
// goctl 1.7.3
|
2024-08-26 08:33:48 +00:00
|
|
|
|
// Source: permission.proto
|
2024-08-24 07:14:58 +00:00
|
|
|
|
|
|
|
|
|
package server
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
|
2025-02-12 01:51:46 +00:00
|
|
|
|
"code.30cm.net/digimon/app-cloudep-permission-server/gen_result/pb/app-cloudep-permission-server"
|
|
|
|
|
"code.30cm.net/digimon/app-cloudep-permission-server/internal/logic/tokenservice"
|
|
|
|
|
"code.30cm.net/digimon/app-cloudep-permission-server/internal/svc"
|
2024-08-24 07:14:58 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type TokenServiceServer struct {
|
|
|
|
|
svcCtx *svc.ServiceContext
|
2025-02-12 01:51:46 +00:00
|
|
|
|
app_cloudep_permission_server.UnimplementedTokenServiceServer
|
2024-08-24 07:14:58 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewTokenServiceServer(svcCtx *svc.ServiceContext) *TokenServiceServer {
|
|
|
|
|
return &TokenServiceServer{
|
|
|
|
|
svcCtx: svcCtx,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// NewToken 建立一個新的 Token,例如:AccessToken
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) NewToken(ctx context.Context, in *app_cloudep_permission_server.AuthorizationReq) (*app_cloudep_permission_server.TokenResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewNewTokenLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.NewToken(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RefreshToken 更新目前的token 以及裡面包含的一次性 Token
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) RefreshToken(ctx context.Context, in *app_cloudep_permission_server.RefreshTokenReq) (*app_cloudep_permission_server.RefreshTokenResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewRefreshTokenLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.RefreshToken(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// CancelToken 取消 Token,也包含他裡面的 One Time Toke
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) CancelToken(ctx context.Context, in *app_cloudep_permission_server.CancelTokenReq) (*app_cloudep_permission_server.OKResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewCancelTokenLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.CancelToken(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ValidationToken 驗證這個 Token 有沒有效
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) ValidationToken(ctx context.Context, in *app_cloudep_permission_server.ValidationTokenReq) (*app_cloudep_permission_server.ValidationTokenResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewValidationTokenLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.ValidationToken(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// CancelTokens 取消 Token 從UID 視角,以及 token id 視角出發, UID 登出,底下所有 Device ID 也要登出, Token ID 登出, 所有 UID + Device 都要登出
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) CancelTokens(ctx context.Context, in *app_cloudep_permission_server.DoTokenByUIDReq) (*app_cloudep_permission_server.OKResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewCancelTokensLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.CancelTokens(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// CancelTokenByDeviceId 取消 Token, 從 Device 視角出發,可以選,登出這個Device 下所有 token ,登出這個Device 下指定token
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) CancelTokenByDeviceId(ctx context.Context, in *app_cloudep_permission_server.DoTokenByDeviceIDReq) (*app_cloudep_permission_server.OKResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewCancelTokenByDeviceIdLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.CancelTokenByDeviceId(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetUserTokensByDeviceId 取得目前所對應的 DeviceID 所存在的 Tokens
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) GetUserTokensByDeviceId(ctx context.Context, in *app_cloudep_permission_server.DoTokenByDeviceIDReq) (*app_cloudep_permission_server.Tokens, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewGetUserTokensByDeviceIdLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.GetUserTokensByDeviceId(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetUserTokensByUid 取得目前所對應的 UID 所存在的 Tokens
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) GetUserTokensByUid(ctx context.Context, in *app_cloudep_permission_server.QueryTokenByUIDReq) (*app_cloudep_permission_server.Tokens, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewGetUserTokensByUidLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.GetUserTokensByUid(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// NewOneTimeToken 建立一次性使用,例如:RefreshToken
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) NewOneTimeToken(ctx context.Context, in *app_cloudep_permission_server.CreateOneTimeTokenReq) (*app_cloudep_permission_server.CreateOneTimeTokenResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewNewOneTimeTokenLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.NewOneTimeToken(in)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// CancelOneTimeToken 取消一次性使用
|
2025-02-12 01:51:46 +00:00
|
|
|
|
func (s *TokenServiceServer) CancelOneTimeToken(ctx context.Context, in *app_cloudep_permission_server.CancelOneTimeTokenReq) (*app_cloudep_permission_server.OKResp, error) {
|
2024-08-24 07:14:58 +00:00
|
|
|
|
l := tokenservicelogic.NewCancelOneTimeTokenLogic(ctx, s.svcCtx)
|
|
|
|
|
return l.CancelOneTimeToken(in)
|
|
|
|
|
}
|