Skip to content

Commit 397753e

Browse files
committed
fix(app): Rename userEmail to userIdentifier since it can be an ORCID or email
1 parent 5b9de4a commit 397753e

File tree

2 files changed

+25
-36
lines changed

2 files changed

+25
-36
lines changed

packages/openneuro-app/src/scripts/dataset/mutations/update-permissions.tsx

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export function isValidOrcid(orcid: string) {
1717
}
1818
}
1919

20-
const UPDATE_PERMISSIONS = gql`
20+
export const UPDATE_PERMISSIONS = gql`
2121
mutation updatePermissions(
2222
$datasetId: ID!
2323
$userEmail: String!
@@ -44,7 +44,7 @@ const UPDATE_PERMISSIONS = gql`
4444
}
4545
`
4646

47-
const UPDATE_ORCID_PERMISSIONS = gql`
47+
export const UPDATE_ORCID_PERMISSIONS = gql`
4848
mutation updateOrcidPermissions(
4949
$datasetId: ID!
5050
$userOrcid: String!
@@ -71,32 +71,9 @@ const UPDATE_ORCID_PERMISSIONS = gql`
7171
}
7272
`
7373

74-
export const mergeNewPermission = (
75-
datasetId,
76-
oldPermissions,
77-
userInfo,
78-
metadata,
79-
) => {
80-
return {
81-
__typename: "Dataset",
82-
id: datasetId,
83-
permissions: {
84-
...oldPermissions,
85-
userPermissions: [
86-
...oldPermissions.userPermissions,
87-
{
88-
__typename: "Permission",
89-
user: { __typename: "User", ...userInfo },
90-
level: metadata,
91-
},
92-
],
93-
},
94-
}
95-
}
96-
9774
interface UpdateDatasetPermissionsProps {
9875
datasetId: string
99-
userEmail: string
76+
userIdentifier: string
10077
metadata: string
10178
done: () => void
10279
}
@@ -107,9 +84,13 @@ function onError(err: ApolloError) {
10784
)
10885
}
10986

87+
/**
88+
* Add permissions to a dataset based on a value provided
89+
* userIdentifier is either an email or ORCID
90+
*/
11091
export const UpdateDatasetPermissions: FC<UpdateDatasetPermissionsProps> = ({
11192
datasetId,
112-
userEmail,
93+
userIdentifier,
11394
metadata,
11495
done,
11596
}) => {
@@ -129,15 +110,23 @@ export const UpdateDatasetPermissions: FC<UpdateDatasetPermissionsProps> = ({
129110
label="Share"
130111
size="small"
131112
onClick={async () => {
132-
if (isValidOrcid(userEmail)) {
113+
if (isValidOrcid(userIdentifier)) {
133114
await updateDatasetPermissionsOrcid({
134-
variables: { datasetId, userOrcid: userEmail, level: metadata },
115+
variables: {
116+
datasetId,
117+
userOrcid: userIdentifier,
118+
level: metadata,
119+
},
135120
})
136121
done()
137-
} else if (isValidEmail(userEmail)) {
122+
} else if (isValidEmail(userIdentifier)) {
138123
try {
139124
await updateDatasetPermissions({
140-
variables: { datasetId, userEmail, level: metadata },
125+
variables: {
126+
datasetId,
127+
userEmail: userIdentifier,
128+
level: metadata,
129+
},
141130
})
142131
done()
143132
} catch (_err) {

packages/openneuro-app/src/scripts/dataset/routes/manage-permissions.jsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ ShareTable.propTypes = {
8585
}
8686

8787
const Share = ({ datasetId, permissions, reviewers, hasSnapshot }) => {
88-
const [userEmail, setUserEmail] = useState("")
88+
const [userIdentifier, setUserIdentifier] = useState("")
8989
const [access, setAccess] = useState("ro")
9090

9191
const readActive = access === "ro" && "active"
@@ -109,8 +109,8 @@ const Share = ({ datasetId, permissions, reviewers, hasSnapshot }) => {
109109
<input
110110
className="form-control"
111111
type="email"
112-
value={userEmail}
113-
onChange={(e) => setUserEmail(e.target.value)}
112+
value={userIdentifier}
113+
onChange={(e) => setUserIdentifier(e.target.value)}
114114
/>
115115
<div className="input-group-btn">
116116
<Button
@@ -140,9 +140,9 @@ const Share = ({ datasetId, permissions, reviewers, hasSnapshot }) => {
140140
<div className="share-form-controls">
141141
<UpdateDatasetPermissions
142142
datasetId={datasetId}
143-
userEmail={userEmail}
143+
userIdentifier={userIdentifier}
144144
metadata={access}
145-
done={() => setUserEmail("")}
145+
done={() => setUserIdentifier("")}
146146
/>
147147
</div>
148148
</div>

0 commit comments

Comments
 (0)