| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package permlib
- import (
- "context"
- "code.clickto.dev/weiym/permlib/pb"
- "google.golang.org/grpc"
- "google.golang.org/grpc/credentials/insecure"
- )
- type grpcClient struct {
- cli pb.PermServiceClient
- }
- func newGRPCClient(target string) (*grpcClient, error) {
- conn, err := grpc.NewClient(target, grpc.WithTransportCredentials(insecure.NewCredentials()))
- if err != nil {
- return nil, err
- }
- return &grpcClient{cli: pb.NewPermServiceClient(conn)}, nil
- }
- func (c *grpcClient) verifyToken(ctx context.Context, accessToken string) (*pb.VerifyTokenResp, error) {
- return c.cli.VerifyToken(ctx, &pb.VerifyTokenReq{AccessToken: accessToken})
- }
- func (c *grpcClient) login(ctx context.Context, productCode, username, password string) (*pb.LoginResp, error) {
- return c.cli.Login(ctx, &pb.LoginReq{
- ProductCode: productCode,
- Username: username,
- Password: password,
- })
- }
- func (c *grpcClient) refreshToken(ctx context.Context, refreshToken, productCode string) (*pb.RefreshTokenResp, error) {
- return c.cli.RefreshToken(ctx, &pb.RefreshTokenReq{
- RefreshToken: refreshToken,
- ProductCode: productCode,
- })
- }
- func (c *grpcClient) syncPermissions(ctx context.Context, appKey, appSecret string, perms []*pb.PermItem) (*pb.SyncPermissionsResp, error) {
- return c.cli.SyncPermissions(ctx, &pb.SyncPermissionsReq{
- AppKey: appKey,
- AppSecret: appSecret,
- Perms: perms,
- })
- }
- func (c *grpcClient) getUserPerms(ctx context.Context, appKey, appSecret string, userId int64, productCode string) (*pb.GetUserPermsResp, error) {
- return c.cli.GetUserPerms(ctx, &pb.GetUserPermsReq{
- AppKey: appKey,
- AppSecret: appSecret,
- UserId: userId,
- ProductCode: productCode,
- })
- }
- func (c *grpcClient) logout(ctx context.Context, accessToken string) error {
- _, err := c.cli.Logout(ctx, &pb.LogoutReq{AccessToken: accessToken})
- return err
- }
|