refactor: rename project and base

- Rename `Project`  => `Base`
- Rename `Base` => `Source`
- Remove `db` from data/meta api endpoints
- Add backward compatibility for old apis
- Migrations for renaming table and columns

Signed-off-by: Pranav C <pranavxc@gmail.com>
This commit is contained in:
Pranav C
2023-10-02 22:38:43 +05:30
parent 93e4e8ae47
commit e790abdbaf
547 changed files with 10267 additions and 9773 deletions

View File

@@ -9,7 +9,7 @@ import {
useDashboard,
useI18n,
useNuxtApp,
useProject,
useBase,
} from '#imports'
interface ShareBase {
@@ -29,23 +29,23 @@ const { dashboardUrl } = useDashboard()
const { $api, $e } = useNuxtApp()
const base = ref<null | ShareBase>(null)
const sharedBase = ref<null | ShareBase>(null)
const showEditBaseDropdown = ref(false)
const { project } = storeToRefs(useProject())
const { base } = storeToRefs(useBase())
const { copy } = useCopy()
const url = computed(() => (base.value && base.value.uuid ? `${dashboardUrl.value}#/base/${base.value.uuid}` : null))
const url = computed(() => (sharedBase.value && sharedBase.value.uuid ? `${dashboardUrl.value}#/base/${sharedBase.value.uuid}` : null))
const loadBase = async () => {
try {
if (!project.value.id) return
if (!base.value.id) return
const res = await $api.project.sharedBaseGet(project.value.id)
const res = await $api.base.sharedBaseGet(base.value.id)
base.value = {
sharedBase.value = {
uuid: res.uuid,
url: res.url,
role: res.roles,
@@ -57,14 +57,14 @@ const loadBase = async () => {
const createShareBase = async (role = ShareBaseRole.Viewer) => {
try {
if (!project.value.id) return
if (!base.value.id) return
const res = await $api.project.sharedBaseUpdate(project.value.id, {
const res = await $api.base.sharedBaseUpdate(base.value.id, {
roles: role,
})
base.value = res ?? {}
base.value!.role = role
sharedBase.value = res ?? {}
sharedBase.value!.role = role
} catch (e: any) {
message.error(await extractSdkResponseErrorMsg(e))
}
@@ -74,10 +74,10 @@ const createShareBase = async (role = ShareBaseRole.Viewer) => {
const disableSharedBase = async () => {
try {
if (!project.value.id) return
if (!base.value.id) return
await $api.project.sharedBaseDisable(project.value.id)
base.value = null
await $api.base.sharedBaseDisable(base.value.id)
sharedBase.value = null
} catch (e: any) {
message.error(await extractSdkResponseErrorMsg(e))
}
@@ -87,15 +87,15 @@ const disableSharedBase = async () => {
const recreate = async () => {
try {
if (!project.value.id) return
if (!base.value.id) return
const sharedBase = await $api.project.sharedBaseCreate(project.value.id, {
roles: base.value?.role || ShareBaseRole.Viewer,
const sharedBase = await $api.base.sharedBaseCreate(base.value.id, {
roles: sharedBase.value?.role || ShareBaseRole.Viewer,
})
const newBase = sharedBase || {}
base.value = { ...newBase, role: base.value?.role }
sharedBase.value = { ...newBase, role: sharedBase.value?.role }
} catch (e: any) {
message.error(await extractSdkResponseErrorMsg(e))
}
@@ -145,7 +145,7 @@ style="background: transparent; border: 1px solid #ddd"></iframe>`)
}
onMounted(() => {
if (!base.value) {
if (!sharedBase.value) {
loadBase()
}
})
@@ -153,14 +153,14 @@ onMounted(() => {
<template>
<div class="flex flex-col gap-2 w-full" data-testid="nc-share-base-sub-modal">
<!-- Generate publicly shareable readonly base -->
<!-- Generate publicly shareable readonly source -->
<div class="flex text-xs text-gray-500 justify-start ml-1">{{ $t('msg.info.generatePublicShareableReadonlyBase') }}</div>
<div class="flex flex-row justify-between mx-1">
<a-dropdown v-model="showEditBaseDropdown" class="flex" overlay-class-name="nc-dropdown-shared-base-toggle">
<a-button>
<div class="flex flex-row rounded-md items-center space-x-2 nc-disable-shared-base">
<div v-if="base?.uuid">{{ $t('activity.shareBase.enable') }}</div>
<div v-if="sharedBase?.uuid">{{ $t('activity.shareBase.enable') }}</div>
<div v-else>{{ $t('activity.shareBase.disable') }}</div>
<IcRoundKeyboardArrowDown class="h-[1rem]" />
</div>
@@ -169,7 +169,7 @@ onMounted(() => {
<template #overlay>
<a-menu>
<a-menu-item>
<div v-if="base?.uuid" class="py-3" @click="disableSharedBase">{{ $t('activity.shareBase.disable') }}</div>
<div v-if="sharedBase?.uuid" class="py-3" @click="disableSharedBase">{{ $t('activity.shareBase.disable') }}</div>
<div v-else class="py-3" @click="createShareBase(ShareBaseRole.Viewer)">{{ $t('activity.shareBase.enable') }}</div>
</a-menu-item>
</a-menu>
@@ -177,8 +177,8 @@ onMounted(() => {
</a-dropdown>
<a-select
v-if="base?.uuid"
v-model:value="base.role"
v-if="sharedBase?.uuid"
v-model:value="sharedBase.role"
class="flex nc-shared-base-role"
dropdown-class-name="nc-dropdown-share-base-role"
>
@@ -201,7 +201,7 @@ onMounted(() => {
</a-select-option>
</a-select>
</div>
<div v-if="base?.uuid" class="flex flex-row mt-2 bg-red-50 py-4 mx-1 px-2 items-center rounded-sm w-full justify-between">
<div v-if="sharedBase?.uuid" class="flex flex-row mt-2 bg-red-50 py-4 mx-1 px-2 items-center rounded-sm w-full justify-between">
<span class="flex text-xs overflow-x-hidden overflow-ellipsis text-gray-700 pl-2 nc-url">{{ url }}</span>
<div class="flex border-l-1 pt-1 pl-1">