Compare commits
1 Commits
feature-sh
...
feature-do
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e362c80e98 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,7 +1,3 @@
|
|||||||
.vscode
|
.vscode
|
||||||
.mypy_cache
|
.mypy_cache
|
||||||
docker-stack.yml
|
docker-stack.yml
|
||||||
backend/pyvenv.cfg
|
|
||||||
backend/Include/
|
|
||||||
backend/Scripts/
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
from fastapi import Query, Request,Depends, APIRouter, UploadFile,HTTPException,File
|
from fastapi import Query, Request,Depends, APIRouter, UploadFile,HTTPException,File
|
||||||
from app.core.operation import log_operation
|
|
||||||
from app.db import Base,engine
|
from app.db import Base,engine
|
||||||
from app.db.session import get_db
|
from app.db.session import get_db
|
||||||
from app.db.crud import *
|
from app.db.crud import *
|
||||||
@@ -8,69 +7,8 @@ from typing import List, Optional
|
|||||||
from app.core.auth import get_current_active_user,get_current_user
|
from app.core.auth import get_current_active_user,get_current_user
|
||||||
from app.core.apiexception import APIException
|
from app.core.apiexception import APIException
|
||||||
|
|
||||||
import httpx
|
|
||||||
import app.core.config as config
|
|
||||||
|
|
||||||
platform_router = r = APIRouter()
|
platform_router = r = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
@r.get(
|
|
||||||
"/apps",
|
|
||||||
response_model=List[AppList],
|
|
||||||
response_model_exclude_none=True,
|
|
||||||
)
|
|
||||||
async def apps_list(
|
|
||||||
request: Request,
|
|
||||||
user = Depends(get_current_user),
|
|
||||||
db=Depends(get_db),
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
platformapps = get_apps(db)
|
|
||||||
domain = get_activedomain(db, user.id)
|
|
||||||
|
|
||||||
kintoneevn = config.KINTONE_ENV(domain)
|
|
||||||
headers={config.API_V1_AUTH_KEY:kintoneevn.API_V1_AUTH_VALUE}
|
|
||||||
url = f"{kintoneevn.BASE_URL}{config.API_V1_STR}/apps.json"
|
|
||||||
offset = 0
|
|
||||||
limit = 100
|
|
||||||
all_apps = []
|
|
||||||
|
|
||||||
while True:
|
|
||||||
r = httpx.get(f"{url}?limit={limit}&offset={offset}", headers=headers)
|
|
||||||
json_data = r.json()
|
|
||||||
apps = json_data.get("apps",[])
|
|
||||||
all_apps.extend(apps)
|
|
||||||
if len(apps)<limit:
|
|
||||||
break
|
|
||||||
offset += limit
|
|
||||||
|
|
||||||
tempapps = platformapps.copy()
|
|
||||||
for papp in tempapps:
|
|
||||||
exist = False
|
|
||||||
for kapp in all_apps:
|
|
||||||
if kapp['appId'] == papp.appid:
|
|
||||||
exist = True
|
|
||||||
break
|
|
||||||
if not exist:
|
|
||||||
platformapps.remove(papp)
|
|
||||||
|
|
||||||
return platformapps
|
|
||||||
except Exception as e:
|
|
||||||
raise APIException('platform:apps',request.url._url,f"Error occurred while get apps:",e)
|
|
||||||
|
|
||||||
@r.post("/apps", response_model=AppList, response_model_exclude_none=True)
|
|
||||||
async def apps_update(
|
|
||||||
request: Request,
|
|
||||||
app: AppVersion,
|
|
||||||
user=Depends(get_current_user),
|
|
||||||
db=Depends(get_db),
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
return update_appversion(db, app,user.id)
|
|
||||||
except Exception as e:
|
|
||||||
raise APIException('platform:apps',request.url._url,f"Error occurred while get create app :",e)
|
|
||||||
|
|
||||||
|
|
||||||
@r.get(
|
@r.get(
|
||||||
"/appsettings/{id}",
|
"/appsettings/{id}",
|
||||||
response_model=App,
|
response_model=App,
|
||||||
@@ -191,7 +129,7 @@ async def flow_list(
|
|||||||
try:
|
try:
|
||||||
domain = get_activedomain(db, user.id)
|
domain = get_activedomain(db, user.id)
|
||||||
print("domain=>",domain)
|
print("domain=>",domain)
|
||||||
flows = get_flows_by_app(db, domain.url, appid)
|
flows = get_flows_by_app(db, domain.id, appid)
|
||||||
return flows
|
return flows
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise APIException('platform:flow',request.url._url,f"Error occurred while get flow by appid:",e)
|
raise APIException('platform:flow',request.url._url,f"Error occurred while get flow by appid:",e)
|
||||||
@@ -206,7 +144,7 @@ async def flow_create(
|
|||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
domain = get_activedomain(db, user.id)
|
domain = get_activedomain(db, user.id)
|
||||||
return create_flow(db, domain.url, flow)
|
return create_flow(db, domain.id, flow)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise APIException('platform:flow',request.url._url,f"Error occurred while create flow:",e)
|
raise APIException('platform:flow',request.url._url,f"Error occurred while create flow:",e)
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import base64
|
|||||||
PROJECT_NAME = "KintoneAppBuilder"
|
PROJECT_NAME = "KintoneAppBuilder"
|
||||||
|
|
||||||
#SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@kintonetooldb.postgres.database.azure.com/dev"
|
#SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@kintonetooldb.postgres.database.azure.com/dev"
|
||||||
SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://kabAdmin:P%40ssw0rd!@kintonetooldb.postgres.database.azure.com/dev_v2"
|
SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@kintonetooldb.postgres.database.azure.com/postgres"
|
||||||
#SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@kintonetooldb.postgres.database.azure.com/test"
|
#SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@kintonetooldb.postgres.database.azure.com/test"
|
||||||
#SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@ktune-prod-db.postgres.database.azure.com/postgres"
|
#SQLALCHEMY_DATABASE_URI = "postgres://kabAdmin:P@ssw0rd!@ktune-prod-db.postgres.database.azure.com/postgres"
|
||||||
API_V1_STR = "/k/v1"
|
API_V1_STR = "/k/v1"
|
||||||
|
|||||||
@@ -69,46 +69,6 @@ def edit_user(
|
|||||||
db.refresh(db_user)
|
db.refresh(db_user)
|
||||||
return db_user
|
return db_user
|
||||||
|
|
||||||
def get_apps(
|
|
||||||
db: Session
|
|
||||||
) -> t.List[schemas.AppList]:
|
|
||||||
return db.query(models.App).all()
|
|
||||||
|
|
||||||
def update_appversion(db: Session, appedit: schemas.AppVersion,userid:int):
|
|
||||||
app = db.query(models.App).filter(and_(models.App.domainurl == appedit.domainurl,models.App.appid == appedit.appid)).first()
|
|
||||||
if app:
|
|
||||||
app.version = app.version + 1
|
|
||||||
db_app = app
|
|
||||||
appver = app.version
|
|
||||||
else:
|
|
||||||
appver = 1
|
|
||||||
db_app = models.App(
|
|
||||||
domainurl = appedit.domainurl,
|
|
||||||
appid=appedit.appid,
|
|
||||||
appname=appedit.appname,
|
|
||||||
version = 1,
|
|
||||||
updateuser= userid
|
|
||||||
)
|
|
||||||
|
|
||||||
db.add(db_app)
|
|
||||||
|
|
||||||
flows = db.query(models.Flow).filter(and_(models.Flow.domainurl == appedit.domainurl,models.App.appid == appedit.appid))
|
|
||||||
for flow in flows:
|
|
||||||
db_flowhistory = models.FlowHistory(
|
|
||||||
flowid = flow.flowid,
|
|
||||||
appid = flow.appid,
|
|
||||||
eventid = flow.eventid,
|
|
||||||
domainurl = flow.domainurl,
|
|
||||||
name = flow.name,
|
|
||||||
content = flow.content,
|
|
||||||
createuser = userid,
|
|
||||||
version = appver
|
|
||||||
)
|
|
||||||
db.add(db_flowhistory)
|
|
||||||
|
|
||||||
db.commit()
|
|
||||||
db.refresh(db_app)
|
|
||||||
return db_app
|
|
||||||
|
|
||||||
def get_appsetting(db: Session, id: int):
|
def get_appsetting(db: Session, id: int):
|
||||||
app = db.query(models.AppSetting).get(id)
|
app = db.query(models.AppSetting).get(id)
|
||||||
@@ -165,12 +125,12 @@ def get_actions(db: Session):
|
|||||||
return actions
|
return actions
|
||||||
|
|
||||||
|
|
||||||
def create_flow(db: Session, domainurl: str, flow: schemas.FlowBase):
|
def create_flow(db: Session, domainid: int, flow: schemas.FlowBase):
|
||||||
db_flow = models.Flow(
|
db_flow = models.Flow(
|
||||||
flowid=flow.flowid,
|
flowid=flow.flowid,
|
||||||
appid=flow.appid,
|
appid=flow.appid,
|
||||||
eventid=flow.eventid,
|
eventid=flow.eventid,
|
||||||
domainurl=domainurl,
|
domainid=domainid,
|
||||||
name=flow.name,
|
name=flow.name,
|
||||||
content=flow.content
|
content=flow.content
|
||||||
)
|
)
|
||||||
@@ -217,8 +177,8 @@ def get_flow(db: Session, flowid: str):
|
|||||||
raise HTTPException(status_code=404, detail="Data not found")
|
raise HTTPException(status_code=404, detail="Data not found")
|
||||||
return flow
|
return flow
|
||||||
|
|
||||||
def get_flows_by_app(db: Session,domainurl: str, appid: str):
|
def get_flows_by_app(db: Session, domainid: int, appid: str):
|
||||||
flows = db.query(models.Flow).filter(and_(models.Flow.domainurl == domainurl,models.Flow.appid == appid)).all()
|
flows = db.query(models.Flow).filter(and_(models.Flow.domainid == domainid,models.Flow.appid == appid)).all()
|
||||||
if not flows:
|
if not flows:
|
||||||
raise Exception("Data not found")
|
raise Exception("Data not found")
|
||||||
return flows
|
return flows
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
from sqlalchemy import Boolean, Column, Integer, String, DateTime,ForeignKey
|
from sqlalchemy import Boolean, Column, Integer, String, DateTime,ForeignKey
|
||||||
from sqlalchemy.ext.declarative import as_declarative
|
from sqlalchemy.ext.declarative import as_declarative
|
||||||
from sqlalchemy.orm import relationship
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from app.core.security import chacha20Decrypt
|
from app.core.security import chacha20Decrypt
|
||||||
@@ -21,16 +20,6 @@ class User(Base):
|
|||||||
is_active = Column(Boolean, default=True)
|
is_active = Column(Boolean, default=True)
|
||||||
is_superuser = Column(Boolean, default=False)
|
is_superuser = Column(Boolean, default=False)
|
||||||
|
|
||||||
class App(Base):
|
|
||||||
__tablename__ = "app"
|
|
||||||
|
|
||||||
domainurl = Column(String(200), nullable=False)
|
|
||||||
appname = Column(String(200), nullable=False)
|
|
||||||
appid = Column(String(100), index=True, nullable=False)
|
|
||||||
version = Column(Integer)
|
|
||||||
updateuser = Column(Integer,ForeignKey("user.id"))
|
|
||||||
user = relationship('User')
|
|
||||||
|
|
||||||
class AppSetting(Base):
|
class AppSetting(Base):
|
||||||
__tablename__ = "appsetting"
|
__tablename__ = "appsetting"
|
||||||
|
|
||||||
@@ -62,22 +51,10 @@ class Flow(Base):
|
|||||||
flowid = Column(String(100), index=True, nullable=False)
|
flowid = Column(String(100), index=True, nullable=False)
|
||||||
appid = Column(String(100), index=True, nullable=False)
|
appid = Column(String(100), index=True, nullable=False)
|
||||||
eventid = Column(String(100), index=True, nullable=False)
|
eventid = Column(String(100), index=True, nullable=False)
|
||||||
domainurl = Column(String(200))
|
domainid = Column(Integer,ForeignKey("domain.id"))
|
||||||
name = Column(String(200))
|
name = Column(String(200))
|
||||||
content = Column(String)
|
content = Column(String)
|
||||||
|
|
||||||
class FlowHistory(Base):
|
|
||||||
__tablename__ = "flowhistory"
|
|
||||||
|
|
||||||
flowid = Column(String(100), index=True, nullable=False)
|
|
||||||
appid = Column(String(100), index=True, nullable=False)
|
|
||||||
eventid = Column(String(100), index=True, nullable=False)
|
|
||||||
domainurl = Column(String(200))
|
|
||||||
name = Column(String(200))
|
|
||||||
content = Column(String)
|
|
||||||
createuser = Column(Integer,ForeignKey("user.id"))
|
|
||||||
version = Column(Integer)
|
|
||||||
|
|
||||||
class Tenant(Base):
|
class Tenant(Base):
|
||||||
__tablename__ = "tenant"
|
__tablename__ = "tenant"
|
||||||
|
|
||||||
@@ -131,17 +108,6 @@ class ErrorLog(Base):
|
|||||||
location = Column(String(500))
|
location = Column(String(500))
|
||||||
content = Column(String(5000))
|
content = Column(String(5000))
|
||||||
|
|
||||||
class OperationLog(Base):
|
|
||||||
__tablename__ = "operationlog"
|
|
||||||
|
|
||||||
tenantid = Column(String(100))
|
|
||||||
domainurl = Column(String(200))
|
|
||||||
userid = Column(Integer,ForeignKey("user.id"))
|
|
||||||
operation = Column(String(200))
|
|
||||||
function = Column(String(200))
|
|
||||||
detail = Column(String(200))
|
|
||||||
user = relationship('User')
|
|
||||||
|
|
||||||
class KintoneFormat(Base):
|
class KintoneFormat(Base):
|
||||||
__tablename__ = "kintoneformat"
|
__tablename__ = "kintoneformat"
|
||||||
|
|
||||||
|
|||||||
@@ -28,21 +28,21 @@ class UserCreate(UserBase):
|
|||||||
is_active:bool
|
is_active:bool
|
||||||
is_superuser:bool
|
is_superuser:bool
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
class UserEdit(UserBase):
|
class UserEdit(UserBase):
|
||||||
password: t.Optional[str] = None
|
password: t.Optional[str] = None
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
class User(UserBase):
|
class User(UserBase):
|
||||||
id: int
|
id: int
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
@@ -50,17 +50,6 @@ class Token(BaseModel):
|
|||||||
access_token: str
|
access_token: str
|
||||||
token_type: str
|
token_type: str
|
||||||
|
|
||||||
class AppList(Base):
|
|
||||||
domainurl: str
|
|
||||||
appname: str
|
|
||||||
appid:str
|
|
||||||
version:int
|
|
||||||
user:UserOut
|
|
||||||
|
|
||||||
class AppVersion(BaseModel):
|
|
||||||
domainurl: str
|
|
||||||
appname: str
|
|
||||||
appid:str
|
|
||||||
|
|
||||||
class TokenData(BaseModel):
|
class TokenData(BaseModel):
|
||||||
id:int = 0
|
id:int = 0
|
||||||
@@ -79,7 +68,7 @@ class AppBase(BaseModel):
|
|||||||
class App(AppBase):
|
class App(AppBase):
|
||||||
id: int
|
id: int
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +79,7 @@ class Kintone(BaseModel):
|
|||||||
desc: str = None
|
desc: str = None
|
||||||
content: str = None
|
content: str = None
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class Action(BaseModel):
|
class Action(BaseModel):
|
||||||
@@ -103,7 +92,7 @@ class Action(BaseModel):
|
|||||||
categoryid: int = None
|
categoryid: int = None
|
||||||
nosort: int
|
nosort: int
|
||||||
categoryname : str =None
|
categoryname : str =None
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class FlowBase(BaseModel):
|
class FlowBase(BaseModel):
|
||||||
@@ -118,11 +107,11 @@ class Flow(Base):
|
|||||||
flowid: str
|
flowid: str
|
||||||
appid: str
|
appid: str
|
||||||
eventid: str
|
eventid: str
|
||||||
domainurl: str
|
domainid: int
|
||||||
name: str = None
|
name: str = None
|
||||||
content: str = None
|
content: str = None
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class DomainBase(BaseModel):
|
class DomainBase(BaseModel):
|
||||||
@@ -144,7 +133,7 @@ class Domain(Base):
|
|||||||
url: str
|
url: str
|
||||||
kintoneuser: str
|
kintoneuser: str
|
||||||
kintonepwd: str
|
kintonepwd: str
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class Event(Base):
|
class Event(Base):
|
||||||
@@ -156,7 +145,7 @@ class Event(Base):
|
|||||||
mobile: bool
|
mobile: bool
|
||||||
eventgroup: bool
|
eventgroup: bool
|
||||||
|
|
||||||
class ConfigDict:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class ErrorCreate(BaseModel):
|
class ErrorCreate(BaseModel):
|
||||||
|
|||||||
Binary file not shown.
@@ -4,6 +4,7 @@
|
|||||||
tag="a"
|
tag="a"
|
||||||
:target="target?target:'_blank'"
|
:target="target?target:'_blank'"
|
||||||
:href="link"
|
:href="link"
|
||||||
|
:disable="disable"
|
||||||
v-if="!isSeparator"
|
v-if="!isSeparator"
|
||||||
>
|
>
|
||||||
<q-item-section
|
<q-item-section
|
||||||
@@ -33,6 +34,7 @@ export interface EssentialLinkProps {
|
|||||||
icon?: string;
|
icon?: string;
|
||||||
isSeparator?: boolean;
|
isSeparator?: boolean;
|
||||||
target?:string;
|
target?:string;
|
||||||
|
disable?:boolean;
|
||||||
}
|
}
|
||||||
withDefaults(defineProps<EssentialLinkProps>(), {
|
withDefaults(defineProps<EssentialLinkProps>(), {
|
||||||
caption: '',
|
caption: '',
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted } from 'vue';
|
import { onMounted, computed } from 'vue';
|
||||||
import EssentialLink, { EssentialLinkProps } from 'components/EssentialLink.vue';
|
import EssentialLink, { EssentialLinkProps } from 'components/EssentialLink.vue';
|
||||||
import DomainSelector from 'components/DomainSelector.vue';
|
import DomainSelector from 'components/DomainSelector.vue';
|
||||||
import { useAuthStore } from 'stores/useAuthStore';
|
import { useAuthStore } from 'stores/useAuthStore';
|
||||||
@@ -47,14 +47,16 @@ const essentialLinks: EssentialLinkProps[] = [
|
|||||||
caption: '設計書から導入する',
|
caption: '設計書から導入する',
|
||||||
icon: 'home',
|
icon: 'home',
|
||||||
link: '/',
|
link: '/',
|
||||||
target: '_self'
|
target: '_self',
|
||||||
|
disable: !authStore.hasDomain,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'フローエディター',
|
title: 'フローエディター',
|
||||||
caption: 'イベントを設定する',
|
caption: 'イベントを設定する',
|
||||||
icon: 'account_tree',
|
icon: 'account_tree',
|
||||||
link: '/#/FlowChart',
|
link: '/#/FlowChart',
|
||||||
target: '_self'
|
target: '_self',
|
||||||
|
disable: !authStore.hasDomain,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: '条件エディター',
|
// title: '条件エディター',
|
||||||
|
|||||||
@@ -155,8 +155,7 @@ let editId = ref(0);
|
|||||||
|
|
||||||
const getDomain = async () => {
|
const getDomain = async () => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const userId = authStore.userId;
|
const result = await api.get(`api/domains/1`);
|
||||||
const result = await api.get(`api/domain?userId=${userId}`);
|
|
||||||
rows.value = result.data.map((item) => {
|
rows.value = result.data.map((item) => {
|
||||||
return { id: item.id, tenantid: item.tenantid, name: item.name, url: item.url, user: item.kintoneuser, password: item.kintonepwd }
|
return { id: item.id, tenantid: item.tenantid, name: item.name, url: item.url, user: item.kintoneuser, password: item.kintonepwd }
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -47,6 +47,13 @@ export default route(function (/* { store, ssrContext } */) {
|
|||||||
authStore.returnUrl = to.fullPath;
|
authStore.returnUrl = to.fullPath;
|
||||||
return '/login';
|
return '/login';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// redirect to domain setting page if no domain exist
|
||||||
|
const domainPages = [...publicPages, '/domain'];
|
||||||
|
if (!authStore.hasDomain && !domainPages.includes(to.path)) {
|
||||||
|
authStore.returnUrl = to.fullPath;
|
||||||
|
return '/domain';
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return routerInstance;
|
return routerInstance;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const routes: RouteRecordRaw[] = [
|
|||||||
// { path: 'FlowChart', component: () => import('pages/FlowChart.vue') },
|
// { path: 'FlowChart', component: () => import('pages/FlowChart.vue') },
|
||||||
{ path: 'right', component: () => import('pages/testRight.vue') },
|
{ path: 'right', component: () => import('pages/testRight.vue') },
|
||||||
{ path: 'domain', component: () => import('pages/TenantDomain.vue') },
|
{ path: 'domain', component: () => import('pages/TenantDomain.vue') },
|
||||||
// { path: 'userdomain', component: () => import('pages/UserDomain.vue')},
|
{ path: 'userdomain', component: () => import('pages/UserDomain.vue')},
|
||||||
{ path: 'user', component: () => import('pages/UserManagement.vue')},
|
{ path: 'user', component: () => import('pages/UserManagement.vue')},
|
||||||
{ path: 'condition', component: () => import('pages/conditionPage.vue') }
|
{ path: 'condition', component: () => import('pages/conditionPage.vue') }
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ export const useAuthStore = defineStore('auth', {
|
|||||||
toggleLeftDrawer(): boolean {
|
toggleLeftDrawer(): boolean {
|
||||||
return this.LeftDrawer;
|
return this.LeftDrawer;
|
||||||
},
|
},
|
||||||
|
hasDomain(): boolean {
|
||||||
|
return this.currentDomain.id === null;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
toggleLeftMenu() {
|
toggleLeftMenu() {
|
||||||
|
|||||||
Reference in New Issue
Block a user