mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-23 18:15:26 +00:00
Create helper functions around gRPC interface
This commit is contained in:
parent
b1a9b1ada1
commit
f9137f3bb0
56
grpcv1.go
56
grpcv1.go
@ -349,6 +349,62 @@ func (api headscaleV1APIServer) EnableMachineRoutes(
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (api headscaleV1APIServer) CreateApiKey(
|
||||||
|
ctx context.Context,
|
||||||
|
request *v1.CreateApiKeyRequest,
|
||||||
|
) (*v1.CreateApiKeyResponse, error) {
|
||||||
|
var expiration time.Time
|
||||||
|
if request.GetExpiration() != nil {
|
||||||
|
expiration = request.GetExpiration().AsTime()
|
||||||
|
}
|
||||||
|
|
||||||
|
apiKey, _, err := api.h.CreateAPIKey(
|
||||||
|
&expiration,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &v1.CreateApiKeyResponse{ApiKey: apiKey}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (api headscaleV1APIServer) ExpireApiKey(
|
||||||
|
ctx context.Context,
|
||||||
|
request *v1.ExpireApiKeyRequest,
|
||||||
|
) (*v1.ExpireApiKeyResponse, error) {
|
||||||
|
var apiKey *APIKey
|
||||||
|
var err error
|
||||||
|
|
||||||
|
apiKey, err = api.h.GetAPIKey(request.Prefix)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = api.h.ExpireAPIKey(apiKey)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &v1.ExpireApiKeyResponse{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (api headscaleV1APIServer) ListApiKeys(
|
||||||
|
ctx context.Context,
|
||||||
|
request *v1.ListApiKeysRequest,
|
||||||
|
) (*v1.ListApiKeysResponse, error) {
|
||||||
|
apiKeys, err := api.h.ListAPIKeys()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
response := make([]*v1.ApiKey, len(apiKeys))
|
||||||
|
for index, key := range apiKeys {
|
||||||
|
response[index] = key.toProto()
|
||||||
|
}
|
||||||
|
|
||||||
|
return &v1.ListApiKeysResponse{ApiKeys: response}, nil
|
||||||
|
}
|
||||||
|
|
||||||
// The following service calls are for testing and debugging
|
// The following service calls are for testing and debugging
|
||||||
func (api headscaleV1APIServer) DebugCreateMachine(
|
func (api headscaleV1APIServer) DebugCreateMachine(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
|
Loading…
Reference in New Issue
Block a user