@@ -39,13 +39,18 @@ export type ShareFolderInput = {
3939 action ?: ShareFolderActionInput
4040 manageRecords ?: boolean
4141 manageUsers ?: boolean
42+ records ?: string [ ]
43+ expireAt ?: number
44+ expireIn ?: number
4245}
4346
4447export type ShareFolderUserStatus = {
4548 email : string
4649 success : boolean
4750 status : string
4851 message ?: string
52+ isNew ?: boolean
53+ expiration ?: number
4954}
5055
5156export type ShareFolderResult = {
@@ -428,8 +433,11 @@ async function shareWithSharedFolder(
428433 : sharedFolder . defaultManageRecords
429434 const newUserManageUsers = isBoolean ( input . manageUsers ) ? input . manageUsers : sharedFolder . defaultManageUsers
430435
436+ const emailToIsNew = new Map < string , boolean > ( )
437+
431438 for ( const email of emails ) {
432439 if ( existingMembers . has ( email ) ) {
440+ emailToIsNew . set ( email , false )
433441 usersToUpdate . push ( {
434442 username : email ,
435443 manageRecords : toSetBoolean ( input . manageRecords ) ,
@@ -477,6 +485,7 @@ async function shareWithSharedFolder(
477485 continue
478486 }
479487
488+ emailToIsNew . set ( email , true )
480489 usersToAdd . push ( {
481490 username : email ,
482491 manageRecords : toSetBoolean ( newUserManageRecords ) ,
@@ -524,18 +533,24 @@ async function shareWithSharedFolder(
524533 for ( const addUserStatus of innerResponse ?. sharedFolderAddUserStatus || [ ] ) {
525534 const status = addUserStatus . status || ShareFolderUserResultStatus . Unknown
526535 const success = status === FolderResultStatus . Success || status === FolderResultStatus . Invited
536+ const email = addUserStatus . username || ''
527537 userResults . push ( {
528- email : addUserStatus . username || '' ,
538+ email,
529539 success,
530540 status,
541+ isNew : emailToIsNew . get ( email ) ?? true ,
542+ expiration : input . expireAt ,
531543 } )
532544 }
533545 for ( const updateUserStatus of innerResponse ?. sharedFolderUpdateUserStatus || [ ] ) {
534546 const status = updateUserStatus . status || ShareFolderUserResultStatus . Unknown
547+ const email = updateUserStatus . username || ''
535548 userResults . push ( {
536- email : updateUserStatus . username || '' ,
549+ email,
537550 success : status === FolderResultStatus . Success ,
538551 status,
552+ isNew : emailToIsNew . get ( email ) ?? false ,
553+ expiration : input . expireAt ,
539554 } )
540555 }
541556
0 commit comments