diff --git a/netbox/project-static/dist/config.js b/netbox/project-static/dist/config.js index 7cf3ccb30..2b360c5a2 100644 Binary files a/netbox/project-static/dist/config.js and b/netbox/project-static/dist/config.js differ diff --git a/netbox/project-static/dist/config.js.map b/netbox/project-static/dist/config.js.map index 37bd61edd..937913e20 100644 Binary files a/netbox/project-static/dist/config.js.map and b/netbox/project-static/dist/config.js.map differ diff --git a/netbox/project-static/dist/lldp.js b/netbox/project-static/dist/lldp.js index 2b3934742..c77672ff6 100644 Binary files a/netbox/project-static/dist/lldp.js and b/netbox/project-static/dist/lldp.js differ diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index 52eb58fa7..1835a3525 100644 Binary files a/netbox/project-static/dist/lldp.js.map and b/netbox/project-static/dist/lldp.js.map differ diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 5ab9da845..6d0aa1535 100644 Binary files a/netbox/project-static/dist/netbox.js and b/netbox/project-static/dist/netbox.js differ diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 9b92d1489..6c04b9849 100644 Binary files a/netbox/project-static/dist/netbox.js.map and b/netbox/project-static/dist/netbox.js.map differ diff --git a/netbox/project-static/dist/status.js b/netbox/project-static/dist/status.js index f87d11348..5d970d6b9 100644 Binary files a/netbox/project-static/dist/status.js and b/netbox/project-static/dist/status.js differ diff --git a/netbox/project-static/dist/status.js.map b/netbox/project-static/dist/status.js.map index cf0984f73..c630420fd 100644 Binary files a/netbox/project-static/dist/status.js.map and b/netbox/project-static/dist/status.js.map differ diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index 4ec08d7b3..256696947 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -27,7 +27,6 @@ "bootstrap": "~5.0.2", "clipboard": "^2.0.8", "color2k": "^1.2.4", - "cookie": "^0.4.1", "dayjs": "^1.10.4", "flatpickr": "4.6.3", "htmx.org": "^1.6.1", diff --git a/netbox/project-static/src/util.ts b/netbox/project-static/src/util.ts index 09e9afb9a..9f6ff100d 100644 --- a/netbox/project-static/src/util.ts +++ b/netbox/project-static/src/util.ts @@ -1,9 +1,11 @@ -import Cookie from 'cookie'; - type Method = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE'; type ReqData = URLSearchParams | Dict | undefined | unknown; type SelectedOption = { name: string; options: string[] }; +declare global { + interface Window { CSRF_TOKEN: any; } +} + /** * Infer valid HTMLElement props based on element name. */ @@ -93,23 +95,12 @@ export function isElement(obj: Element | null | undefined): obj is Element { return typeof obj !== null && typeof obj !== 'undefined'; } -/** - * Retrieve the CSRF token from cookie storage. - */ -function getCsrfToken(): string { - const { csrftoken: csrfToken } = Cookie.parse(document.cookie); - if (typeof csrfToken === 'undefined') { - throw new Error('Invalid or missing CSRF token'); - } - return csrfToken; -} - export async function apiRequest( url: string, method: Method, data?: D, ): Promise> { - const token = getCsrfToken(); + const token = window.CSRF_TOKEN; const headers = new Headers({ 'X-CSRFToken': token }); let body; diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index 780ba071e..8e21446c6 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -737,11 +737,6 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -cookie@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - copy-to-clipboard@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" diff --git a/netbox/templates/base/base.html b/netbox/templates/base/base.html index 08ab33eff..8ba47dde3 100644 --- a/netbox/templates/base/base.html +++ b/netbox/templates/base/base.html @@ -99,6 +99,7 @@ } return setMode("light", true); })(); + window.CSRF_TOKEN = "{{ csrf_token }}"; {# Static resources #}