mirror of
https://github.com/storytold/irsa-manager.git
synced 2026-10-09 00:09:43 +00:00
add S3 Deletion
This commit is contained in:
@@ -142,14 +142,12 @@ func (a *AwsS3Client) DeleteObjects(ctx context.Context, objectKeys []string) er
|
||||
for _, key := range objectKeys {
|
||||
objectIds = append(objectIds, types.ObjectIdentifier{Key: aws.String(key)})
|
||||
}
|
||||
output, err := a.Client.DeleteObjects(ctx, &s3.DeleteObjectsInput{
|
||||
_, err := a.Client.DeleteObjects(ctx, &s3.DeleteObjectsInput{
|
||||
Bucket: aws.String(a.bucketName),
|
||||
Delete: &types.Delete{Objects: objectIds},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
} else {
|
||||
log.Printf("Deleted %v objects.\n", len(output.Deleted))
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ type OIDCIdPDiscoveryContents interface {
|
||||
type OIDCIdPDiscovery interface {
|
||||
CreateStorage(ctx context.Context) error
|
||||
Upload(ctx context.Context, o OIDCIdPDiscoveryContents) error
|
||||
DeleteStorage(ctx context.Context) error
|
||||
Delete(ctx context.Context, o OIDCIdPDiscoveryContents) error
|
||||
}
|
||||
|
||||
type OIDCIdPFactory interface {
|
||||
|
||||
@@ -60,8 +60,18 @@ func (s *S3IdPDiscovery) Upload(ctx context.Context, o selfhosted.OIDCIdPDiscove
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteStorage delete an S3 bucket
|
||||
func (s *S3IdPDiscovery) DeleteStorage(ctx context.Context) error {
|
||||
// TODO:
|
||||
// Delete delete an S3 bucket and objects
|
||||
func (s *S3IdPDiscovery) Delete(ctx context.Context, o selfhosted.OIDCIdPDiscoveryContents) error {
|
||||
err := s.s3Client.DeleteObjects(ctx, []string{
|
||||
CONFIGURATION_PATH,
|
||||
o.JWKsFileName(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = s.s3Client.DeleteBucket(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -28,11 +28,12 @@ func Execute(ctx context.Context, factory OIDCIdPFactory) error {
|
||||
func Delete(ctx context.Context, factory OIDCIdPFactory) error {
|
||||
issuerMeta := factory.IssuerMeta()
|
||||
discovery := factory.IdPDiscovery()
|
||||
discoveryContents := factory.IdPDiscoveryContents(issuerMeta)
|
||||
idp, err := factory.IdP(issuerMeta)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = discovery.DeleteStorage(ctx)
|
||||
err = discovery.Delete(ctx, discoveryContents)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user