Skip to content

Commit

Permalink
Add authenicated user to person list for search filtering
Browse files Browse the repository at this point in the history
As expected, a user does not see themselves in their contact list,
 however, when using the contact list for filtering search, a user,
 might want to limit the search to things that pertain to them.

Signed-off-by: fenn-cs <[email protected]>
  • Loading branch information
Fenn-CS committed Dec 12, 2023
1 parent 527c51a commit c0374c7
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
16 changes: 16 additions & 0 deletions core/src/services/UnifiedSearchService.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

import { generateOcsUrl, generateUrl } from '@nextcloud/router'
import axios from '@nextcloud/axios'
import { getCurrentUser } from '@nextcloud/auth'

/**
* Create a cancel token
Expand Down Expand Up @@ -103,5 +104,20 @@ export async function getContacts({ searchTerm }) {
const { data: { contacts } } = await axios.post(generateUrl('/contactsmenu/contacts'), {
filter: searchTerm,
})
/*
* Add authenticated user to list of contacts for search filter
* If authtenicated user is searching/filtering, do not add them to the list
*/
if (!searchTerm) {
let authenticatedUser = getCurrentUser()
authenticatedUser = {
id: authenticatedUser.uid,
fullName: 'Me',
emailAddresses: [],
}
contacts.unshift(authenticatedUser)
return contacts
}

return contacts
}
6 changes: 3 additions & 3 deletions core/src/views/UnifiedSearchModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ export default {
filteredProviders: [],
searching: false,
searchQuery: '',
placesFilter: '',
placessearchTerm: '',
dateTimeFilter: null,
filters: [],
results: [],
Expand Down Expand Up @@ -244,7 +244,7 @@ export default {
this.providers = providers
console.debug('Search providers', this.providers)
})
getContacts({ filter: '' }).then((contacts) => {
getContacts({ searchTerm: '' }).then((contacts) => {
this.contacts = this.mapContacts(contacts)
console.debug('Contacts', this.contacts)
})
Expand Down Expand Up @@ -364,7 +364,7 @@ export default {
})
},
filterContacts(query) {
getContacts({ filter: query }).then((contacts) => {
getContacts({ searchTerm: query }).then((contacts) => {
this.contacts = this.mapContacts(contacts)
console.debug(`Contacts filtered by ${query}`, this.contacts)
})
Expand Down

0 comments on commit c0374c7

Please sign in to comment.