Skip to content

Commit c380f11

Browse files
committed
chore: use type constants
1 parent 9c0adae commit c380f11

File tree

3 files changed

+11
-32
lines changed

3 files changed

+11
-32
lines changed

cmd/sso.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/supabase/cli/internal/sso/update"
1313
"github.com/supabase/cli/internal/utils"
1414
"github.com/supabase/cli/internal/utils/flags"
15+
"github.com/supabase/cli/pkg/api"
1516
)
1617

1718
var (
@@ -28,13 +29,11 @@ var (
2829

2930
ssoNameIDFormat = utils.EnumFlag{
3031
Allowed: []string{
31-
"",
32-
"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
33-
"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified",
34-
"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
35-
"urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
32+
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress),
33+
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatUnspecified),
34+
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatPersistent),
35+
string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatTransient),
3636
},
37-
Value: "",
3837
}
3938

4039
ssoMetadataFile string
@@ -160,6 +159,7 @@ func init() {
160159
ssoAddFlags.StringVar(&ssoMetadataURL, "metadata-url", "", "URL pointing to a SAML 2.0 Metadata XML document describing the identity provider.")
161160
ssoAddFlags.BoolVar(&ssoSkipURLValidation, "skip-url-validation", false, "Whether local validation of the SAML 2.0 Metadata URL should not be performed.")
162161
ssoAddFlags.StringVar(&ssoAttributeMappingFile, "attribute-mapping-file", "", "File containing a JSON mapping between SAML attributes to custom JWT claims.")
162+
ssoAddFlags.Var(&ssoNameIDFormat, "name-id-format", "URI reference representing the classification of string-based identifier information.")
163163
ssoAddCmd.MarkFlagsMutuallyExclusive("metadata-file", "metadata-url")
164164
cobra.CheckErr(ssoAddCmd.MarkFlagRequired("type"))
165165
cobra.CheckErr(ssoAddCmd.MarkFlagFilename("metadata-file", "xml"))
@@ -173,6 +173,7 @@ func init() {
173173
ssoUpdateFlags.StringVar(&ssoMetadataURL, "metadata-url", "", "URL pointing to a SAML 2.0 Metadata XML document describing the identity provider.")
174174
ssoUpdateFlags.BoolVar(&ssoSkipURLValidation, "skip-url-validation", false, "Whether local validation of the SAML 2.0 Metadata URL should not be performed.")
175175
ssoUpdateFlags.StringVar(&ssoAttributeMappingFile, "attribute-mapping-file", "", "File containing a JSON mapping between SAML attributes to custom JWT claims.")
176+
ssoUpdateFlags.Var(&ssoNameIDFormat, "name-id-format", "URI reference representing the classification of string-based identifier information.")
176177
ssoUpdateCmd.MarkFlagsMutuallyExclusive("metadata-file", "metadata-url")
177178
ssoUpdateCmd.MarkFlagsMutuallyExclusive("domains", "add-domains")
178179
ssoUpdateCmd.MarkFlagsMutuallyExclusive("domains", "remove-domains")

internal/sso/create/create.go

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/supabase/cli/internal/sso/internal/saml"
1212
"github.com/supabase/cli/internal/utils"
1313
"github.com/supabase/cli/pkg/api"
14+
"github.com/supabase/cli/pkg/cast"
1415
)
1516

1617
var Fs = afero.NewOsFs()
@@ -67,20 +68,8 @@ func Run(ctx context.Context, params RunParams) error {
6768
body.Domains = &params.Domains
6869
}
6970

70-
nameIDFormat := api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress
71-
switch params.NameIDFormat {
72-
case string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress):
73-
nameIDFormat = api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress
74-
case string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatUnspecified):
75-
nameIDFormat = api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatUnspecified
76-
case string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatPersistent):
77-
nameIDFormat = api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatPersistent
78-
case string(api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatTransient):
79-
nameIDFormat = api.CreateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatTransient
80-
}
81-
8271
if params.NameIDFormat != "" {
83-
body.NameIdFormat = &nameIDFormat
72+
body.NameIdFormat = cast.Ptr(api.CreateProviderBodyNameIdFormat(params.NameIDFormat))
8473
}
8574

8675
resp, err := utils.GetSupabase().V1CreateASsoProviderWithResponse(ctx, params.ProjectRef, body)

internal/sso/update/update.go

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/supabase/cli/internal/sso/internal/saml"
1313
"github.com/supabase/cli/internal/utils"
1414
"github.com/supabase/cli/pkg/api"
15+
"github.com/supabase/cli/pkg/cast"
1516
)
1617

1718
var Fs = afero.NewOsFs()
@@ -112,20 +113,8 @@ func Run(ctx context.Context, params RunParams) error {
112113
body.Domains = &domains
113114
}
114115

115-
nameIDFormat := api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress
116-
switch params.NameIDFormat {
117-
case string(api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress):
118-
nameIDFormat = api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatEmailAddress
119-
case string(api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatUnspecified):
120-
nameIDFormat = api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML11NameidFormatUnspecified
121-
case string(api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatPersistent):
122-
nameIDFormat = api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatPersistent
123-
case string(api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatTransient):
124-
nameIDFormat = api.UpdateProviderBodyNameIdFormatUrnOasisNamesTcSAML20NameidFormatTransient
125-
}
126-
127116
if params.NameIDFormat != "" {
128-
body.NameIdFormat = &nameIDFormat
117+
body.NameIdFormat = cast.Ptr(api.UpdateProviderBodyNameIdFormat(params.NameIDFormat))
129118
}
130119

131120
putResp, err := utils.GetSupabase().V1UpdateASsoProviderWithResponse(ctx, params.ProjectRef, parsed, body)

0 commit comments

Comments
 (0)