mirror of
https://github.com/storytold/irsa-manager.git
synced 2026-10-18 07:33:15 +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 {
|
for _, key := range objectKeys {
|
||||||
objectIds = append(objectIds, types.ObjectIdentifier{Key: aws.String(key)})
|
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),
|
Bucket: aws.String(a.bucketName),
|
||||||
Delete: &types.Delete{Objects: objectIds},
|
Delete: &types.Delete{Objects: objectIds},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
} else {
|
|
||||||
log.Printf("Deleted %v objects.\n", len(output.Deleted))
|
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ type OIDCIdPDiscoveryContents interface {
|
|||||||
type OIDCIdPDiscovery interface {
|
type OIDCIdPDiscovery interface {
|
||||||
CreateStorage(ctx context.Context) error
|
CreateStorage(ctx context.Context) error
|
||||||
Upload(ctx context.Context, o OIDCIdPDiscoveryContents) error
|
Upload(ctx context.Context, o OIDCIdPDiscoveryContents) error
|
||||||
DeleteStorage(ctx context.Context) error
|
Delete(ctx context.Context, o OIDCIdPDiscoveryContents) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type OIDCIdPFactory interface {
|
type OIDCIdPFactory interface {
|
||||||
|
|||||||
@@ -60,8 +60,18 @@ func (s *S3IdPDiscovery) Upload(ctx context.Context, o selfhosted.OIDCIdPDiscove
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteStorage delete an S3 bucket
|
// Delete delete an S3 bucket and objects
|
||||||
func (s *S3IdPDiscovery) DeleteStorage(ctx context.Context) error {
|
func (s *S3IdPDiscovery) Delete(ctx context.Context, o selfhosted.OIDCIdPDiscoveryContents) error {
|
||||||
// TODO:
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,11 +28,12 @@ func Execute(ctx context.Context, factory OIDCIdPFactory) error {
|
|||||||
func Delete(ctx context.Context, factory OIDCIdPFactory) error {
|
func Delete(ctx context.Context, factory OIDCIdPFactory) error {
|
||||||
issuerMeta := factory.IssuerMeta()
|
issuerMeta := factory.IssuerMeta()
|
||||||
discovery := factory.IdPDiscovery()
|
discovery := factory.IdPDiscovery()
|
||||||
|
discoveryContents := factory.IdPDiscoveryContents(issuerMeta)
|
||||||
idp, err := factory.IdP(issuerMeta)
|
idp, err := factory.IdP(issuerMeta)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = discovery.DeleteStorage(ctx)
|
err = discovery.Delete(ctx, discoveryContents)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user