@@ -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-
9774interface 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+ */
11091export 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 ) {
0 commit comments