chore: split axios request options into platform (#3927)
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
This commit is contained in:
@@ -15,6 +15,7 @@ import { TeamRequest } from "./TeamRequest"
|
|||||||
import { Service } from "dioc"
|
import { Service } from "dioc"
|
||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
import { Ref } from "vue"
|
import { Ref } from "vue"
|
||||||
|
import { platform } from "~/platform"
|
||||||
|
|
||||||
type CollectionSearchMeta = {
|
type CollectionSearchMeta = {
|
||||||
isSearchResult?: boolean
|
isSearchResult?: boolean
|
||||||
@@ -199,6 +200,8 @@ export class TeamSearchService extends Service {
|
|||||||
this.searchResultsRequests = {}
|
this.searchResultsRequests = {}
|
||||||
this.expandedCollections.value = []
|
this.expandedCollections.value = []
|
||||||
|
|
||||||
|
const axiosPlatformConfig = platform.auth.axiosPlatformConfig?.() ?? {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const searchResponse = await axios.get(
|
const searchResponse = await axios.get(
|
||||||
`${
|
`${
|
||||||
@@ -206,9 +209,7 @@ export class TeamSearchService extends Service {
|
|||||||
}/team-collection/search/${teamID}?searchQuery=${encodeURIComponent(
|
}/team-collection/search/${teamID}?searchQuery=${encodeURIComponent(
|
||||||
query
|
query
|
||||||
)}`,
|
)}`,
|
||||||
{
|
axiosPlatformConfig
|
||||||
withCredentials: true,
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (searchResponse.status !== 200) {
|
if (searchResponse.status !== 200) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { Observable } from "rxjs"
|
|||||||
import { Component } from "vue"
|
import { Component } from "vue"
|
||||||
import { getI18n } from "~/modules/i18n"
|
import { getI18n } from "~/modules/i18n"
|
||||||
import * as E from "fp-ts/Either"
|
import * as E from "fp-ts/Either"
|
||||||
|
import { AxiosRequestConfig } from "axios"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A common (and required) set of fields that describe a user.
|
* A common (and required) set of fields that describe a user.
|
||||||
@@ -135,6 +136,15 @@ export type AuthPlatformDef = {
|
|||||||
*/
|
*/
|
||||||
getGQLClientOptions?: () => Partial<ClientOptions>
|
getGQLClientOptions?: () => Partial<ClientOptions>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* called by the platform to provide additional/different config options when
|
||||||
|
* sending requests with axios
|
||||||
|
* eg: SH needs to include cookies in the request, while Central doesn't and throws a cors error if it does
|
||||||
|
*
|
||||||
|
* @returns AxiosRequestConfig
|
||||||
|
*/
|
||||||
|
axiosPlatformConfig?: () => AxiosRequestConfig
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the string content that should be returned when the user selects to
|
* Returns the string content that should be returned when the user selects to
|
||||||
* copy auth token from Developer Options.
|
* copy auth token from Developer Options.
|
||||||
|
|||||||
@@ -211,6 +211,13 @@ export const def: AuthPlatformDef = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
axiosPlatformConfig() {
|
||||||
|
return {
|
||||||
|
// for including cookies in the request
|
||||||
|
withCredentials: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* it is not possible for us to know if the current cookie is expired because we cannot access http-only cookies from js
|
* it is not possible for us to know if the current cookie is expired because we cannot access http-only cookies from js
|
||||||
* hence just returning if the currentUser$ has a value associated with it
|
* hence just returning if the currentUser$ has a value associated with it
|
||||||
|
|||||||
Reference in New Issue
Block a user