mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
878 B
50 lines
878 B
import { useNuxtApp } from "#app"; |
|
import { Api } from "nocodb-sdk"; |
|
import { defineNuxtPlugin } from "nuxt3/app"; |
|
import { watch } from "vue"; |
|
import { useUser } from "~/composables/user"; |
|
|
|
|
|
export default defineNuxtPlugin((nuxtApp) => { |
|
|
|
|
|
const { user } = useUser(); |
|
|
|
// Doing something with nuxtApp |
|
|
|
const api = getApi(null, null); |
|
|
|
nuxtApp.provide("api", api); |
|
|
|
|
|
debugger |
|
|
|
return { |
|
provide: { |
|
api123: api |
|
} |
|
}; |
|
}); |
|
|
|
|
|
export function getApi($store, $axios) { |
|
const api = new Api({ |
|
baseURL: "http://localhost:8080", |
|
headers: { |
|
"xc-auth": $store?.state?.users?.token |
|
} |
|
}); |
|
|
|
if ($axios) { |
|
// overwrite with nuxt axios instance |
|
api.instance = $axios; |
|
} |
|
return api; |
|
} |
|
|
|
// |
|
// export default function({ store: $store, $axios, ...rest }, inject) { |
|
// const api = getApi($store, $axios) |
|
// |
|
// inject('api', api) |
|
// }
|
|
|