Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
2317204c
Commit
2317204c
authored
May 13, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: list idp
parent
32abc50a
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
15 additions
and
28 deletions
+15
-28
idp_service.go
server/router/api/v1/idp_service.go
+2
-0
memo_service.go
server/router/api/v1/memo_service.go
+0
-17
idp.go
store/idp.go
+1
-0
CreateIdentityProviderDialog.tsx
web/src/components/CreateIdentityProviderDialog.tsx
+10
-9
SSOSection.tsx
web/src/components/Settings/SSOSection.tsx
+1
-1
SignIn.tsx
web/src/pages/SignIn.tsx
+1
-1
No files found.
server/router/api/v1/idp_service.go
View file @
2317204c
...
...
@@ -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
)
}
...
...
server/router/api/v1/memo_service.go
View file @
2317204c
...
...
@@ -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
)
...
...
store/idp.go
View file @
2317204c
...
...
@@ -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
...
...
web/src/components/CreateIdentityProviderDialog.tsx
View file @
2317204c
...
...
@@ -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
({
nam
e
:
""
,
titl
e
:
""
,
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
.
nam
e
,
title
:
identityProvider
.
titl
e
,
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
.
nam
e
,
title
:
template
.
titl
e
,
identifierFilter
:
template
.
identifierFilter
,
});
setType
(
template
.
type
);
...
...
@@ -166,7 +166,7 @@ const CreateIdentityProviderDialog: React.FC<Props> = (props: Props) => {
};
const
allowConfirmAction
=
()
=>
{
if
(
basicInfo
.
nam
e
===
""
)
{
if
(
basicInfo
.
titl
e
===
""
)
{
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
.
nam
e
}));
toast
.
success
(
t
(
"setting.sso-section.sso-created"
,
{
name
:
basicInfo
.
titl
e
}));
}
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"
,
"identifier
F
ilter"
,
"config"
],
updateMask
:
[
"title"
,
"identifier
_f
ilter"
,
"config"
],
});
toast
.
success
(
t
(
"setting.sso-section.sso-updated"
,
{
name
:
basicInfo
.
nam
e
}));
toast
.
success
(
t
(
"setting.sso-section.sso-updated"
,
{
name
:
basicInfo
.
titl
e
}));
}
}
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
.
nam
e
}
value=
{
basicInfo
.
titl
e
}
onChange=
{
(
e
)
=>
setBasicInfo
({
...
basicInfo
,
nam
e
:
e
.
target
.
value
,
titl
e
:
e
.
target
.
value
,
})
}
fullWidth
...
...
web/src/components/Settings/SSOSection.tsx
View file @
2317204c
...
...
@@ -24,7 +24,7 @@ const SSOSection = () => {
};
const
handleDeleteIdentityProvider
=
async
(
identityProvider
:
IdentityProvider
)
=>
{
const
content
=
t
(
"setting.sso-section.confirm-delete"
,
{
name
:
identityProvider
.
nam
e
});
const
content
=
t
(
"setting.sso-section.confirm-delete"
,
{
name
:
identityProvider
.
titl
e
});
showCommonDialog
({
title
:
t
(
"setting.sso-section.delete-sso"
),
...
...
web/src/pages/SignIn.tsx
View file @
2317204c
...
...
@@ -191,7 +191,7 @@ const SignIn = () => {
size=
"md"
onClick=
{
()
=>
handleSignInWithIdentityProvider
(
identityProvider
)
}
>
{
t
(
"common.sign-in-with"
,
{
provider
:
identityProvider
.
nam
e
})
}
{
t
(
"common.sign-in-with"
,
{
provider
:
identityProvider
.
titl
e
})
}
</
Button
>
))
}
</
div
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment