@@ -35,15 +35,15 @@ import { addEmployeeWithoutInvite } from '../actions/addEmployeeWithoutInvite';
3535import { MultiRoleCombobox } from './MultiRoleCombobox' ;
3636
3737// --- Constants for Roles ---
38- const selectableRoles = [ 'admin' , 'auditor' , 'employee' ] as const satisfies Readonly <
38+ const selectableRoles = [ 'admin' , 'auditor' , 'employee' , 'contractor' ] as const satisfies Readonly <
3939 [ Role , ...Role [ ] ]
4040> ;
4141type InviteRole = ( typeof selectableRoles ) [ number ] ;
4242const DEFAULT_ROLES : InviteRole [ ] = [ ] ;
4343
4444// Type guard to check if a string is a valid InviteRole
4545const isInviteRole = ( role : string ) : role is InviteRole => {
46- return role === 'admin' || role === 'auditor' || role === 'employee' ;
46+ return role === 'admin' || role === 'auditor' || role === 'employee' || role === 'contractor' ;
4747} ;
4848
4949// --- Schemas ---
@@ -159,7 +159,8 @@ export function InviteMembersModal({
159159 // Process each invitation sequentially
160160 for ( const invite of values . manualInvites ) {
161161 const hasEmployeeRoleAndNoAdmin =
162- ! invite . roles . includes ( 'admin' ) && invite . roles . includes ( 'employee' ) ;
162+ ! invite . roles . includes ( 'admin' ) &&
163+ ( invite . roles . includes ( 'employee' ) || invite . roles . includes ( 'contractor' ) ) ;
163164 try {
164165 if ( hasEmployeeRoleAndNoAdmin ) {
165166 await addEmployeeWithoutInvite ( {
@@ -320,7 +321,8 @@ export function InviteMembersModal({
320321
321322 // Attempt to invite
322323 const hasEmployeeRoleAndNoAdmin =
323- validRoles . includes ( 'employee' ) && ! validRoles . includes ( 'admin' ) ;
324+ ( validRoles . includes ( 'employee' ) || validRoles . includes ( 'contractor' ) ) &&
325+ ! validRoles . includes ( 'admin' ) ;
324326 try {
325327 if ( hasEmployeeRoleAndNoAdmin ) {
326328 await addEmployeeWithoutInvite ( {
0 commit comments