fix: list idp

This commit is contained in:
Steven 2024-05-14 07:04:17 +08:00
parent 32abc50af4
commit 2317204c50
6 changed files with 15 additions and 28 deletions

View file

@ -78,6 +78,8 @@ func (s *APIV1Service) UpdateIdentityProvider(ctx context.Context, request *v1pb
switch field {
case "title":
update.Name = &request.IdentityProvider.Title
case "identifier_filter":
update.IdentifierFilter = &request.IdentityProvider.IdentifierFilter
case "config":
update.Config = convertIdentityProviderConfigToStore(request.IdentityProvider.Type, request.IdentityProvider.Config)
}

View file

@ -1057,23 +1057,6 @@ func getMemoPropertyFromContent(content string) (*storepb.MemoPayload_Property,
return property, nil
}
func ExtractTagsFromContent(content string) ([]string, error) {
nodes, err := parser.Parse(tokenizer.Tokenize(content))
if err != nil {
return nil, errors.Wrap(err, "failed to parse content")
}
tags := []string{}
TraverseASTNodes(nodes, func(node ast.Node) {
if tagNode, ok := node.(*ast.Tag); ok {
tag := tagNode.Content
if !slices.Contains(tags, tag) {
tags = append(tags, tag)
}
}
})
return tags, nil
}
func TraverseASTNodes(nodes []ast.Node, fn func(ast.Node)) {
for _, node := range nodes {
fn(node)

View file

@ -62,6 +62,7 @@ func (s *Store) ListIdentityProviders(ctx context.Context, find *FindIdentityPro
if err != nil {
return nil, err
}
identityProviders = append(identityProviders, identityProvider)
s.idpCache.Store(identityProvider.Id, identityProvider)
}
return identityProviders, nil

View file

@ -105,7 +105,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
const identityProviderTypes = [...new Set(templateList.map((t) => t.type))];
const { confirmCallback, destroy, identityProvider } = props;
const [basicInfo, setBasicInfo] = useState({
name: "",
title: "",
identifierFilter: "",
});
const [type, setType] = useState<IdentityProvider_Type>(IdentityProvider_Type.OAUTH2);
@ -129,7 +129,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
useEffect(() => {
if (identityProvider) {
setBasicInfo({
name: identityProvider.name,
title: identityProvider.title,
identifierFilter: identityProvider.identifierFilter,
});
setType(identityProvider.type);
@ -149,7 +149,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
const template = templateList.find((t) => t.title === selectedTemplate);
if (template) {
setBasicInfo({
name: template.name,
title: template.title,
identifierFilter: template.identifierFilter,
});
setType(template.type);
@ -166,7 +166,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
};
const allowConfirmAction = () => {
if (basicInfo.name === "") {
if (basicInfo.title === "") {
return false;
}
if (type === "OAUTH2") {
@ -205,11 +205,12 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
},
},
});
toast.success(t("setting.sso-section.sso-created", { name: basicInfo.name }));
toast.success(t("setting.sso-section.sso-created", { name: basicInfo.title }));
} else {
await identityProviderServiceClient.updateIdentityProvider({
identityProvider: {
...basicInfo,
name: identityProvider!.name,
type: type,
config: {
oauth2Config: {
@ -218,9 +219,9 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
},
},
},
updateMask: ["title", "identifierFilter", "config"],
updateMask: ["title", "identifier_filter", "config"],
});
toast.success(t("setting.sso-section.sso-updated", { name: basicInfo.name }));
toast.success(t("setting.sso-section.sso-updated", { name: basicInfo.title }));
}
} catch (error: any) {
console.error(error);
@ -280,11 +281,11 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
<Input
className="mb-2"
placeholder={t("common.name")}
value={basicInfo.name}
value={basicInfo.title}
onChange={(e) =>
setBasicInfo({
...basicInfo,
name: e.target.value,
title: e.target.value,
})
}
fullWidth

View file

@ -24,7 +24,7 @@ const SSOSection = () => {
};
const handleDeleteIdentityProvider = async (identityProvider: IdentityProvider) => {
const content = t("setting.sso-section.confirm-delete", { name: identityProvider.name });
const content = t("setting.sso-section.confirm-delete", { name: identityProvider.title });
showCommonDialog({
title: t("setting.sso-section.delete-sso"),

View file

@ -191,7 +191,7 @@ const SignIn = () => {
size="md"
onClick={() => handleSignInWithIdentityProvider(identityProvider)}
>
{t("common.sign-in-with", { provider: identityProvider.name })}
{t("common.sign-in-with", { provider: identityProvider.title })}
</Button>
))}
</div>