mirror of
https://github.com/hay-kot/homebox.git
synced 2024-12-22 06:46:32 +00:00
fix 3 places where API URLs were not constructed by function route (#451)
* Fixed 3 places where API URLs were not constructed by function route(path, params).
* autofix
---------
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
Former-commit-id: 06eb6c1f91
This commit is contained in:
parent
4b071bccda
commit
0eb0b283b2
4 changed files with 12 additions and 7 deletions
|
@ -15,10 +15,12 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { route } from "../../lib/api/base";
|
||||
|
||||
function getQRCodeUrl(): string {
|
||||
const currentURL = window.location.href;
|
||||
|
||||
return `/api/v1/qrcode?data=${encodeURIComponent(currentURL)}`;
|
||||
return route(`/qrcode`, { data: encodeURIComponent(currentURL) });
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { Requests } from "../../requests";
|
||||
import { route } from ".";
|
||||
|
||||
const ZERO_DATE = "0001-01-01T00:00:00Z";
|
||||
|
||||
|
@ -70,12 +71,12 @@ export class BaseAPI {
|
|||
this.attachmentToken = attachmentToken;
|
||||
}
|
||||
|
||||
// if a attachmentToken is present it will be added to URL as a query param
|
||||
// if an attachmentToken is present, it will be added to URL as a query param
|
||||
// this is done with a simple appending of the query param to the URL. If your
|
||||
// URL already has a query param, this will not work.
|
||||
authURL(url: string): string {
|
||||
if (this.attachmentToken) {
|
||||
return `/api/v1${url}?access_token=${this.attachmentToken}`;
|
||||
return route(url, { access_token: this.attachmentToken });
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
|
|
@ -11,13 +11,13 @@ export function overrideParts(host: string, prefix: string) {
|
|||
export type QueryValue = string | string[] | number | number[] | boolean | null | undefined;
|
||||
|
||||
/**
|
||||
* route is a the main URL builder for the API. It will use a predefined host and prefix (global)
|
||||
* in the urls.ts file and then append the passed in path parameter uring the `URL` class from the
|
||||
* route is the main URL builder for the API. It will use a predefined host and prefix (global)
|
||||
* in the urls.ts file and then append the passed-in path parameter using the `URL` class from the
|
||||
* browser. It will also append any query parameters passed in as the second parameter.
|
||||
*
|
||||
* The default host `http://localhost.com` is removed from the path if it is present. This allows us
|
||||
* to bootstrap the API with different hosts as needed (like for testing) but still allows us to use
|
||||
* relative URLs in pruduction because the API and client bundle are served from the same server/host.
|
||||
* relative URLs in production because the API and client bundle are served from the same server/host.
|
||||
*/
|
||||
export function route(rest: string, params: Record<string, QueryValue> = {}): string {
|
||||
const url = new URL(parts.prefix + rest, parts.host);
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { route } from "../../lib/api/base";
|
||||
|
||||
definePageMeta({
|
||||
middleware: ["auth"],
|
||||
layout: false,
|
||||
|
@ -176,7 +178,7 @@
|
|||
|
||||
const data = `${origin}/a/${assetID}`;
|
||||
|
||||
return `/api/v1/qrcode?data=${encodeURIComponent(data)}`;
|
||||
return route(`/qrcode`, { data: encodeURIComponent(data) });
|
||||
}
|
||||
|
||||
function getItem(n: number): LabelData {
|
||||
|
|
Loading…
Reference in a new issue