mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	Never use /api/v1 from Gitea UI Pages (#19318)
Reusing `/api/v1` from Gitea UI Pages have pros and cons. Pros: 1) Less code copy Cons: 1) API/v1 have to support shared session with page requests. 2) You need to consider for each other when you want to change something about api/v1 or page. This PR moves all dependencies to API/v1 from UI Pages. Partially replace #16052
This commit is contained in:
		| @@ -8,7 +8,7 @@ export function initCompSearchUserBox() { | ||||
|   $searchUserBox.search({ | ||||
|     minCharacters: 2, | ||||
|     apiSettings: { | ||||
|       url: `${appSubUrl}/api/v1/users/search?q={query}`, | ||||
|       url: `${appSubUrl}/user/search?q={query}`, | ||||
|       onResponse(response) { | ||||
|         const items = []; | ||||
|         const searchQueryUppercase = $searchUserBox.find('input').val().toUpperCase(); | ||||
|   | ||||
| @@ -158,7 +158,7 @@ async function updateNotificationTable() { | ||||
| async function updateNotificationCount() { | ||||
|   const data = await $.ajax({ | ||||
|     type: 'GET', | ||||
|     url: `${appSubUrl}/api/v1/notifications/new`, | ||||
|     url: `${appSubUrl}/notifications/new`, | ||||
|     headers: { | ||||
|       'X-Csrf-Token': csrfToken, | ||||
|     }, | ||||
|   | ||||
| @@ -20,7 +20,7 @@ export function initOrgTeamSearchRepoBox() { | ||||
|   $searchRepoBox.search({ | ||||
|     minCharacters: 2, | ||||
|     apiSettings: { | ||||
|       url: `${appSubUrl}/api/v1/repos/search?q={query}&uid=${$searchRepoBox.data('uid')}`, | ||||
|       url: `${appSubUrl}/repo/search?q={query}&uid=${$searchRepoBox.data('uid')}`, | ||||
|       onResponse(response) { | ||||
|         const items = []; | ||||
|         $.each(response.data, (_i, item) => { | ||||
|   | ||||
| @@ -91,7 +91,7 @@ export function initRepoTopicBar() { | ||||
|       label: 'ui small label' | ||||
|     }, | ||||
|     apiSettings: { | ||||
|       url: `${appSubUrl}/api/v1/topics/search?q={query}`, | ||||
|       url: `${appSubUrl}/explore/topics/search?q={query}`, | ||||
|       throttle: 500, | ||||
|       cache: false, | ||||
|       onResponse(res) { | ||||
|   | ||||
| @@ -54,7 +54,7 @@ function updateDeadline(deadlineString) { | ||||
|     realDeadline = new Date(newDate); | ||||
|   } | ||||
|  | ||||
|   $.ajax(`${$('#update-issue-deadline-form').attr('action')}/deadline`, { | ||||
|   $.ajax(`${$('#update-issue-deadline-form').attr('action')}`, { | ||||
|     data: JSON.stringify({ | ||||
|       due_date: realDeadline, | ||||
|     }), | ||||
| @@ -91,9 +91,9 @@ export function initRepoIssueList() { | ||||
|   const repoId = $('#repoId').val(); | ||||
|   const crossRepoSearch = $('#crossRepoSearch').val(); | ||||
|   const tp = $('#type').val(); | ||||
|   let issueSearchUrl = `${appSubUrl}/api/v1/repos/${repolink}/issues?q={query}&type=${tp}`; | ||||
|   let issueSearchUrl = `${appSubUrl}/${repolink}/issues/search?q={query}&type=${tp}`; | ||||
|   if (crossRepoSearch === 'true') { | ||||
|     issueSearchUrl = `${appSubUrl}/api/v1/repos/issues/search?q={query}&priority_repo_id=${repoId}&type=${tp}`; | ||||
|     issueSearchUrl = `${appSubUrl}/issues/search?q={query}&priority_repo_id=${repoId}&type=${tp}`; | ||||
|   } | ||||
|   $('#new-dependency-drop-list') | ||||
|     .dropdown({ | ||||
| @@ -292,7 +292,7 @@ export function initRepoIssueReferenceRepositorySearch() { | ||||
|   $('.issue_reference_repository_search') | ||||
|     .dropdown({ | ||||
|       apiSettings: { | ||||
|         url: `${appSubUrl}/api/v1/repos/search?q={query}&limit=20`, | ||||
|         url: `${appSubUrl}/repo/search?q={query}&limit=20`, | ||||
|         onResponse(response) { | ||||
|           const filteredResponse = {success: true, results: []}; | ||||
|           $.each(response.data, (_r, repo) => { | ||||
|   | ||||
| @@ -21,7 +21,7 @@ export function initRepoSettingSearchTeamBox() { | ||||
|   $searchTeamBox.search({ | ||||
|     minCharacters: 2, | ||||
|     apiSettings: { | ||||
|       url: `${appSubUrl}/api/v1/orgs/${$searchTeamBox.data('org')}/teams/search?q={query}`, | ||||
|       url: `${appSubUrl}/org/${$searchTeamBox.data('org')}/teams/-/search?q={query}`, | ||||
|       headers: {'X-Csrf-Token': csrfToken}, | ||||
|       onResponse(response) { | ||||
|         const items = []; | ||||
|   | ||||
| @@ -23,7 +23,7 @@ export function initRepoTemplateSearch() { | ||||
|     $('#repo_template_search') | ||||
|       .dropdown({ | ||||
|         apiSettings: { | ||||
|           url: `${appSubUrl}/api/v1/repos/search?q={query}&template=true&priority_owner_id=${$('#uid').val()}`, | ||||
|           url: `${appSubUrl}/repo/search?q={query}&template=true&priority_owner_id=${$('#uid').val()}`, | ||||
|           onResponse(response) { | ||||
|             const filteredResponse = {success: true, results: []}; | ||||
|             filteredResponse.results.push({ | ||||
|   | ||||
| @@ -111,7 +111,7 @@ async function updateStopwatchWithCallback(callback, timeout) { | ||||
| async function updateStopwatch() { | ||||
|   const data = await $.ajax({ | ||||
|     type: 'GET', | ||||
|     url: `${appSubUrl}/api/v1/user/stopwatches`, | ||||
|     url: `${appSubUrl}/user/stopwatches`, | ||||
|     headers: {'X-Csrf-Token': csrfToken}, | ||||
|   }); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user