mirror of
https://github.com/pomerium/pomerium.git
synced 2025-06-03 11:22:45 +02:00
dashboard: improve display of device credentials, allow deletion (#2829)
* dashboard: improve display of device credentials, allow deletion * fix test
This commit is contained in:
parent
c064bc8e0e
commit
838c9e3a3d
8 changed files with 225 additions and 36 deletions
|
@ -5,11 +5,65 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
"github.com/pomerium/pomerium/pkg/encoding/base58"
|
||||
"github.com/pomerium/pomerium/pkg/grpc/databroker"
|
||||
"github.com/pomerium/pomerium/pkg/protoutil"
|
||||
)
|
||||
|
||||
// DeleteCredential deletes a credential from the databroker.
|
||||
func DeleteCredential(
|
||||
ctx context.Context,
|
||||
client databroker.DataBrokerServiceClient,
|
||||
credentialID string,
|
||||
) (*Credential, error) {
|
||||
credential, err := GetCredential(ctx, client, credentialID)
|
||||
if status.Code(err) == codes.NotFound {
|
||||
return nil, nil
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
any := protoutil.NewAny(credential)
|
||||
_, err = client.Put(ctx, &databroker.PutRequest{
|
||||
Record: &databroker.Record{
|
||||
Type: any.GetTypeUrl(),
|
||||
Id: credentialID,
|
||||
Data: any,
|
||||
DeletedAt: timestamppb.Now(),
|
||||
},
|
||||
})
|
||||
return credential, err
|
||||
}
|
||||
|
||||
// DeleteEnrollment deletes an enrollment from the databroker.
|
||||
func DeleteEnrollment(
|
||||
ctx context.Context,
|
||||
client databroker.DataBrokerServiceClient,
|
||||
enrollmentID string,
|
||||
) (*Enrollment, error) {
|
||||
enrollment, err := GetEnrollment(ctx, client, enrollmentID)
|
||||
if status.Code(err) == codes.NotFound {
|
||||
return nil, nil
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
any := protoutil.NewAny(enrollment)
|
||||
_, err = client.Put(ctx, &databroker.PutRequest{
|
||||
Record: &databroker.Record{
|
||||
Type: any.GetTypeUrl(),
|
||||
Id: enrollmentID,
|
||||
Data: any,
|
||||
DeletedAt: timestamppb.Now(),
|
||||
},
|
||||
})
|
||||
return enrollment, err
|
||||
}
|
||||
|
||||
// GetCredential gets a credential from the databroker.
|
||||
func GetCredential(
|
||||
ctx context.Context,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue