Skip to content

Commit b8f9100

Browse files
authored
Prevent ExpiryType from being publicly implementable (Azure#19645)
The type is exported but is not meant for external implementation.
1 parent 123fc38 commit b8f9100

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

sdk/storage/azblob/internal/exported/set_expiry.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77
package exported
88

99
import (
10-
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
11-
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated"
1210
"net/http"
1311
"strconv"
1412
"time"
13+
14+
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
15+
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated"
1516
)
1617

1718
// ExpiryType defines values for ExpiryType
1819
type ExpiryType interface {
1920
Format(o *SetExpiryOptions) (generated.ExpiryOptions, *generated.BlobClientSetExpiryOptions)
21+
notPubliclyImplementable()
2022
}
2123

2224
// ExpiryTypeAbsolute defines the absolute time for the blob expiry
@@ -44,18 +46,26 @@ func (e ExpiryTypeAbsolute) Format(o *SetExpiryOptions) (generated.ExpiryOptions
4446
}
4547
}
4648

49+
func (e ExpiryTypeAbsolute) notPubliclyImplementable() {}
50+
4751
func (e ExpiryTypeRelativeToNow) Format(o *SetExpiryOptions) (generated.ExpiryOptions, *generated.BlobClientSetExpiryOptions) {
4852
return generated.ExpiryOptionsRelativeToNow, &generated.BlobClientSetExpiryOptions{
4953
ExpiresOn: to.Ptr(strconv.FormatInt(time.Duration(e).Milliseconds(), 10)),
5054
}
5155
}
5256

57+
func (e ExpiryTypeRelativeToNow) notPubliclyImplementable() {}
58+
5359
func (e ExpiryTypeRelativeToCreation) Format(o *SetExpiryOptions) (generated.ExpiryOptions, *generated.BlobClientSetExpiryOptions) {
5460
return generated.ExpiryOptionsRelativeToCreation, &generated.BlobClientSetExpiryOptions{
5561
ExpiresOn: to.Ptr(strconv.FormatInt(time.Duration(e).Milliseconds(), 10)),
5662
}
5763
}
5864

65+
func (e ExpiryTypeRelativeToCreation) notPubliclyImplementable() {}
66+
5967
func (e ExpiryTypeNever) Format(o *SetExpiryOptions) (generated.ExpiryOptions, *generated.BlobClientSetExpiryOptions) {
6068
return generated.ExpiryOptionsNeverExpire, nil
6169
}
70+
71+
func (e ExpiryTypeNever) notPubliclyImplementable() {}

0 commit comments

Comments
 (0)