add S3 Deletion

This commit is contained in:
kkb0318
2024-04-13 19:40:36 +09:00
parent 7fdc1ee43c
commit 612ca31cdf
4 changed files with 17 additions and 8 deletions
+1 -3
View File
@@ -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
}
+1 -1
View File
@@ -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
}
+2 -1
View File
@@ -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
}