From f30c98adc0c58028d0d2ac03a2a7b18ac022e746 Mon Sep 17 00:00:00 2001 From: ali_mohaghegh Date: Thu, 27 Aug 2026 15:04:24 +0330 Subject: [PATCH] chore: remove legacy HTML inventory-dash prototype (superseded by React port) --- legacy/dash-prototype/README.md | 54 - legacy/dash-prototype/app-config.js | 6 - legacy/dash-prototype/callback.html | 92 - legacy/dash-prototype/casdoor-config.js | 9 - legacy/dash-prototype/change-inventory.html | 797 -- legacy/dash-prototype/core.js | 582 - legacy/dash-prototype/inventory-system.html | 909 -- legacy/dash-prototype/serve.py | 19 - legacy/dash-prototype/style.css | 685 -- legacy/dash-prototype/swagger.json | 10555 ------------------ legacy/dash-prototype/test-logic-v3.mjs | 109 - 11 files changed, 13817 deletions(-) delete mode 100644 legacy/dash-prototype/README.md delete mode 100644 legacy/dash-prototype/app-config.js delete mode 100644 legacy/dash-prototype/callback.html delete mode 100644 legacy/dash-prototype/casdoor-config.js delete mode 100644 legacy/dash-prototype/change-inventory.html delete mode 100644 legacy/dash-prototype/core.js delete mode 100644 legacy/dash-prototype/inventory-system.html delete mode 100644 legacy/dash-prototype/serve.py delete mode 100644 legacy/dash-prototype/style.css delete mode 100644 legacy/dash-prototype/swagger.json delete mode 100644 legacy/dash-prototype/test-logic-v3.mjs diff --git a/legacy/dash-prototype/README.md b/legacy/dash-prototype/README.md deleted file mode 100644 index 2db282e..0000000 --- a/legacy/dash-prototype/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# سامانه مدیریت انبار — فرانت‌اند متصل به استک (FastAPI + PostgreSQL + Casdoor) - -معماری نهایی: - -``` -مرورگر (فرانت HTML — inventory-system.html / change-inventory.html) - │ - ├── ورود: Casdoor (OIDC + PKCE) یا رمز آزمایشی محلی - │ → نقش/پروژه از پروفایل محلی (ایمیل ⇄ مدیر پروژه) - │ - └── داده: هدرهای X-User-Role / X-Project-Id / X-User-Name-B64 - → FastAPI (/api/v1) → PostgreSQL -``` - -## اجرا - -**استک (Docker):** -``` -cd v1.2 -docker compose up -d --build -``` -- فرانت: http://localhost:3000 (nginx — پراکسی /api به بک‌اند) -- API: http://localhost:8000/docs -- Casdoor: http://localhost:8080 (admin/123) — بعد از seed: کاربرها mousavi/goli/mohaghegh/razaei با رمز 123456 -- seed استک: `py seed_stack.py` (واحد/پروژه/برند/متریال/انبار/تراکنش نمونه) -- seed Casdoor: `cd casdoor && py seed.py` (سازمان/اپلیکیشن OIDC/کاربران + تولید casdoor-config.js) - -**اجرای محلی بدون Docker برای فرانت:** -``` -py -m http.server 8123 -``` -و `app-config.js` را با `apiBase: 'http://localhost:8000/api/v1'` بگذارید. - -## ساختار - -| فایل | نقش | -|---|---| -| `inventory-system.html` | داشبورد، کنترل روزانه، انبارها، سازمان‌دهی، ورود | -| `change-inventory.html` | صفحه تغییر موجودی (فایل مستقل — فقط «برگشت به داشبوردها») | -| `core.js` | هویت/نشست + لایه API (fetch + هدرهای نقش) + آینه داده‌ها | -| `style.css` | استایل مشترک | -| `casdoor-config.js` | تنظیمات اتصال به Casdoor (تولیدشده توسط seed) | -| `app-config.js` | آدرس API بک‌اند | -| `callback.html` | بازگشت OIDC (تبدیل کد به توکن و نشست) | -| `test-logic-v3.mjs` | تست (هویت + لایه API در برابر استک واقعی) → ALL_LOGIC_V3_OK | -| `v1.2/` | استک: backend (FastAPI) + frontend (nginx) + sql + seed_stack.py + docker-compose.yml | -| `casdoor/` | docker-compose Casdoor + PostgreSQL + seed.py | - -## مدل دسترسی - -- **ادمین**: فقط‌خواندنی برای موجودی؛ مدیریت ساختار (پروژه/انبار/مدیران) در «سازمان‌دهی». -- **مدیر پروژه**: ثبت و مشاهده فقط در انبارهای پروژه خودش (اعمال در بک‌اند با هدر X-Project-Id). -- کاربران محلی (ایمیل ⇄ نقش/پروژه) در `localStorage` نگهداری می‌شوند؛ هویت واقعی از Casdoor. -- رمزهای آزمایشی محلی: 10 ادمین، 1/2 مدیر پروژه برج آیتا، 3 مدیر پروژه الماس. diff --git a/legacy/dash-prototype/app-config.js b/legacy/dash-prototype/app-config.js deleted file mode 100644 index ef59ce0..0000000 --- a/legacy/dash-prototype/app-config.js +++ /dev/null @@ -1,6 +0,0 @@ -// پیکربندی برنامه — آدرس API بک‌اند -// - در استک Docker (nginx): '/api/v1' (پراکسی به کانتینر api) -// - در اجرای محلی با http.server: آدرس کامل http://localhost:8000/api/v1 -window.APP_CONFIG = { - apiBase: 'http://localhost:8000/api/v1' -}; diff --git a/legacy/dash-prototype/callback.html b/legacy/dash-prototype/callback.html deleted file mode 100644 index 642f138..0000000 --- a/legacy/dash-prototype/callback.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - -ورود — سامانه مدیریت انبار - - - - - - -
- -
- - -
- -
- - diff --git a/legacy/dash-prototype/casdoor-config.js b/legacy/dash-prototype/casdoor-config.js deleted file mode 100644 index 8645e46..0000000 --- a/legacy/dash-prototype/casdoor-config.js +++ /dev/null @@ -1,9 +0,0 @@ -// تنظیمات اتصال به Casdoor — توسط casdoor/seed.py تولید شده -window.CASDOOR_CONFIG = { - serverUrl: 'http://localhost:8080', - clientId: 'inventory-app-client', - clientSecret: 'inventory-app-secret-2026', - organization: 'inventory', - appName: 'inventory-app', - redirectUri: 'http://localhost:8123/callback.html' -}; diff --git a/legacy/dash-prototype/change-inventory.html b/legacy/dash-prototype/change-inventory.html deleted file mode 100644 index f6a2c82..0000000 --- a/legacy/dash-prototype/change-inventory.html +++ /dev/null @@ -1,797 +0,0 @@ - - - - - - -تغییر موجودی — سامانه مدیریت انبار - - - - - - - - -
- -
- - - - - -
- - - - - - - diff --git a/legacy/dash-prototype/core.js b/legacy/dash-prototype/core.js deleted file mode 100644 index 65950a3..0000000 --- a/legacy/dash-prototype/core.js +++ /dev/null @@ -1,582 +0,0 @@ -/* ============================================================ - core.js — بخش مشترک سامانه مدیریت انبار (نسخه متصل به API) - (ثابت‌ها، هویت/نشست، لایه API، نوار بالا، توست) - بارگذاری مشترک در inventory-system.html و change-inventory.html - داده‌ها از بک‌اند (FastAPI /api/v1) خوانده می‌شوند. - ============================================================ */ - -/* ---------- متریال‌ها و فهرست‌ها از API می‌آیند ---------- */ -var API_BASE = (typeof window!=='undefined' && window.APP_CONFIG && window.APP_CONFIG.apiBase) || '/api/v1'; - -var CATEGORY_FA = { - 'mechanical-installations-pipes': 'تأسیسات مکانیکی و آبی', - 'electrical-equipment-supplies': 'تجهیزات و لوازم برقی', - 'doors-windows-glass': 'درب، پنجره و شیشه', - 'metals-steel-sections': 'فلزات و مقاطع فولادی', - 'construction-materials': 'مصالح ساختمانی', - 'construction-chemicals': 'مواد شیمیایی ساختمانی', - 'finishing-interior-decoration': 'نازک‌کاری و دکوراسیون داخلی', - 'construction-tools-equipment': 'ابزار و تجهیزات کارگاهی' -}; - -var TX = { - PURCHASE: {label:'خرید', icon:'cart', color:'#16a34a', dir:'+', grp:'in'}, - WITHDRAWAL: {label:'برداشت', icon:'minusCirc', color:'#1d4ed8', dir:'−', grp:'out'}, - RETURN: {label:'برگشت', icon:'undo', color:'#16a34a', dir:'+', grp:'in'}, - TRANSFER_IN: {label:'انتقال (ورودی)', icon:'in', color:'#16a34a', dir:'+', grp:'in'}, - TRANSFER_OUT:{label:'انتقال (خروجی)', icon:'out', color:'#1d4ed8', dir:'−', grp:'out'}, - DAMAGE: {label:'ضایعات', icon:'warn', color:'#1d4ed8', dir:'−', grp:'out'}, - WASTE: {label:'اتلاف', icon:'trash', color:'#1d4ed8', dir:'−', grp:'out'}, - LOSS: {label:'مفقودی', icon:'pkgX', color:'#1d4ed8', dir:'−', grp:'out'}, - FOUND: {label:'پیدا شده', icon:'search', color:'#16a34a', dir:'+', grp:'in'}, - STOCK_COUNT: {label:'شمارش موجودی', icon:'check', color:'#64748b', dir:'±', grp:'cnt'} -}; -var TX_ORDER = ['PURCHASE','WITHDRAWAL','RETURN','TRANSFER_IN','TRANSFER_OUT','DAMAGE','WASTE','LOSS','FOUND','STOCK_COUNT']; - -var FORM_TYPES = [ - {t:'PURCHASE', icon:'cart', dirTxt:'افزایش', cls:'in'}, - {t:'WITHDRAWAL', icon:'minusCirc', dirTxt:'کاهش', cls:'out'}, - {t:'RETURN', icon:'undo', dirTxt:'افزایش', cls:'in'}, - {t:'TRANSFER', icon:'out', dirTxt:'جابه‌جایی', cls:'mv'}, - {t:'DAMAGE', icon:'warn', dirTxt:'کاهش', cls:'out'}, - {t:'WASTE', icon:'trash', dirTxt:'کاهش', cls:'out'}, - {t:'LOSS', icon:'pkgX', dirTxt:'کاهش', cls:'out'}, - {t:'FOUND', icon:'search', dirTxt:'افزایش', cls:'in'}, - {t:'STOCK_COUNT', icon:'check', dirTxt:'اصلاح', cls:'cnt'} -]; -var FORM_CLS_COLOR = {in:'#16a34a', out:'#1d4ed8', mv:'#4f46e5', cnt:'#64748b'}; - -var ICON_PATHS = { - cart: ['M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'], - minusCirc: ['M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z','M8 12h8'], - undo: ['M3 7v6h6','M21 17a9 9 0 0 0-15-6.7L3 13'], - in: ['M12 3v14','m6 9 6 6 6-6','M5 21h14'], - out: ['M12 21V7','m6 13 6-6 6 6','M5 3h14'], - warn: ['m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z','M12 9v4','M12 17h.01'], - trash: ['M3 6h18','M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6','M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'], - pkgX: ['M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z','M3.3 7 12 12l8.7-5','M12 22V12','M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4','m10 17 5-5-5-5','M15 12H3'], - search: ['m21 21-4.34-4.34','M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z'], - check: ['M20 6 9 17l-5-5'], - box: ['M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z','M3.3 7 12 12l8.7-5','M12 22V12'], - warehouse: ['M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z','M6 18h12','M6 14h12','M6 10h12'], - plus: ['M12 5v14','M5 12h14'], - pencil: ['M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z'], - x: ['M18 6 6 18','m6 6 12 12'], - chev: ['m9 18 6-6-6-6'], - user: ['M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2','M12 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'], - note: ['M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z','M14 2v6h6','M16 13H8','M16 17H8','M10 9H8'], - lock: ['M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z','M12 8v4','M12 16h.01'], - sort: ['M11 5h10','M11 9h7','M11 13h4','m3 17 3 3 3-3','M6 18V4'], - tag: ['M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z','M7 7h.01'], - clock: ['M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Z','M12 6v6l4 2'], - building: ['M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z','M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2','M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2','M10 6h4','M10 10h4','M10 14h4','M10 18h4'], - info: ['M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Z','M12 16v-4','M12 8h.01'], - history: ['M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8','M3 3v5h5','M12 7v5l4 2'], - calendar: ['M8 2v4','M16 2v4','M3 10h18','M5 4h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'], - logout: ['M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4','m16 17 5-5-5-5','M21 12H9'] -}; - -function icon(name, cls){ - var paths=(ICON_PATHS[name]||ICON_PATHS.box).map(function(d){ - return ''; - }).join(''); - return ''+paths+''; -} -function datalist(id,vals){ - return ''+vals.map(function(v){return ''; -} - -/* ============================================================ - ابزار - ============================================================ */ - -function esc(s){ - return String(s==null?'':s).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"').replace(/'/g,'''); -} -function fa(n){ return Number(n).toLocaleString('fa-IR',{maximumFractionDigits:4}); } -function faInt(n){ return String(n).replace(/\d/g,function(d){return '۰۱۲۳۴۵۶۷۸۹'[d];}); } -function toEnNum(s){ - if(typeof s!=='string') s=String(s); - return s.replace(/[۰-۹]/g,function(d){return '۰۱۲۳۴۵۶۷۸۹'.indexOf(d);}) - .replace(/[٠-٩]/g,function(d){return '٠١٢٣٤٥٦٧٨٩'.indexOf(d);}) - .replace(/[،,]/g,''); -} -function parseNum(s){ - var v=Number(toEnNum(s)); - return isFinite(v)?v:NaN; -} -function fmtDate(iso){ - try{return new Intl.DateTimeFormat('fa-IR',{year:'numeric',month:'2-digit',day:'2-digit'}).format(new Date(iso));} - catch(e){return iso;} -} -function fmtDateLong(iso){ - try{return new Intl.DateTimeFormat('fa-IR',{dateStyle:'full'}).format(new Date(iso));} - catch(e){return fmtDate(iso);} -} -function fmtTime(iso){ - try{return new Intl.DateTimeFormat('fa-IR',{timeStyle:'short'}).format(new Date(iso));} - catch(e){return '';} -} -function fmtDateTime(iso){ - try{return new Intl.DateTimeFormat('fa-IR',{dateStyle:'medium',timeStyle:'short'}).format(new Date(iso));} - catch(e){return iso;} -} -function toLocalInput(d){ - var x=new Date(d); x.setMinutes(x.getMinutes()-x.getTimezoneOffset()); - return x.toISOString().slice(0,16); -} -function gregKey(d){ - var y=d.getFullYear(),m=d.getMonth()+1,dd=d.getDate(); - return y+'-'+(m<10?'0':'')+m+'-'+(dd<10?'0':'')+dd; -} -function todayKey(){ return gregKey(new Date()); } -function specsHash(specs){ - var keys=Object.keys(specs||{}).filter(function(k){return specs[k]!==''&&specs[k]!=null;}).sort(); - var s=keys.map(function(k){return k+'='+specs[k];}).join('|'); - if(!s) return ''; - var h=5381,i; - for(i=0;i>>0; } - return 'h'+h.toString(16); -} -function specsText(specs){ - var keys=Object.keys(specs||{}).filter(function(k){return specs[k]!==''&&specs[k]!=null;}); - if(!keys.length) return '—'; - return keys.map(function(k){return k+' : '+specs[k];}).join(' · '); -} -function specsChips(specs){ - var keys=Object.keys(specs||{}).filter(function(k){return specs[k]!==''&&specs[k]!=null;}); - if(!keys.length) return ''; - return keys.map(function(k){return ''+esc(k)+' : '+esc(specs[k])+'';}).join(''); -} -function hexBg(hex,alpha){ - var r=parseInt(hex.slice(1,3),16),g=parseInt(hex.slice(3,5),16),b=parseInt(hex.slice(5,7),16); - return 'rgba('+r+','+g+','+b+','+alpha+')'; -} -function keyOf(wh,m,b,sh){ return wh+'|'+m+'|'+(b||'')+'|'+sh; } -function recById(id){ - if(!id) return null; - for(var i=0;i'+esc(msg)+''; - document.getElementById('toasts').appendChild(el); - setTimeout(function(){ el.classList.add('hide'); setTimeout(function(){el.remove();},350); },4000); -} - -/* ============================================================ - login / logout - ============================================================ */ - -function doLogin(){ - var pw=document.getElementById('login-pass').value.trim(); - var u=state.users.find(function(x){return x.pw===pw;}); - if(!u){ - document.getElementById('login-err').textContent='رمز عبور اشتباه است.'; - return; - } - session={pw:pw}; - saveSession(); - ui.form=emptyForm('PURCHASE'); - document.getElementById('login').classList.add('hidden'); - document.getElementById('app').classList.remove('hidden'); - toast('خوش آمدید، '+u.name+' ✓','ok'); - loadAll().then(function(ok){ renderChrome(); renderPage(); }); -} -function logout(){ - session=null; - try{ localStorage.removeItem(SESSION_KEY); }catch(e){} - document.getElementById('app').classList.add('hidden'); - document.getElementById('login').classList.remove('hidden'); - document.getElementById('login-pass').value=''; - document.getElementById('login-err').textContent=''; -} - -/* ============================================================ - ورود با حساب سازمانی (Casdoor — OIDC Authorization Code + PKCE) - ============================================================ */ - -function casdoorConfig(){ return (typeof window!=='undefined'&&window.CASDOOR_CONFIG)||null; } - -function b64urlFromBytes(bytes){ - var s=''; - for(var i=0;i'+icon(it.ic,'')+esc(it.label)+''; - return ''; - }).join(''); - var backBtn=document.getElementById('back-btn'); - if(backBtn){ - backBtn.style.display=ui.history.length?'inline-flex':'none'; - backBtn.title=ui.history.length?'بازگشت به '+esc(viewName(ui.history[ui.history.length-1])):''; - } - /* دکمه «تغییر موجودی» گوشه بالا-چپ — فقط برای مدیران پروژه (ادمین فقط‌خواندنی) */ - var chLink=document.getElementById('change-link'); - if(chLink) chLink.style.display=isAdmin()?'none':'inline-flex'; -} - -function renderSession(){ - var u=user(); - if(!u){ return; } - var html=''; - html+='
'+icon('user','')+esc(u.name)+' — '+esc(u.label)+'
'; - if(session&&session.mode==='casdoor'){ - html+=''+icon('lock','')+'حساب سازمانی (Casdoor)'; - } - if(u.role==='admin'){ - html+='
'+icon('building','')+'' - +'
'; - html+='
'+icon('lock','')+' فقط خواندنی — امکان ثبت و ویرایش وجود ندارد
'; - }else{ - html+='
' - +icon('building','')+esc(projName(u.projectId))+' — مدیر پروژه
'; - } - html+=''; - document.getElementById('sessionbar').innerHTML=html; -} - -function renderChrome(){ - renderNav(); - renderSession(); -} -function renderPage(){ - if(typeof renderAll==='function') renderAll(); - else if(typeof renderChange==='function') renderChange(); -} - -function onAdminProjectChange(v){ - ui.adminProject=v; - ui.filters={category:'',warehouse:'',material:''}; - ui.expandedId=null; ui.selTx=null; - renderChrome(); - renderPage(); -} - -/* ============================================================ - UI state - ============================================================ */ - -function emptyForm(type){ - return { - type:type||'PURCHASE', - whId:'', - matTxt:'', brandTxt:'', unitTxt:'', - specsRows:[{rid:1,label:'',value:''}], specSeq:2, - qty:'', note:'', dateInput:toLocalInput(new Date()), - selMatId:'', matTxt:'', - rows:[], - fromId:'', toId:'' - }; -} - -var ui={ - view:'dashboard', - adminProject:'', - filters:{category:'',warehouse:'',material:''}, - sort:'', - expandedId:null, selTx:null, - form:emptyForm('PURCHASE'), - cal:{anchor:new Date(), sel:todayKey(), actRec:null}, - history:[], - whEditId:null, whEditName:'', whEditDesc:'', - whNewName:'', whNewDesc:'', whNewProj:'', - newUserName:'', newUserPw:'', newUserProj:'', newUserEmail:'', - pmEditId:null, pmEditName:'', pmEditPw:'', pmEditProj:'', pmEditEmail:'' -}; - -/* ============================================================ - scope (انبارها/پروژه‌های قابل مشاهده) - ============================================================ */ - -function scopedWarehouses(){ - var u=user(); - if(!u) return []; - if(u.role==='admin'){ - var pid=ui.adminProject; - return pid?state.warehouses.filter(function(w){return w.project_id===pid;}):state.warehouses.slice(); - } - return state.warehouses.filter(function(w){return String(w.project_id)===String(u.projectId);}); -} -function scopedProjects(){ - var u=user(); - if(!u) return []; - if(u.role==='admin'){ - return ui.adminProject?[ui.adminProject]:state.projects.map(function(p){return p.id;}); - } - return u.projectId?[u.projectId]:[]; -} diff --git a/legacy/dash-prototype/inventory-system.html b/legacy/dash-prototype/inventory-system.html deleted file mode 100644 index 146bc18..0000000 --- a/legacy/dash-prototype/inventory-system.html +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - -سامانه مدیریت انبار - - - - - - - - -
- -
- - - - -
- - - - - - - diff --git a/legacy/dash-prototype/serve.py b/legacy/dash-prototype/serve.py deleted file mode 100644 index a3f4c72..0000000 --- a/legacy/dash-prototype/serve.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -"""سرور استاتیک محلی بدون کش (جایگزین py -m http.server) -اجرا: py serve.py -""" -import http.server -import socketserver - -PORT = 8123 - - -class NoCacheHandler(http.server.SimpleHTTPRequestHandler): - def end_headers(self): - self.send_header('Cache-Control', 'no-store') - super().end_headers() - - -with socketserver.TCPServer(('', PORT), NoCacheHandler) as httpd: - print('Serving on http://localhost:%d (no-cache)' % PORT) - httpd.serve_forever() diff --git a/legacy/dash-prototype/style.css b/legacy/dash-prototype/style.css deleted file mode 100644 index ebb2dfd..0000000 --- a/legacy/dash-prototype/style.css +++ /dev/null @@ -1,685 +0,0 @@ -:root{ - --bg:#f3f5f9; --panel:#ffffff; --ink:#0f172a; --muted:#64748b; --line:#e5e9f0; - --accent:#4f46e5; --accent-dark:#4338ca; --accent-bg:#eef2ff; - --green:#16a34a; --green-bg:#dcfce7; - --blue:#1d4ed8; --blue-bg:#dbeafe; - --indigo:#4f46e5; --indigo-bg:#e0e7ff; - --red:#dc2626; --red-bg:#fee2e2; - --orange:#c2410c; --orange-bg:#ffedd5; - --slate:#64748b; --slate-bg:#f1f5f9; -} -*{box-sizing:border-box; margin:0; padding:0;} -html{font-size:14px;} -body{ - font-family:'Vazirmatn',Tahoma,'Segoe UI',sans-serif; - background:var(--bg); color:var(--ink); - min-height:100vh; line-height:1.7; - -webkit-font-smoothing:antialiased; -} -button{font-family:inherit; cursor:pointer;} -input,select,textarea{font-family:inherit; font-size:13px; color:var(--ink);} -svg{width:16px; height:16px; flex:none;} /* اندازه پیش‌فرض همه آیکون‌ها */ -.hidden{display:none !important;} - -/* ---------- login ---------- */ -#login{ - position:fixed; inset:0; background:linear-gradient(160deg,#eef2ff 0%,#f3f5f9 55%,#e0e7ff 100%); - display:flex; align-items:center; justify-content:center; padding:20px; z-index:200; -} -.login-card{ - background:#fff; border:1px solid var(--line); border-radius:16px; - padding:34px 30px 28px; width:min(420px,94vw); text-align:center; - box-shadow:0 20px 50px rgba(15,23,42,.12); -} -.login-logo{ - width:60px; height:60px; margin:0 auto 12px; border-radius:16px; background:var(--accent); - color:#fff; display:flex; align-items:center; justify-content:center; -} -.login-logo svg{width:30px; height:30px;} -.login-card h1{font-size:18px; font-weight:800; margin-bottom:4px;} -.login-card .sub{font-size:12px; color:var(--muted); margin-bottom:20px;} -.login-card label{display:block; text-align:right; font-size:12px; font-weight:700; color:var(--muted); margin-bottom:6px;} -.login-card input{ - width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 14px; - font-size:14px; outline:none; text-align:center; letter-spacing:2px; direction:ltr; - transition:all .15s; -} -.login-card input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.login-btn{ - width:100%; margin-top:14px; background:var(--accent); color:#fff; border:none; - font-size:14px; font-weight:700; padding:11px; border-radius:10px; - display:flex; align-items:center; justify-content:center; gap:8px; -} -.login-btn:hover{background:var(--accent-dark);} -.login-btn svg{width:16px; height:16px;} -.login-divider{ - display:flex; align-items:center; gap:10px; margin-top:14px; - color:var(--muted); font-size:11px; font-weight:600; -} -.login-divider::before,.login-divider::after{content:""; flex:1; height:1px; background:var(--line);} -.casdoor-btn{ - background:#0ea5e9; box-shadow:0 2px 8px rgba(14,165,233,.3); -} -.casdoor-btn:hover{background:#0284c7 !important;} -.login-err{color:var(--red); font-size:12px; font-weight:600; margin-top:10px; min-height:18px;} -.demo-hint{ - margin-top:18px; padding:10px 12px; background:#f8fafc; border:1px dashed #cbd5e1; - border-radius:10px; font-size:11px; color:var(--muted); text-align:right; line-height:2; -} -.demo-hint b{color:var(--ink);} - -/* ---------- top bar ---------- */ -.topbar{ - background:var(--panel); border-bottom:1px solid var(--line); - padding:0 22px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; - position:sticky; top:0; z-index:50; -} -.brand{display:flex; align-items:center; gap:12px; padding:10px 0;} -.brand .logo{ - width:38px; height:38px; border-radius:10px; background:var(--accent); color:#fff; - display:flex; align-items:center; justify-content:center; -} -.brand .logo svg{width:20px; height:20px;} -.brand h1{font-size:16px; font-weight:800;} -.brand .sub{font-size:11px; color:var(--muted);} -.nav{display:flex; gap:6px; margin-inline-start:auto; flex-wrap:wrap;} -.nav-btn{ - display:flex; align-items:center; gap:7px; border:1px solid var(--line); - background:var(--panel); color:var(--ink); padding:7px 14px; border-radius:9px; - font-size:13px; font-weight:500; transition:all .15s; -} -.nav-btn:hover{border-color:#c7d2fe; background:var(--accent-bg);} -.nav-btn.active{background:var(--accent); border-color:var(--accent); color:#fff;} -.nav-btn svg{width:16px; height:16px;} -.top-actions{margin-inline-start:auto;} -.ghost-btn{ - display:inline-flex; align-items:center; gap:6px; border:1px dashed #cbd5e1; - background:transparent; color:var(--muted); padding:6px 12px; border-radius:8px; font-size:12px; -} -.ghost-btn:hover{color:var(--red); border-color:#fca5a5; background:#fff5f5;} -.ghost-btn svg{width:14px; height:14px;} - -/* دکمه «تغییر موجودی» گوشه بالا-چپ صفحه اصلی */ -.change-link{ - display:inline-flex; align-items:center; gap:7px; text-decoration:none; - background:var(--accent); color:#fff; border:1px solid var(--accent); - border-radius:10px; padding:7px 14px; font-size:12.5px; font-weight:700; - transition:all .15s; -} -.change-link:hover{background:var(--accent-dark); border-color:var(--accent-dark); transform:translateY(-1px); box-shadow:0 3px 8px rgba(79,70,229,.25);} -.change-link svg{width:14px; height:14px;} - -/* دکمه «برگشت به داشبوردها» صفحه تغییر موجودی */ -.change-back{ - display:inline-flex; align-items:center; gap:7px; text-decoration:none; - background:#fff; color:var(--ink); border:1px solid var(--line); - border-radius:10px; padding:7px 14px; font-size:12.5px; font-weight:700; - transition:all .15s; -} -.change-back:hover{border-color:var(--accent); color:var(--accent-dark); background:var(--accent-bg);} -.change-back svg{width:14px; height:14px;} - -/* ---------- session bar ---------- */ -.sessionbar{ - background:var(--panel); border-bottom:1px solid var(--line); - padding:9px 22px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; -} -.sb-field{display:flex; align-items:center; gap:7px; font-size:12px; color:var(--muted);} -.sb-field svg{width:14px; height:14px;} -.sb-field label{font-weight:600; white-space:nowrap;} -.sb-field select{ - border:1px solid var(--line); border-radius:8px; background:#fff; - padding:6px 10px; font-size:12.5px; min-width:130px; outline:none; -} -.sb-field select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.user-chip{ - display:inline-flex; align-items:center; gap:8px; background:var(--accent-bg); - color:var(--accent-dark); border:1px solid #c7d2fe; font-size:12px; font-weight:700; - padding:5px 14px; border-radius:999px; -} -.idp-chip{ - display:inline-flex; align-items:center; gap:6px; background:#e0f2fe; - color:#0369a1; border:1px solid #bae6fd; font-size:11px; font-weight:700; - padding:4px 12px; border-radius:999px; -} -.idp-chip svg{width:12px; height:12px;} -.user-chip svg{width:13px; height:13px;} -.readonly-chip{ - display:inline-flex; align-items:center; gap:6px; background:#fff7ed; - color:var(--orange); border:1px solid #fed7aa; font-size:12px; font-weight:600; - padding:5px 12px; border-radius:999px; -} -.readonly-chip svg{width:13px; height:13px;} -.logout-btn{ - margin-inline-start:auto; display:inline-flex; align-items:center; gap:6px; - border:1px solid var(--line); background:#fff; color:var(--red); - font-size:12px; font-weight:600; padding:6px 14px; border-radius:8px; -} -.logout-btn:hover{background:var(--red-bg); border-color:#fca5a5;} -.logout-btn svg{width:13px; height:13px;} - -/* ---------- layout ---------- */ -main{max-width:1280px; margin:0 auto; padding:20px 22px 60px;} -.card{background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden;} -.card-head{ - padding:13px 18px; border-bottom:1px solid var(--line); - display:flex; align-items:center; gap:12px; flex-wrap:wrap; -} -.card-head h2{font-size:15px; font-weight:700; display:flex; align-items:center; gap:8px;} -.card-head h2 svg{width:17px; height:17px; color:var(--accent);} -.card-body{padding:16px 18px;} - -/* ---------- dashboard filters ---------- */ -.filterbar{display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; margin-bottom:14px;} -.fb-field{display:flex; flex-direction:column; gap:4px;} -.fb-field label{font-size:11.5px; font-weight:600; color:var(--muted);} -.fb-field select{ - border:1px solid var(--line); border-radius:9px; background:#fff; - padding:8px 12px; min-width:170px; outline:none; font-size:13px; -} -.fb-field select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.fb-field select:disabled{background:#f8fafc; color:#94a3b8; cursor:not-allowed;} -/* باکس تایپی متریال — دقیقاً هم‌شکل باکس‌های انتخاب و دکمه مرتب‌سازی */ -.fb-field input[list], #filt-mat-input{ - border:1px solid var(--line); border-radius:9px; background:#fff; - padding:8px 12px; min-width:170px; outline:none; font-size:13px; -} -.fb-field input[list]:focus, #filt-mat-input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.sort-btn{ - display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); - background:#fff; padding:8px 14px; border-radius:9px; font-size:12.5px; font-weight:500; - color:var(--ink); transition:all .15s; -} -.sort-btn:hover{border-color:#c7d2fe; background:var(--accent-bg);} -.sort-btn.active{background:var(--accent); color:#fff; border-color:var(--accent);} -.sort-btn svg{width:15px; height:15px;} -.clear-btn{ - border:none; background:transparent; color:var(--red); font-size:12px; font-weight:600; - padding:8px 6px; display:inline-flex; align-items:center; gap:5px; -} -.clear-btn:hover{text-decoration:underline;} -.clear-btn svg{width:13px; height:13px;} -.count-chip{ - margin-inline-start:auto; background:var(--slate-bg); color:var(--muted); - font-size:12px; font-weight:600; padding:6px 14px; border-radius:999px; -} - -/* ---------- inventory table ---------- */ -.tbl-wrap{overflow-x:auto;} -table.inv{width:100%; border-collapse:collapse; min-width:900px;} -table.inv th{ - font-size:12px; font-weight:700; color:var(--muted); text-align:right; - padding:10px 14px; background:#f8fafc; border-bottom:1px solid var(--line); white-space:nowrap; -} -table.inv td{padding:11px 14px; border-bottom:1px solid var(--line); font-size:13px; vertical-align:middle;} -table.inv tr.data-row{cursor:pointer; transition:background .12s;} -table.inv tr.data-row:hover{background:#f8faff;} -table.inv tr.data-row.expanded{background:var(--accent-bg);} -table.inv tr.data-row.expanded td{border-bottom-color:#c7d2fe;} -tr.tl-row td{background:#fbfcfe; padding:14px 18px; border-bottom:1px solid var(--line);} -.mat-cell{font-weight:700;} -.spec-chip{ - display:inline-block; background:var(--slate-bg); border:1px solid var(--line); - color:var(--ink); font-size:10.5px; padding:1px 8px; border-radius:5px; margin-inline-start:4px; font-weight:500; -} -.caret{width:18px; height:18px; color:#94a3b8; transition:transform .15s;} -tr.expanded .caret{transform:rotate(90deg); color:var(--accent);} -.qty-cell{font-weight:800; font-size:14px; white-space:nowrap;} -.unit-cell{color:var(--muted); font-size:12px;} -.date-cell{color:var(--muted); font-size:12px; white-space:nowrap;} -.wh-cell small{display:block; font-size:10.5px; color:var(--muted);} -.row-ico{width:16px; height:16px; color:#94a3b8;} -.empty-box{padding:34px; text-align:center; color:var(--muted); font-size:13px;} - -/* ---------- timeline ---------- */ -.tl-head{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px;} -.tl-title{font-size:13px; font-weight:700; display:flex; align-items:center; gap:7px;} -.tl-title svg{width:15px; height:15px; color:var(--accent);} -.tl-hint{font-size:11px; color:var(--muted);} -.tl-track{ - display:flex; gap:24px; overflow-x:auto; padding:12px 4px 14px; - direction:rtl; align-items:stretch; -} -.tl-box{ - position:relative; min-width:118px; max-width:118px; flex:0 0 auto; - background:#fff; border:2px solid var(--line); border-radius:0; - padding:8px 10px 9px; cursor:pointer; transition:all .12s; text-align:center; -} -.tl-box::before{ - content:""; position:absolute; top:-2px; right:-2px; left:-2px; height:3px; - background:var(--boxc,#94a3b8); -} -.tl-box::after{ - content:"←"; position:absolute; left:-23px; top:50%; transform:translateY(-50%); - color:#94a3b8; font-size:13px; font-weight:700; width:16px; text-align:center; -} -.tl-box:last-child::after{content:none;} -.tl-box:hover{transform:translateY(-3px); box-shadow:0 6px 14px rgba(15,23,42,.12);} -.tl-box.sel{border-color:var(--boxc,#94a3b8); box-shadow:0 0 0 3px rgba(79,70,229,.18);} -.tl-ico{width:20px; height:20px; margin:0 auto 4px; color:var(--boxc,#64748b);} -.tl-type{font-size:11px; font-weight:700; color:var(--ink); white-space:nowrap;} -.tl-qty{font-size:13px; font-weight:800; margin-top:1px; white-space:nowrap; direction:ltr; color:var(--boxc,#0f172a);} -.tl-bal{font-size:11px; font-weight:700; margin-top:3px; white-space:nowrap; color:var(--ink);} -.tl-bal b{color:var(--accent-dark,#4338ca);} -.tl-scroll-hint{font-size:10.5px; color:#94a3b8; text-align:left; margin-top:-6px;} -.brand-break{display:flex; gap:8px; flex-wrap:wrap; margin:2px 0 10px;} -.brand-btn{ - display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); - background:#fff; border-radius:9px; padding:6px 12px; font-size:12px; color:var(--ink); - cursor:pointer; transition:all .12s; -} -.brand-btn:hover{border-color:#c7d2fe; background:var(--accent-bg);} -.brand-btn b{font-weight:800; color:var(--accent-dark,#4338ca);} -.brand-btn.act{background:var(--accent); border-color:var(--accent); color:#fff;} -.brand-btn.act b{color:#fff;} -.brand-btn .b-close{font-size:10px; opacity:.85;} -.tl-sub{ - display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:var(--muted); - margin:8px 0 2px; -} -.tl-sub svg{width:13px; height:13px;} -.tl-sub b{color:var(--ink);} - -/* ---------- tx detail (جمع‌وجور — فقط اطلاعات جدید) ---------- */ -.txdetail-min{ - background:#fff; border:1px solid var(--line); border-right:3px solid var(--boxc,#64748b); - border-radius:8px; padding:9px 14px; margin-top:6px; - display:flex; align-items:center; gap:8px 22px; flex-wrap:wrap; font-size:12px; -} -.txdetail-min .d-min{display:inline-flex; align-items:baseline; gap:6px;} -.txdetail-min .d-min .k{color:var(--muted); font-size:11px;} -.txdetail-min .d-min b{font-weight:600; color:var(--ink);} -.diff-row{ - display:flex; align-items:center; gap:10px; margin-top:12px; padding-top:10px; - border-top:1px dashed var(--line); flex-wrap:wrap; -} -.diff-pill{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; padding:4px 12px; border-radius:6px;} -.diff-pill.up{background:var(--green-bg); color:var(--green);} -.diff-pill.down{background:var(--blue-bg); color:var(--blue);} -.diff-pill.same{background:var(--slate-bg); color:var(--muted);} - -/* ---------- change-inventory page (تغییر موجودی) ---------- */ -.txp-layout{display:grid; grid-template-columns:240px 1fr; gap:16px; align-items:start;} -@media (max-width:860px){.txp-layout{grid-template-columns:1fr;}} -.tx-types{ - background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px; - display:flex; flex-direction:column; gap:6px; - position:sticky; top:14px; box-shadow:0 1px 2px rgba(15,23,42,.04); -} -.tx-types h3{ - font-size:11.5px; font-weight:800; color:var(--muted); padding:6px 12px 4px; - display:flex; align-items:center; gap:7px; -} -.tx-types h3 svg{width:13px; height:13px;} -.tx-type-btn{ - position:relative; display:flex; align-items:center; gap:10px; - border:1px solid var(--line); background:#fff; border-radius:10px; - padding:10px 12px; font-size:12.5px; font-weight:600; color:var(--ink); - transition:all .15s; text-align:right; width:100%; -} -.tx-type-btn svg{width:16px; height:16px; color:var(--tc,#64748b); transition:color .15s;} -.tx-type-btn .dir{ - font-size:9.5px; font-weight:800; margin-inline-start:auto; - background:var(--tc-bg,#f1f5f9); color:var(--tc,#64748b); - border-radius:999px; padding:2px 9px; letter-spacing:.3px; white-space:nowrap; -} -.tx-type-btn:hover{border-color:var(--tc,#94a3b8); background:var(--tc-bg,#f8fafc); transform:translateY(-1px);} -.tx-type-btn.active{ - background:#fff; border-color:var(--tc,#4f46e5); - box-shadow:0 0 0 1px var(--tc,#4f46e5), 0 4px 10px rgba(79,70,229,.12); -} -.tx-type-btn.active::before{ - content:""; position:absolute; inset-inline-start:-1px; top:9px; bottom:9px; width:3px; - border-radius:3px; background:var(--tc,#4f46e5); -} -.tx-type-btn.active svg{color:var(--tc,#4f46e5);} -.tx-type-btn.active .dir{background:var(--tc,#4f46e5); color:#fff;} -.tx-form-card{ - background:#fff; border:1px solid var(--line); border-radius:14px; - padding:20px 22px; box-shadow:0 1px 2px rgba(15,23,42,.04); -} -.tx-form-card h2{ - font-size:15.5px; font-weight:800; display:flex; align-items:center; gap:10px; - padding-bottom:13px; border-bottom:1px solid var(--line); margin-bottom:6px; -} -.tx-form-card h2 svg{ - width:16px; height:16px; color:var(--tc,#4f46e5); - background:var(--tc-bg,#eef2ff); padding:6px; border-radius:9px; - box-sizing:content-box; -} -.tx-desc{font-size:12px; color:var(--muted); margin-bottom:18px; line-height:1.9;} -.f-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 22px;} -@media (max-width:760px){.f-grid{grid-template-columns:1fr;}} -.f-grid .f-row{margin-bottom:0;} -.f-row{margin-bottom:14px;} -.f-row label{ - display:flex; align-items:center; gap:5px; flex-wrap:wrap; - font-size:12px; font-weight:700; color:var(--ink); margin-bottom:6px; -} -.f-row label .req{color:var(--red);} -.f-row label .lbl-hint{font-size:10.5px; color:var(--muted); font-weight:500;} -.f-row select,.f-row input[type=text],.f-row input[type=number],.f-row input[type=datetime-local],.f-row textarea{ - width:100%; border:1px solid var(--line); border-radius:10px; padding:9px 13px; - outline:none; background:#fff; font-size:13px; color:var(--ink); - transition:border-color .15s, box-shadow .15s; -} -.f-row select:focus,.f-row input:focus,.f-row textarea:focus{ - border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg); -} -.f-row textarea{min-height:72px; resize:vertical; line-height:1.8;} -.f-row input.ltr{direction:ltr; text-align:left;} -.f-help{font-size:11px; color:var(--muted); margin-top:4px; line-height:1.7;} -.f-help.warn{color:var(--red); font-weight:600;} -.f-help.ok{color:var(--green); font-weight:600;} -.fromto{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:2px;} -.fromto .box{ - border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:#fbfcfe; - transition:border-color .15s, box-shadow .15s; -} -.fromto .box:focus-within{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.fromto .box .lbl{font-size:11px; font-weight:800; color:var(--tc,#4f46e5); margin-bottom:7px; display:flex; align-items:center; gap:6px;} -.fromto .box .lbl svg{width:13px; height:13px;} -.fromto .box select{ - width:100%; border:1px solid var(--line); border-radius:9px; padding:8px 11px; - font-size:13px; outline:none; background:#fff; transition:border-color .15s; -} -.fromto .box select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.spec-box{ - border:1px solid var(--line); border-radius:12px; background:#fbfcfe; - padding:13px 13px 11px; margin-top:2px; -} -.spec-rows{margin-bottom:10px;} -.spec-row{display:flex; gap:8px; margin-bottom:8px; align-items:center;} -.spec-row input{ - border:1px solid var(--line); border-radius:9px; padding:8px 12px; font-size:13px; - outline:none; background:#fff; transition:border-color .15s, box-shadow .15s; -} -.spec-row input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.spec-row input.k{flex:0 0 30%;} -.spec-row input.v{flex:1;} -.spec-del{ - flex:none; width:32px; height:32px; border-radius:9px; border:1px solid var(--line); - background:#fff; color:var(--red); display:flex; align-items:center; justify-content:center; - transition:all .15s; -} -.spec-del:hover{background:var(--red-bg); border-color:#fca5a5;} -.spec-del svg{width:13px; height:13px;} -.add-spec{ - display:inline-flex; align-items:center; gap:6px; border:1.5px dashed var(--accent); - color:var(--accent-dark); background:var(--accent-bg); font-size:12px; font-weight:700; - padding:7px 14px; border-radius:9px; transition:all .15s; -} -.add-spec:hover{background:#e0e7ff; border-style:solid;} -.add-spec svg{width:13px; height:13px;} -.pcat-wrap{margin-top:14px;} -.pcat-wrap .f-row{margin-bottom:0;} - -/* ---------- records table (list ops) ---------- */ -.rows-tbl{ - width:100%; border-collapse:separate; border-spacing:0; - border:1px solid var(--line); border-radius:12px; overflow:hidden; -} -.rows-tbl th{ - font-size:11.5px; font-weight:800; color:var(--muted); text-align:right; - padding:10px 12px; background:#f8fafc; border-bottom:1px solid var(--line); white-space:nowrap; -} -.rows-tbl td{padding:10px 12px; border-bottom:1px solid var(--line); font-size:12.5px; vertical-align:middle;} -.rows-tbl tbody tr:last-child td{border-bottom:none;} -.rows-tbl tbody tr:hover{background:#f8faff;} -.rows-tbl td .cur{font-weight:800;} -.rows-tbl input.qty{ - width:92px; border:1px solid var(--line); border-radius:8px; padding:6px 10px; - font-size:12.5px; direction:ltr; text-align:center; outline:none; background:#fff; - transition:border-color .15s, box-shadow .15s; -} -.rows-tbl input.qty:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.rows-tbl input.note{ - width:100%; min-width:130px; border:1px solid var(--line); border-radius:8px; - padding:6px 10px; font-size:12px; outline:none; background:#fff; - transition:border-color .15s, box-shadow .15s; -} -.rows-tbl input.note:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.diff-live{font-size:11.5px; font-weight:800; white-space:nowrap;} -.diff-live.up{color:var(--green);} -.diff-live.down{color:var(--blue);} -.diff-live.same{color:var(--muted);} -.rows-empty{padding:30px 20px; text-align:center; color:var(--muted); font-size:12.5px; line-height:1.9;} -.hint-box{ - background:#f8fafc; border:1px solid var(--line); border-radius:10px; - padding:10px 13px; font-size:12px; color:var(--muted); margin-bottom:14px; - display:flex; align-items:flex-start; gap:8px; line-height:1.8; -} -.hint-box b{color:var(--ink);} -.hint-box.alert{background:#fff5f5; border-color:#fecaca; color:var(--red);} -.hint-box.alert b{color:var(--red);} -.hint-box svg{width:14px; height:14px; flex:none; margin-top:4px;} -.submit-bar{ - margin-top:18px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; - background:#f8fafc; border:1px solid var(--line); border-radius:12px; padding:12px 16px; -} -.submit-bar .actor{font-size:12px; color:var(--muted); display:flex; align-items:center; gap:7px;} -.submit-bar .actor svg{width:14px; height:14px;} -.submit-bar .actor b{color:var(--ink); font-weight:700;} -.submit-btn{ - margin-inline-start:auto; background:var(--tc,#4f46e5); color:#fff; border:none; font-size:13.5px; - font-weight:700; padding:11px 28px; border-radius:10px; display:flex; align-items:center; gap:8px; - box-shadow:0 2px 8px rgba(79,70,229,.25); - transition:opacity .15s, transform .15s, box-shadow .15s; -} -.submit-btn:hover{opacity:.92; transform:translateY(-1px);} -.submit-btn:disabled{background:#cbd5e1; cursor:not-allowed; box-shadow:none; transform:none;} -.submit-btn svg{width:16px; height:16px;} -.readonly-block{ - max-width:520px; margin:60px auto; background:#fff; border:1px solid var(--line); - border-radius:14px; padding:34px; text-align:center; -} -.readonly-block .big-ico{ - width:52px; height:52px; margin:0 auto 14px; color:#f59e0b; background:#fffbeb; - border:1px solid #fde68a; border-radius:14px; display:flex; align-items:center; justify-content:center; -} -.readonly-block .big-ico svg{width:26px; height:26px;} -.readonly-block h3{font-size:16px; font-weight:800; margin-bottom:6px;} -.readonly-block p{font-size:13px; color:var(--muted);} - -/* ---------- calendar (کنترل روزانه) ---------- */ -.cal-layout{display:grid; grid-template-columns:390px 1fr; gap:16px; align-items:start;} -@media (max-width:960px){.cal-layout{grid-template-columns:1fr;}} -.cal-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px;} -.cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;} -.cal-head .month{font-size:14.5px; font-weight:800; display:flex; align-items:center; gap:8px;} -.cal-head .month svg{width:16px; height:16px; color:var(--accent);} -.cal-nav{display:flex; gap:6px; direction:ltr;} -.cal-nav button{ - width:30px; height:30px; border-radius:8px; border:1px solid var(--line); background:#fff; - color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:700; -} -.cal-nav button:hover{border-color:#c7d2fe; background:var(--accent-bg);} -.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px;} -.cal-dow{font-size:11px; font-weight:700; color:var(--muted); text-align:center; padding:4px 0;} -.day-cell{ - position:relative; aspect-ratio:1/1.15; border:1px solid var(--line); border-radius:8px; - background:#fff; font-size:12.5px; font-weight:600; color:var(--ink); - display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; - transition:all .12s; min-height:52px; -} -.day-cell:hover{border-color:#c7d2fe; background:var(--accent-bg);} -.day-cell.out{color:#cbd5e1; background:#fafbfd;} -.day-cell.today{border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-bg);} -.day-cell.sel{background:var(--accent); border-color:var(--accent); color:#fff;} -.day-cell.sel .d-dot{background:#fff; color:var(--accent);} -.d-dot{ - min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--green); - color:#fff; font-size:9.5px; font-weight:800; display:flex; align-items:center; justify-content:center; -} -.day-cell.out .d-dot{opacity:.4;} -.day-panel{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;} -.day-panel .dp-head{ - padding:13px 18px; border-bottom:1px solid var(--line); - display:flex; align-items:center; gap:12px; flex-wrap:wrap; -} -.day-panel .dp-head h2{font-size:14.5px; font-weight:800; display:flex; align-items:center; gap:8px;} -.day-panel .dp-head h2 svg{width:16px; height:16px; color:var(--accent);} -.dp-chips{display:flex; gap:8px; margin-inline-start:auto; flex-wrap:wrap;} -.dp-chip{font-size:11px; font-weight:700; padding:4px 12px; border-radius:999px;} -.dp-chip.in{background:var(--green-bg); color:var(--green);} -.dp-chip.out{background:var(--blue-bg); color:var(--blue);} -.dp-list{max-height:560px; overflow-y:auto;} -.dp-item{border-bottom:1px solid var(--line); font-size:12.5px;} -.dp-item.act{background:#f8faff;} -.dp-hit{ - display:flex; align-items:center; gap:12px; padding:11px 18px; width:100%; - background:none; border:none; text-align:right; color:inherit; font:inherit; cursor:pointer; -} -.dp-hit:hover{background:#f8faff;} -.dp-item .badge{ - flex:none; width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; -} -.dp-item .badge svg{width:16px; height:16px;} -.dp-item .main{flex:1; min-width:0;} -.dp-item .main .t{font-weight:700;} -.dp-item .main .s{font-size:11px; color:var(--muted); margin-top:1px;} -.dp-item .qty{font-weight:800; white-space:nowrap;} -.dp-item .qty.in{color:var(--green);} -.dp-item .qty.out{color:var(--blue);} -.dp-item .time{color:var(--muted); font-size:11px; white-space:nowrap;} -.dp-actions{display:flex; gap:8px; padding:0 18px 12px;} -.dp-actions button{ - flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; - border:1px solid var(--line); border-radius:8px; padding:8px 10px; font-size:12px; font-weight:700; - background:#fff; cursor:pointer; -} -.dp-actions button:hover{opacity:.85;} -.dp-actions button svg{width:13px; height:13px;} -.dp-actions .act-ret{color:var(--green); border-color:#bbf7d0; background:var(--green-bg);} -.dp-actions .act-out{color:var(--blue); border-color:#bfdbfe; background:var(--blue-bg);} -.dp-actions-noact{padding:0 18px 12px; font-size:11px; color:var(--muted);} -.dp-hint{padding:9px 18px; font-size:11.5px; color:var(--muted); background:#fbfcfe; border-bottom:1px solid var(--line);} - -/* ---------- warehouses ---------- */ -.wh-add{margin-bottom:14px;} -.wh-add h3{font-size:13.5px; font-weight:700; display:flex; align-items:center; gap:7px; margin-bottom:10px;} -.wh-add h3 svg{width:15px; height:15px; color:var(--accent);} -.wh-add-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center;} -.wh-add-row input,.wh-add-row select{ - border:1px solid var(--line); border-radius:9px; background:#fff; padding:8px 12px; - outline:none; font-size:13px; min-width:180px; -} -.wh-add-row input:focus,.wh-add-row select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} - -/* ---------- org view (سازمان‌دهی) ---------- */ -.org-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:16px;} -@media (max-width:900px){.org-grid{grid-template-columns:1fr;}} -.org-card{ - background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; - box-shadow:0 1px 2px rgba(15,23,42,.04); -} -.org-head{ - display:flex; align-items:center; gap:9px; padding:14px 16px; - background:linear-gradient(180deg,#f8faff,#fff); border-bottom:1px solid var(--line); -} -.org-head svg{width:17px; height:17px; color:var(--accent);} -.org-head h3{font-size:14px; font-weight:800; flex:1;} -.org-badge{ - font-size:10.5px; font-weight:700; color:var(--accent-dark); - background:var(--accent-bg); border:1px solid #e0e7ff; - border-radius:999px; padding:3px 10px; white-space:nowrap; -} -.org-sec{padding:13px 16px 15px; border-bottom:1px solid var(--line);} -.org-sec:last-child{border-bottom:none;} -.org-sec h4{ - font-size:11.5px; font-weight:800; color:var(--muted); margin-bottom:9px; - display:flex; align-items:center; gap:6px; -} -.org-sec h4 svg{width:13px; height:13px;} -.org-chip{ - display:flex; align-items:center; gap:8px; border:1px solid var(--line); - border-radius:10px; padding:7px 11px; margin-bottom:7px; background:#fbfcfe; -} -.org-chip svg{width:14px; height:14px; color:var(--green);} -.org-chip .nm{font-weight:700; font-size:12.5px;} -.org-chip .pw{font-size:10.5px; color:var(--muted); background:#fff; border:1px solid var(--line); - border-radius:6px; padding:1px 7px;} -.org-chip.org-edit{flex-wrap:wrap; background:#fff;} -.org-chip.org-edit input{ - flex:1; min-width:110px; border:1px solid var(--line); border-radius:8px; - padding:6px 10px; font-size:12px; outline:none; background:#fff; -} -.org-chip.org-edit input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.org-chip.org-edit select{ - border:1px solid var(--line); border-radius:8px; padding:5px 8px; font-size:11.5px; - outline:none; background:#fff; -} -.org-chip.org-edit select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.org-del{ - margin-inline-start:auto; width:26px; height:26px; border-radius:8px; border:1px solid var(--line); - background:#fff; color:var(--red); display:flex; align-items:center; justify-content:center; - transition:all .15s; -} -.org-del:hover{background:var(--red-bg); border-color:#fca5a5;} -.org-del svg{width:12px; height:12px;} -.org-wh{ - display:flex; align-items:center; gap:10px; border:1px solid var(--line); - border-radius:10px; padding:8px 11px; margin-bottom:7px; background:#fbfcfe; -} -.org-wh .info{flex:1; min-width:0;} -.org-wh .info b{font-size:12.5px; display:block;} -.org-wh .info small{font-size:10.5px; color:var(--muted); display:block; overflow:hidden; - text-overflow:ellipsis; white-space:nowrap;} -.org-wh select{ - border:1px solid var(--line); border-radius:8px; padding:5px 8px; font-size:11.5px; - outline:none; background:#fff; max-width:170px; -} -.org-wh select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.org-none{font-size:11.5px; color:var(--muted); background:var(--slate-bg); border-radius:8px; - padding:8px 12px; margin-bottom:7px;} -.org-add{display:flex; gap:8px; flex-wrap:wrap;} -.org-add input{ - flex:1; min-width:120px; border:1px solid var(--line); border-radius:9px; - padding:7px 11px; font-size:12.5px; outline:none; background:#fff; -} -.org-add input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.wh-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px;} -.wh-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px;} -.wh-card h3{font-size:14px; font-weight:700; display:flex; align-items:center; gap:8px; margin-bottom:4px;} -.wh-card h3 svg{width:16px; height:16px; color:var(--accent);} -.wh-card .desc{font-size:12px; color:var(--muted); min-height:20px;} -.wh-meta{display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; font-size:11.5px; color:var(--muted);} -.wh-meta b{color:var(--ink);} -.wh-actions{display:flex; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line);} -.wh-actions button{ - display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; - border:1px solid var(--line); background:#fff; border-radius:8px; padding:5px 12px; color:var(--ink); -} -.wh-actions button:hover{border-color:#c7d2fe; background:var(--accent-bg);} -.wh-actions button svg{width:13px; height:13px;} -.wh-edit{border-top:1px dashed var(--line); margin-top:12px; padding-top:12px;} -.wh-edit input{ - width:100%; border:1px solid var(--line); border-radius:9px; padding:7px 12px; font-size:12.5px; - margin-bottom:8px; outline:none; -} -.wh-edit input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg);} -.mini-btn{ - border:1px solid var(--accent); background:var(--accent); color:#fff; font-size:12px; font-weight:600; - padding:7px 14px; border-radius:8px; white-space:nowrap; - display:inline-flex; align-items:center; gap:6px; -} -.mini-btn:hover{background:var(--accent-dark);} -.mini-btn svg{width:13px; height:13px;} - -/* ---------- toast ---------- */ -#toasts{position:fixed; top:14px; left:50%; transform:translateX(-50%); z-index:999; display:flex; flex-direction:column; gap:8px; width:min(92vw,430px);} -.toast{ - background:#0f172a; color:#fff; font-size:12.5px; font-weight:500; border-radius:10px; - padding:11px 16px; display:flex; align-items:center; gap:9px; - box-shadow:0 10px 26px rgba(15,23,42,.28); animation:tin .25s ease; -} -.toast svg{width:15px; height:15px; flex:none;} -.toast.ok svg{color:#4ade80;} -.toast.err{background:#7f1d1d;} -.toast.err svg{color:#fca5a5;} -.toast.info svg{color:#93c5fd;} -.toast.hide{opacity:0; transition:opacity .3s;} -@keyframes tin{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);}} -.footer-note{margin-top:22px; text-align:center; font-size:11px; color:#94a3b8;} -/* nav buttons as links */ -a.nav-btn{display:inline-flex; text-decoration:none;} diff --git a/legacy/dash-prototype/swagger.json b/legacy/dash-prototype/swagger.json deleted file mode 100644 index c130700..0000000 --- a/legacy/dash-prototype/swagger.json +++ /dev/null @@ -1,10555 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Casdoor RESTful API", - "description": "Swagger Docs of Casdoor Backend API", - "version": "1.503.0", - "contact": { - "email": "casbin@googlegroups.com" - } - }, - "basePath": "/", - "schemes": [ - "https", - "http" - ], - "paths": { - "/.well-known/jwks": { - "get": { - "tags": [ - "OIDC API" - ], - "operationId": "RootController.GetJwks", - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/jose.JSONWebKey" - } - } - } - } - }, - "/.well-known/openid-configuration": { - "get": { - "tags": [ - "OIDC API" - ], - "description": "Get Oidc Discovery", - "operationId": "RootController.GetOidcDiscovery", - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.OidcDiscovery" - } - } - } - } - }, - "/.well-known/webfinger": { - "get": { - "tags": [ - "OIDC API" - ], - "operationId": "RootController.GetWebFinger", - "parameters": [ - { - "in": "query", - "name": "resource", - "description": "resource", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.WebFinger" - } - } - } - } - }, - "/.well-known/{application}/jwks": { - "get": { - "tags": [ - "OIDC API" - ], - "operationId": "RootController.GetJwksByApplication", - "parameters": [ - { - "in": "path", - "name": "application", - "description": "application name", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/jose.JSONWebKey" - } - } - } - } - }, - "/.well-known/{application}/openid-configuration": { - "get": { - "tags": [ - "OIDC API" - ], - "description": "Get Oidc Discovery for specific application", - "operationId": "RootController.GetOidcDiscoveryByApplication", - "parameters": [ - { - "in": "path", - "name": "application", - "description": "application name", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.OidcDiscovery" - } - } - } - } - }, - "/.well-known/{application}/webfinger": { - "get": { - "tags": [ - "OIDC API" - ], - "operationId": "RootController.GetWebFingerByApplication", - "parameters": [ - { - "in": "path", - "name": "application", - "description": "application name", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "resource", - "description": "resource", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.WebFinger" - } - } - } - } - }, - "/api/Callback": { - "post": { - "tags": [ - "Callback API" - ], - "description": "Get Login Error Counts", - "operationId": "ApiController.Callback", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/add-adapter": { - "post": { - "tags": [ - "Adapter API" - ], - "description": "add adapter", - "operationId": "ApiController.AddAdapter", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the adapter", - "required": true, - "schema": { - "$ref": "#/definitions/object.Adapter" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-application": { - "post": { - "tags": [ - "Application API" - ], - "description": "add an application", - "operationId": "ApiController.AddApplication", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the application", - "required": true, - "schema": { - "$ref": "#/definitions/object.Application" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-cert": { - "post": { - "tags": [ - "Cert API" - ], - "description": "add cert", - "operationId": "ApiController.AddCert", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the cert", - "required": true, - "schema": { - "$ref": "#/definitions/object.Cert" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-enforcer": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "add enforcer", - "operationId": "ApiController.AddEnforcer", - "parameters": [ - { - "in": "body", - "name": "enforcer", - "description": "The enforcer object", - "required": true, - "schema": { - "$ref": "#/definitions/object" - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.Enforcer" - } - } - } - } - }, - "/api/add-form": { - "post": { - "tags": [ - "Form API" - ], - "description": "add form", - "operationId": "ApiController.AddForm", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the form", - "required": true, - "schema": { - "$ref": "#/definitions/object.Form" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-group": { - "post": { - "tags": [ - "Group API" - ], - "description": "add group", - "operationId": "ApiController.AddGroup", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the group", - "required": true, - "schema": { - "$ref": "#/definitions/object.Group" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-invitation": { - "post": { - "tags": [ - "Invitation API" - ], - "description": "add invitation", - "operationId": "ApiController.AddInvitation", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the invitation", - "required": true, - "schema": { - "$ref": "#/definitions/object.Invitation" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-ldap": { - "post": { - "tags": [ - "Account API" - ], - "description": "add ldap", - "operationId": "ApiController.AddLdap", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the ldap", - "required": true, - "schema": { - "$ref": "#/definitions/object.Ldap" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-model": { - "post": { - "tags": [ - "Model API" - ], - "description": "add model", - "operationId": "ApiController.AddModel", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the model", - "required": true, - "schema": { - "$ref": "#/definitions/object.Model" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-order": { - "post": { - "tags": [ - "Order API" - ], - "description": "add order", - "operationId": "ApiController.AddOrder", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the order", - "required": true, - "schema": { - "$ref": "#/definitions/object.Order" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-organization": { - "post": { - "tags": [ - "Organization API" - ], - "description": "add organization", - "operationId": "ApiController.AddOrganization", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the organization", - "required": true, - "schema": { - "$ref": "#/definitions/object.Organization" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-payment": { - "post": { - "tags": [ - "Payment API" - ], - "description": "add payment", - "operationId": "ApiController.AddPayment", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the payment", - "required": true, - "schema": { - "$ref": "#/definitions/object.Payment" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-permission": { - "post": { - "tags": [ - "Permission API" - ], - "description": "add permission", - "operationId": "ApiController.AddPermission", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the permission", - "required": true, - "schema": { - "$ref": "#/definitions/object.Permission" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-plan": { - "post": { - "tags": [ - "Plan API" - ], - "description": "add plan", - "operationId": "ApiController.AddPlan", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the plan", - "required": true, - "schema": { - "$ref": "#/definitions/object.Plan" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-policy": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "add policy", - "operationId": "ApiController.AddPolicy", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The policy to add", - "required": true, - "schema": { - "$ref": "#/definitions/xormadapter.CasbinRule" - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/Response" - } - } - } - } - }, - "/api/add-pricing": { - "post": { - "tags": [ - "Pricing API" - ], - "description": "add pricing", - "operationId": "ApiController.AddPricing", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the pricing", - "required": true, - "schema": { - "$ref": "#/definitions/object.Pricing" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-product": { - "post": { - "tags": [ - "Product API" - ], - "description": "add product", - "operationId": "ApiController.AddProduct", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the product", - "required": true, - "schema": { - "$ref": "#/definitions/object.Product" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-provider": { - "post": { - "tags": [ - "Provider API" - ], - "description": "add provider", - "operationId": "ApiController.AddProvider", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the provider", - "required": true, - "schema": { - "$ref": "#/definitions/object.Provider" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-record": { - "post": { - "tags": [ - "Record API" - ], - "description": "add a record", - "operationId": "ApiController.AddRecord", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the record", - "required": true, - "schema": { - "$ref": "#/definitions/object.Record" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-resource": { - "post": { - "tags": [ - "Resource API" - ], - "operationId": "ApiController.AddResource", - "parameters": [ - { - "in": "body", - "name": "resource", - "description": "Resource object", - "required": true, - "schema": { - "$ref": "#/definitions/object.Resource" - } - } - ], - "responses": { - "200": { - "description": "Success or error", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-role": { - "post": { - "tags": [ - "Role API" - ], - "description": "add role", - "operationId": "ApiController.AddRole", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the role", - "required": true, - "schema": { - "$ref": "#/definitions/object.Role" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-session": { - "post": { - "tags": [ - "Session API" - ], - "description": "Add session for one user in one application. If there are other existing sessions, join the session into the list.", - "operationId": "ApiController.AddSession", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The session object to add", - "required": true, - "schema": { - "$ref": "#/definitions/object.Session" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-subscription": { - "post": { - "tags": [ - "Subscription API" - ], - "description": "add subscription", - "operationId": "ApiController.AddSubscription", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the subscription", - "required": true, - "schema": { - "$ref": "#/definitions/object.Subscription" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-syncer": { - "post": { - "tags": [ - "Syncer API" - ], - "description": "add syncer", - "operationId": "ApiController.AddSyncer", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the syncer", - "required": true, - "schema": { - "$ref": "#/definitions/object.Syncer" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-ticket": { - "post": { - "tags": [ - "Ticket API" - ], - "description": "add ticket", - "operationId": "ApiController.AddTicket", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the ticket", - "required": true, - "schema": { - "$ref": "#/definitions/object.Ticket" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-ticket-message": { - "post": { - "tags": [ - "Ticket API" - ], - "description": "add a message to a ticket", - "operationId": "ApiController.AddTicketMessage", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the ticket", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The message to add", - "required": true, - "schema": { - "$ref": "#/definitions/object.TicketMessage" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-token": { - "post": { - "tags": [ - "Token API" - ], - "description": "add token", - "operationId": "ApiController.AddToken", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "Details of the token", - "required": true, - "schema": { - "$ref": "#/definitions/object.Token" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-transaction": { - "post": { - "tags": [ - "Transaction API" - ], - "description": "add transaction", - "operationId": "ApiController.AddTransaction", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the transaction", - "required": true, - "schema": { - "$ref": "#/definitions/object.Transaction" - } - }, - { - "in": "query", - "name": "dryRun", - "description": "Dry run mode: set to 'true' or '1' to validate without committing", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-user": { - "post": { - "tags": [ - "User API" - ], - "description": "add user", - "operationId": "ApiController.AddUser", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the user", - "required": true, - "schema": { - "$ref": "#/definitions/object.User" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/add-user-keys": { - "post": { - "tags": [ - "User API" - ], - "operationId": "ApiController.AddUserKeys", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/add-webhook": { - "post": { - "tags": [ - "Webhook API" - ], - "description": "add webhook", - "operationId": "ApiController.AddWebhook", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the webhook", - "required": true, - "schema": { - "$ref": "#/definitions/object.Webhook" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/batch-enforce": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "Call Casbin BatchEnforce API", - "operationId": "ApiController.BatchEnforce", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "array of casbin requests", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "in": "query", - "name": "permissionId", - "description": "permission id", - "type": "string" - }, - { - "in": "query", - "name": "modelId", - "description": "model id", - "type": "string" - }, - { - "in": "query", - "name": "owner", - "description": "owner", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/cancel-order": { - "post": { - "tags": [ - "Order API" - ], - "description": "cancel an order", - "operationId": "ApiController.CancelOrder", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the order", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/check-user-password": { - "post": { - "tags": [ - "User API" - ], - "operationId": "ApiController.CheckUserPassword", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/buy-product": { - "post": { - "tags": [ - "Product API" - ], - "description": "buy product using the deprecated compatibility endpoint, prefer place-order plus pay-order for new integrations", - "operationId": "ApiController.BuyProduct", - "deprecated": true, - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the product", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "providerName", - "description": "The name of the provider", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "pricingName", - "description": "The name of the pricing (for subscription)", - "type": "string" - }, - { - "in": "query", - "name": "planName", - "description": "The name of the plan (for subscription)", - "type": "string" - }, - { - "in": "query", - "name": "userName", - "description": "The username to buy product for (admin only)", - "type": "string" - }, - { - "in": "query", - "name": "paymentEnv", - "description": "The payment environment", - "type": "string" - }, - { - "in": "query", - "name": "customPrice", - "description": "Custom price for recharge products", - "type": "number" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-adapter": { - "post": { - "tags": [ - "Adapter API" - ], - "description": "delete adapter", - "operationId": "ApiController.DeleteAdapter", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the adapter", - "required": true, - "schema": { - "$ref": "#/definitions/object.Adapter" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-application": { - "post": { - "tags": [ - "Application API" - ], - "description": "delete an application", - "operationId": "ApiController.DeleteApplication", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the application", - "required": true, - "schema": { - "$ref": "#/definitions/object.Application" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-cert": { - "post": { - "tags": [ - "Cert API" - ], - "description": "delete cert", - "operationId": "ApiController.DeleteCert", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the cert", - "required": true, - "schema": { - "$ref": "#/definitions/object.Cert" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-enforcer": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "delete enforcer", - "operationId": "ApiController.DeleteEnforcer", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The enforcer object", - "required": true, - "schema": { - "$ref": "#/definitions/object.Enforcer" - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.Enforcer" - } - } - } - } - }, - "/api/delete-form": { - "post": { - "tags": [ - "Form API" - ], - "description": "delete form", - "operationId": "ApiController.DeleteForm", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the form", - "required": true, - "schema": { - "$ref": "#/definitions/object.Form" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-group": { - "post": { - "tags": [ - "Group API" - ], - "description": "delete group", - "operationId": "ApiController.DeleteGroup", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the group", - "required": true, - "schema": { - "$ref": "#/definitions/object.Group" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-invitation": { - "post": { - "tags": [ - "Invitation API" - ], - "description": "delete invitation", - "operationId": "ApiController.DeleteInvitation", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the invitation", - "required": true, - "schema": { - "$ref": "#/definitions/object.Invitation" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-ldap": { - "post": { - "tags": [ - "Account API" - ], - "description": "delete ldap", - "operationId": "ApiController.DeleteLdap", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the ldap", - "required": true, - "schema": { - "$ref": "#/definitions/object.Ldap" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-mfa/": { - "post": { - "tags": [ - "MFA API" - ], - "description": ": Delete MFA", - "operationId": "ApiController.DeleteMfa", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-model": { - "post": { - "tags": [ - "Model API" - ], - "description": "delete model", - "operationId": "ApiController.DeleteModel", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the model", - "required": true, - "schema": { - "$ref": "#/definitions/object.Model" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-order": { - "post": { - "tags": [ - "Order API" - ], - "description": "delete order", - "operationId": "ApiController.DeleteOrder", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the order", - "required": true, - "schema": { - "$ref": "#/definitions/object.Order" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-organization": { - "post": { - "tags": [ - "Organization API" - ], - "description": "delete organization", - "operationId": "ApiController.DeleteOrganization", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the organization", - "required": true, - "schema": { - "$ref": "#/definitions/object.Organization" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-payment": { - "post": { - "tags": [ - "Payment API" - ], - "description": "delete payment", - "operationId": "ApiController.DeletePayment", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the payment", - "required": true, - "schema": { - "$ref": "#/definitions/object.Payment" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-permission": { - "post": { - "tags": [ - "Permission API" - ], - "description": "delete permission", - "operationId": "ApiController.DeletePermission", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the permission", - "required": true, - "schema": { - "$ref": "#/definitions/object.Permission" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-plan": { - "post": { - "tags": [ - "Plan API" - ], - "description": "delete plan", - "operationId": "ApiController.DeletePlan", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the plan", - "required": true, - "schema": { - "$ref": "#/definitions/object.Plan" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-pricing": { - "post": { - "tags": [ - "Pricing API" - ], - "description": "delete pricing", - "operationId": "ApiController.DeletePricing", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the pricing", - "required": true, - "schema": { - "$ref": "#/definitions/object.Pricing" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-product": { - "post": { - "tags": [ - "Product API" - ], - "description": "delete product", - "operationId": "ApiController.DeleteProduct", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the product", - "required": true, - "schema": { - "$ref": "#/definitions/object.Product" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-provider": { - "post": { - "tags": [ - "Provider API" - ], - "description": "delete provider", - "operationId": "ApiController.DeleteProvider", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the provider", - "required": true, - "schema": { - "$ref": "#/definitions/object.Provider" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-resource": { - "post": { - "tags": [ - "Resource API" - ], - "operationId": "ApiController.DeleteResource", - "parameters": [ - { - "in": "body", - "name": "resource", - "description": "Resource object", - "required": true, - "schema": { - "$ref": "#/definitions/object.Resource" - } - } - ], - "responses": { - "200": { - "description": "Success or error", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-role": { - "post": { - "tags": [ - "Role API" - ], - "description": "delete role", - "operationId": "ApiController.DeleteRole", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the role", - "required": true, - "schema": { - "$ref": "#/definitions/object.Role" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-session": { - "post": { - "tags": [ - "Session API" - ], - "description": "Delete session for one user in one application.", - "operationId": "ApiController.DeleteSession", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The session object to delete", - "required": true, - "schema": { - "$ref": "#/definitions/object.Session" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-subscription": { - "post": { - "tags": [ - "Subscription API" - ], - "description": "delete subscription", - "operationId": "ApiController.DeleteSubscription", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the subscription", - "required": true, - "schema": { - "$ref": "#/definitions/object.Subscription" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-syncer": { - "post": { - "tags": [ - "Syncer API" - ], - "description": "delete syncer", - "operationId": "ApiController.DeleteSyncer", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the syncer", - "required": true, - "schema": { - "$ref": "#/definitions/object.Syncer" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-ticket": { - "post": { - "tags": [ - "Ticket API" - ], - "description": "delete ticket", - "operationId": "ApiController.DeleteTicket", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the ticket", - "required": true, - "schema": { - "$ref": "#/definitions/object.Ticket" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-token": { - "post": { - "tags": [ - "Token API" - ], - "description": "delete token", - "operationId": "ApiController.DeleteToken", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "Details of the token", - "required": true, - "schema": { - "$ref": "#/definitions/object.Token" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-transaction": { - "post": { - "tags": [ - "Transaction API" - ], - "description": "delete transaction", - "operationId": "ApiController.DeleteTransaction", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the transaction", - "required": true, - "schema": { - "$ref": "#/definitions/object.Transaction" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-user": { - "post": { - "tags": [ - "User API" - ], - "description": "delete user", - "operationId": "ApiController.DeleteUser", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the user", - "required": true, - "schema": { - "$ref": "#/definitions/object.User" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/delete-webhook": { - "post": { - "tags": [ - "Webhook API" - ], - "description": "delete webhook", - "operationId": "ApiController.DeleteWebhook", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the webhook", - "required": true, - "schema": { - "$ref": "#/definitions/object.Webhook" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/device-auth": { - "post": { - "tags": [ - "Device Authorization Endpoint" - ], - "description": "Endpoint for the device authorization flow", - "operationId": "ApiController.DeviceAuth", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.DeviceAuthResponse" - } - } - } - } - }, - "/api/enforce": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "Call Casbin Enforce API", - "operationId": "ApiController.Enforce", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "Casbin request", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "in": "query", - "name": "permissionId", - "description": "permission id", - "type": "string" - }, - { - "in": "query", - "name": "modelId", - "description": "model id", - "type": "string" - }, - { - "in": "query", - "name": "resourceId", - "description": "resource id", - "type": "string" - }, - { - "in": "query", - "name": "owner", - "description": "owner", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/exit-impersonation-user": { - "post": { - "tags": [ - "User API" - ], - "description": "clear impersonation info for current session", - "operationId": "ApiController.ExitImpersonateUser", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/faceid-signin-begin": { - "get": { - "tags": [ - "Login API" - ], - "description": "FaceId Login Flow 1st stage", - "operationId": "ApiController.FaceIDSigninBegin", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "owner", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "name", - "description": "name", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-account": { - "get": { - "tags": [ - "Account API" - ], - "description": "get the details of the current account", - "operationId": "ApiController.GetAccount", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-adapter": { - "get": { - "tags": [ - "Adapter API" - ], - "description": "get adapter", - "operationId": "ApiController.GetAdapter", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the adapter", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Adapter" - } - } - } - } - }, - "/api/get-adapters": { - "get": { - "tags": [ - "Adapter API" - ], - "description": "get adapters", - "operationId": "ApiController.GetAdapters", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of adapters", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Adapter" - } - } - } - } - } - }, - "/api/get-all-actions": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "Get all actions for a user (Casbin API)", - "operationId": "ApiController.GetAllActions", - "parameters": [ - { - "in": "query", - "name": "userId", - "description": "user id like built-in/admin", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-all-objects": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "Get all objects for a user (Casbin API)", - "operationId": "ApiController.GetAllObjects", - "parameters": [ - { - "in": "query", - "name": "userId", - "description": "user id like built-in/admin", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-all-roles": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "Get all roles for a user (Casbin API)", - "operationId": "ApiController.GetAllRoles", - "parameters": [ - { - "in": "query", - "name": "userId", - "description": "user id like built-in/admin", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-app-login": { - "get": { - "tags": [ - "Login API" - ], - "description": "get application login", - "operationId": "ApiController.GetApplicationLogin", - "parameters": [ - { - "in": "query", - "name": "clientId", - "description": "client id", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "responseType", - "description": "response type", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "redirectUri", - "description": "redirect uri", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "scope", - "description": "scope", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "state", - "description": "state", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-application": { - "get": { - "tags": [ - "Application API" - ], - "description": "get the detail of an application", - "operationId": "ApiController.GetApplication", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the application.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Application" - } - } - } - } - }, - "/api/get-applications": { - "get": { - "tags": [ - "Application API" - ], - "description": "get all applications", - "operationId": "ApiController.GetApplications", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of applications.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Application" - } - } - } - } - } - }, - "/api/get-captcha": { - "get": { - "tags": [ - "Login API" - ], - "operationId": "ApiController.GetCaptcha", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/get-captcha-status": { - "get": { - "tags": [ - "Token API" - ], - "description": "Get Login Error Counts", - "operationId": "ApiController.GetCaptchaStatus", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of user", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-cert": { - "get": { - "tags": [ - "Cert API" - ], - "description": "get cert", - "operationId": "ApiController.GetCert", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the cert", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Cert" - } - } - } - } - }, - "/api/get-certs": { - "get": { - "tags": [ - "Cert API" - ], - "description": "get certs", - "operationId": "ApiController.GetCerts", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of certs", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Cert" - } - } - } - } - } - }, - "/api/get-dashboard": { - "get": { - "tags": [ - "System API" - ], - "description": "get information of dashboard", - "operationId": "ApiController.GetDashboard", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-default-application": { - "get": { - "tags": [ - "Organization API" - ], - "description": "get default application", - "operationId": "ApiController.GetDefaultApplication", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "organization id", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-email-and-phone": { - "get": { - "tags": [ - "User API" - ], - "description": "get email and phone by username", - "operationId": "ApiController.GetEmailAndPhone", - "parameters": [ - { - "in": "formData", - "name": "username", - "description": "The username of the user", - "required": true, - "type": "string" - }, - { - "in": "formData", - "name": "organization", - "description": "The organization of the user", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-enforcer": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "get enforcer", - "operationId": "ApiController.GetEnforcer", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.Enforcer" - } - } - } - } - }, - "/api/get-enforcers": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "get enforcers", - "operationId": "ApiController.GetEnforcers", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of enforcers", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Enforcer" - } - } - } - } - } - }, - "/api/get-filtered-policies": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "get filtered policies with support for multiple filters via POST body", - "operationId": "ApiController.GetFilteredPolicies", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "Array of filter objects for multiple filters", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Filter" - } - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/xormadapter.CasbinRule" - } - } - } - } - } - }, - "/api/get-form": { - "get": { - "tags": [ - "Form API" - ], - "description": "get form", - "operationId": "ApiController.GetForm", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id (owner/name) of form", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Form" - } - } - } - } - }, - "/api/get-forms": { - "get": { - "tags": [ - "Form API" - ], - "description": "get forms", - "operationId": "ApiController.GetForms", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of form", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Form" - } - } - } - } - } - }, - "/api/get-global-certs": { - "get": { - "tags": [ - "Cert API" - ], - "description": "get global certs", - "operationId": "ApiController.GetGlobalCerts", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Cert" - } - } - } - } - } - }, - "/api/get-global-forms": { - "get": { - "tags": [ - "Form API" - ], - "description": "get global forms", - "operationId": "ApiController.GetGlobalForms", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Form" - } - } - } - } - } - }, - "/api/get-global-providers": { - "get": { - "tags": [ - "Provider API" - ], - "description": "get Global providers", - "operationId": "ApiController.GetGlobalProviders", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Provider" - } - } - } - } - } - }, - "/api/get-global-users": { - "get": { - "tags": [ - "User API" - ], - "description": "get global users", - "operationId": "ApiController.GetGlobalUsers", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.User" - } - } - } - } - } - }, - "/api/get-group": { - "get": { - "tags": [ - "Group API" - ], - "description": "get group", - "operationId": "ApiController.GetGroup", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the group", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Group" - } - } - } - } - }, - "/api/get-groups": { - "get": { - "tags": [ - "Group API" - ], - "description": "get groups", - "operationId": "ApiController.GetGroups", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of groups", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Group" - } - } - } - } - } - }, - "/api/get-invitation": { - "get": { - "tags": [ - "Invitation API" - ], - "description": "get invitation", - "operationId": "ApiController.GetInvitation", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the invitation", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Invitation" - } - } - } - } - }, - "/api/get-invitation-info": { - "get": { - "tags": [ - "Invitation API" - ], - "description": "get invitation code information", - "operationId": "ApiController.GetInvitationCodeInfo", - "parameters": [ - { - "in": "query", - "name": "code", - "description": "Invitation code", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Invitation" - } - } - } - } - }, - "/api/get-invitations": { - "get": { - "tags": [ - "Invitation API" - ], - "description": "get invitations", - "operationId": "ApiController.GetInvitations", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of invitations", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Invitation" - } - } - } - } - } - }, - "/api/get-ldap": { - "get": { - "tags": [ - "Account API" - ], - "description": "get ldap", - "operationId": "ApiController.GetLdap", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "id", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Ldap" - } - } - } - } - }, - "/api/get-ldap-users": { - "get": { - "tags": [ - "Account API" - ], - "description": "get ldap users", - "operationId": "ApiController.GetLdapser", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.LdapResp" - } - } - } - } - }, - "/api/get-ldaps": { - "get": { - "tags": [ - "Account API" - ], - "description": "get ldaps", - "operationId": "ApiController.GetLdaps", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "owner", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Ldap" - } - } - } - } - } - }, - "/api/get-model": { - "get": { - "tags": [ - "Model API" - ], - "description": "get model", - "operationId": "ApiController.GetModel", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the model", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Model" - } - } - } - } - }, - "/api/get-models": { - "get": { - "tags": [ - "Model API" - ], - "description": "get models", - "operationId": "ApiController.GetModels", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of models", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Model" - } - } - } - } - } - }, - "/api/get-order": { - "get": { - "tags": [ - "Order API" - ], - "description": "get order", - "operationId": "ApiController.GetOrder", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the order", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Order" - } - } - } - } - }, - "/api/get-orders": { - "get": { - "tags": [ - "Order API" - ], - "description": "get orders", - "operationId": "ApiController.GetOrders", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of orders", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Order" - } - } - } - } - } - }, - "/api/get-organization": { - "get": { - "tags": [ - "Organization API" - ], - "description": "get organization", - "operationId": "ApiController.GetOrganization", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "organization id", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Organization" - } - } - } - } - }, - "/api/get-organization-applications": { - "get": { - "tags": [ - "Application API" - ], - "description": "get the detail of the organization's application", - "operationId": "ApiController.GetOrganizationApplications", - "parameters": [ - { - "in": "query", - "name": "organization", - "description": "The organization name", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Application" - } - } - } - } - } - }, - "/api/get-organization-names": { - "get": { - "tags": [ - "Organization API" - ], - "description": "get all organization name and displayName", - "operationId": "ApiController.GetOrganizationNames", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "owner", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Organization" - } - } - } - } - } - }, - "/api/get-organizations": { - "get": { - "tags": [ - "Organization API" - ], - "description": "get organizations", - "operationId": "ApiController.GetOrganizations", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "owner", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Organization" - } - } - } - } - } - }, - "/api/get-payment": { - "get": { - "tags": [ - "Verification API" - ], - "description": "get payment", - "operationId": "ApiController.GetVerification", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the payment", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Verification" - } - } - } - } - }, - "/api/get-payments": { - "get": { - "tags": [ - "Verification API" - ], - "description": "get payments", - "operationId": "ApiController.GetVerifications", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of payments", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Verification" - } - } - } - } - } - }, - "/api/get-permission": { - "get": { - "tags": [ - "Permission API" - ], - "description": "get permission", - "operationId": "ApiController.GetPermission", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the permission", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Permission" - } - } - } - } - }, - "/api/get-permissions": { - "get": { - "tags": [ - "Permission API" - ], - "description": "get permissions", - "operationId": "ApiController.GetPermissions", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of permissions", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Permission" - } - } - } - } - } - }, - "/api/get-permissions-by-role": { - "get": { - "tags": [ - "Permission API" - ], - "description": "get permissions by role", - "operationId": "ApiController.GetPermissionsByRole", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the role", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Permission" - } - } - } - } - } - }, - "/api/get-permissions-by-submitter": { - "get": { - "tags": [ - "Permission API" - ], - "description": "get permissions by submitter", - "operationId": "ApiController.GetPermissionsBySubmitter", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Permission" - } - } - } - } - } - }, - "/api/get-plan": { - "get": { - "tags": [ - "Plan API" - ], - "description": "get plan", - "operationId": "ApiController.GetPlan", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the plan", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "includeOption", - "description": "Should include plan's option", - "type": "boolean" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Plan" - } - } - } - } - }, - "/api/get-plans": { - "get": { - "tags": [ - "Plan API" - ], - "description": "get plans", - "operationId": "ApiController.GetPlans", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of plans", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Plan" - } - } - } - } - } - }, - "/api/get-policies": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "get policies", - "operationId": "ApiController.GetPolicies", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "adapterId", - "description": "The adapter id", - "type": "string" - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/xormadapter.CasbinRule" - } - } - } - } - } - }, - "/api/get-pricing": { - "get": { - "tags": [ - "Pricing API" - ], - "description": "get pricing", - "operationId": "ApiController.GetPricing", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the pricing", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Pricing" - } - } - } - } - }, - "/api/get-pricings": { - "get": { - "tags": [ - "Pricing API" - ], - "description": "get pricings", - "operationId": "ApiController.GetPricings", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of pricings", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Pricing" - } - } - } - } - } - }, - "/api/get-product": { - "get": { - "tags": [ - "Product API" - ], - "description": "get product", - "operationId": "ApiController.GetProduct", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the product", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Product" - } - } - } - } - }, - "/api/get-products": { - "get": { - "tags": [ - "Product API" - ], - "description": "get products", - "operationId": "ApiController.GetProducts", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of products", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Product" - } - } - } - } - } - }, - "/api/get-prometheus-info": { - "get": { - "tags": [ - "System API" - ], - "description": "get Prometheus Info", - "operationId": "ApiController.GetPrometheusInfo", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.PrometheusInfo" - } - } - } - } - }, - "/api/get-provider": { - "get": { - "tags": [ - "Provider API" - ], - "description": "get provider", - "operationId": "ApiController.GetProvider", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the provider", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Provider" - } - } - } - } - }, - "/api/get-providers": { - "get": { - "tags": [ - "Provider API" - ], - "description": "get providers", - "operationId": "ApiController.GetProviders", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of providers", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Provider" - } - } - } - } - } - }, - "/api/get-qrcode": { - "get": { - "tags": [ - "System API" - ], - "operationId": "ApiController.GetWechatQRCode", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of provider", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-records": { - "get": { - "tags": [ - "Record API" - ], - "description": "get all records", - "operationId": "ApiController.GetRecords", - "parameters": [ - { - "in": "query", - "name": "pageSize", - "description": "The size of each page", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "p", - "description": "The number of the page", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Record" - } - } - } - } - }, - "/api/get-records-filter": { - "post": { - "tags": [ - "Record API" - ], - "description": "get records by filter", - "operationId": "ApiController.GetRecordsByFilter", - "parameters": [ - { - "in": "body", - "name": "filter", - "description": "filter Record message", - "required": true, - "schema": { - "type": "string" - }, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Record" - } - } - } - } - }, - "/api/get-resource": { - "get": { - "tags": [ - "Resource API" - ], - "description": "get resource", - "operationId": "ApiController.GetResource", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of resource", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Resource" - } - } - } - } - }, - "/api/get-resources": { - "get": { - "tags": [ - "Resource API" - ], - "description": "get resources", - "operationId": "ApiController.GetResources", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "Owner", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "user", - "description": "User", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "pageSize", - "description": "Page Size", - "type": "integer" - }, - { - "in": "query", - "name": "p", - "description": "Page Number", - "type": "integer" - }, - { - "in": "query", - "name": "field", - "description": "Field", - "type": "string" - }, - { - "in": "query", - "name": "value", - "description": "Value", - "type": "string" - }, - { - "in": "query", - "name": "sortField", - "description": "Sort Field", - "type": "string" - }, - { - "in": "query", - "name": "sortOrder", - "description": "Sort Order", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Resource" - } - } - } - } - } - }, - "/api/get-role": { - "get": { - "tags": [ - "Role API" - ], - "description": "get role", - "operationId": "ApiController.GetRole", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the role", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Role" - } - } - } - } - }, - "/api/get-roles": { - "get": { - "tags": [ - "Role API" - ], - "description": "get roles", - "operationId": "ApiController.GetRoles", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of roles", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Role" - } - } - } - } - } - }, - "/api/get-session": { - "get": { - "tags": [ - "Session API" - ], - "description": "Get session for one user in one application.", - "operationId": "ApiController.GetSingleSession", - "parameters": [ - { - "in": "query", - "name": "sessionPkId", - "description": "The session ID in format: organization/user/application (e.g., built-in/admin/app-built-in)", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/api/get-sessions": { - "get": { - "tags": [ - "Session API" - ], - "description": "Get organization user sessions.", - "operationId": "ApiController.GetSessions", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The organization name", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/api/get-sorted-users": { - "get": { - "tags": [ - "User API" - ], - "operationId": "ApiController.GetSortedUsers", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of users", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "sorter", - "description": "The DB column name to sort by, e.g., created_time", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "limit", - "description": "The count of users to return, e.g., 25", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.User" - } - } - } - } - } - }, - "/api/get-subscription": { - "get": { - "tags": [ - "Subscription API" - ], - "description": "get subscription", - "operationId": "ApiController.GetSubscription", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the subscription", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Subscription" - } - } - } - } - }, - "/api/get-subscriptions": { - "get": { - "tags": [ - "Subscription API" - ], - "description": "get subscriptions", - "operationId": "ApiController.GetSubscriptions", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of subscriptions", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Subscription" - } - } - } - } - } - }, - "/api/get-syncer": { - "get": { - "tags": [ - "Syncer API" - ], - "description": "get syncer", - "operationId": "ApiController.GetSyncer", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the syncer", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Syncer" - } - } - } - } - }, - "/api/get-syncers": { - "get": { - "tags": [ - "Syncer API" - ], - "description": "get syncers", - "operationId": "ApiController.GetSyncers", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of syncers", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Syncer" - } - } - } - } - } - }, - "/api/get-system-info": { - "get": { - "tags": [ - "System API" - ], - "description": "get system info like CPU and memory usage", - "operationId": "ApiController.GetSystemInfo", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/util.SystemInfo" - } - } - } - } - }, - "/api/get-ticket": { - "get": { - "tags": [ - "Ticket API" - ], - "description": "get ticket", - "operationId": "ApiController.GetTicket", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the ticket", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Ticket" - } - } - } - } - }, - "/api/get-tickets": { - "get": { - "tags": [ - "Ticket API" - ], - "description": "get tickets", - "operationId": "ApiController.GetTickets", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of tickets", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Ticket" - } - } - } - } - } - }, - "/api/get-token": { - "get": { - "tags": [ - "Token API" - ], - "description": "get token", - "operationId": "ApiController.GetToken", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The token ID in format: organization/token-name (e.g., built-in/token-123456)", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Token" - } - } - } - } - }, - "/api/get-tokens": { - "get": { - "tags": [ - "Token API" - ], - "description": "get tokens", - "operationId": "ApiController.GetTokens", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The organization name (e.g., built-in)", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "pageSize", - "description": "The size of each page", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "p", - "description": "The number of the page", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Token" - } - } - } - } - } - }, - "/api/get-transaction": { - "get": { - "tags": [ - "Transaction API" - ], - "description": "get transaction", - "operationId": "ApiController.GetTransaction", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the transaction", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Transaction" - } - } - } - } - }, - "/api/get-transactions": { - "get": { - "tags": [ - "Transaction API" - ], - "description": "get transactions", - "operationId": "ApiController.GetTransactions", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of transactions", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Transaction" - } - } - } - } - } - }, - "/api/get-user": { - "get": { - "tags": [ - "User API" - ], - "description": "get user", - "operationId": "ApiController.GetUser", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the user", - "type": "string" - }, - { - "in": "query", - "name": "owner", - "description": "The owner of the user", - "type": "string" - }, - { - "in": "query", - "name": "email", - "description": "The email of the user", - "type": "string" - }, - { - "in": "query", - "name": "phone", - "description": "The phone of the user", - "type": "string" - }, - { - "in": "query", - "name": "userId", - "description": "The userId of the user", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.User" - } - } - } - } - }, - "/api/get-user-application": { - "get": { - "tags": [ - "Application API" - ], - "description": "get the detail of the user's application", - "operationId": "ApiController.GetUserApplication", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the user", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Application" - } - } - } - } - }, - "/api/get-user-count": { - "get": { - "tags": [ - "User API" - ], - "operationId": "ApiController.GetUserCount", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of users", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "isOnline", - "description": "The filter for query, 1 for online, 0 for offline, empty string for all users", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "{int} int The count of filtered users for an organization" - } - } - } - }, - "/api/get-user-orders": { - "get": { - "tags": [ - "Order API" - ], - "description": "get orders for a user", - "operationId": "ApiController.GetUserOrders", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of orders", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "user", - "description": "The username of the user", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Order" - } - } - } - } - } - }, - "/api/get-user-payments": { - "get": { - "tags": [ - "Verification API" - ], - "description": "get payments for a user", - "operationId": "ApiController.GetUserVerifications", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of payments", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "organization", - "description": "The organization of the user", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "user", - "description": "The username of the user", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Verification" - } - } - } - } - } - }, - "/api/get-users": { - "get": { - "tags": [ - "User API" - ], - "operationId": "ApiController.GetUsers", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of users", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.User" - } - } - } - } - } - }, - "/api/get-version-info": { - "get": { - "tags": [ - "System API" - ], - "description": "get version info like Casdoor release version and commit ID", - "operationId": "ApiController.GetVersionInfo", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/util.VersionInfo" - } - } - } - } - }, - "/api/get-webhook": { - "get": { - "tags": [ - "Webhook API" - ], - "description": "get webhook", - "operationId": "ApiController.GetWebhook", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the webhook", - "required": true, - "type": "string", - "default": "built-in/admin" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Webhook" - } - } - } - } - }, - "/api/get-webhook-event": { - "get": { - "tags": [ - "System API" - ], - "operationId": "ApiController.GetWebhookEventType", - "parameters": [ - { - "in": "query", - "name": "ticket", - "description": "The eventId of QRCode", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/get-webhooks": { - "get": { - "tags": [ - "Webhook API" - ], - "description": "get webhooks", - "operationId": "ApiController.GetWebhooks", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of webhooks", - "required": true, - "type": "string", - "default": "built-in/admin" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Webhook" - } - } - } - }, - "security": [ - { - "test_apiKey": [] - } - ] - } - }, - "/api/health": { - "get": { - "tags": [ - "System API" - ], - "description": "check if the system is live", - "operationId": "ApiController.Health", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/impersonation-user": { - "post": { - "tags": [ - "User API" - ], - "description": "set impersonation user for current admin session", - "operationId": "ApiController.ImpersonateUser", - "parameters": [ - { - "in": "formData", - "name": "username", - "description": "The username to impersonate (owner/name)", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/invoice-payment": { - "post": { - "tags": [ - "Payment API" - ], - "description": "invoice payment", - "operationId": "ApiController.InvoicePayment", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the payment", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/is-session-duplicated": { - "get": { - "tags": [ - "Session API" - ], - "description": "Check if there are other different sessions for one user in one application.", - "operationId": "ApiController.IsSessionDuplicated", - "parameters": [ - { - "in": "query", - "name": "sessionPkId", - "description": "The session ID in format: organization/user/application (e.g., built-in/admin/app-built-in)", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "sessionId", - "description": "The specific session ID to check", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/api/login": { - "post": { - "tags": [ - "Login API" - ], - "description": "login", - "operationId": "ApiController.Login", - "parameters": [ - { - "in": "query", - "name": "clientId", - "description": "clientId", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "responseType", - "description": "responseType", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "redirectUri", - "description": "redirectUri", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "scope", - "description": "scope", - "type": "string" - }, - { - "in": "query", - "name": "state", - "description": "state", - "type": "string" - }, - { - "in": "query", - "name": "nonce", - "description": "nonce", - "type": "string" - }, - { - "in": "query", - "name": "code_challenge_method", - "description": "code_challenge_method", - "type": "string" - }, - { - "in": "query", - "name": "code_challenge", - "description": "code_challenge", - "type": "string" - }, - { - "in": "body", - "name": "form", - "description": "Login information", - "required": true, - "schema": { - "$ref": "#/definitions/controllers.AuthForm" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/login/oauth/access_token": { - "post": { - "tags": [ - "Token API" - ], - "description": "get OAuth access token", - "operationId": "ApiController.GetOAuthToken", - "parameters": [ - { - "in": "query", - "name": "grant_type", - "description": "OAuth grant type", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "client_id", - "description": "OAuth client id", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "client_secret", - "description": "OAuth client secret", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "code", - "description": "OAuth code", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenWrapper" - } - }, - "400": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenError" - } - }, - "401": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenError" - } - } - } - } - }, - "/api/login/oauth/introspect": { - "post": { - "tags": [ - "Login API" - ], - "description": "The introspection endpoint is an OAuth 2.0 endpoint that takes a", - "operationId": "ApiController.IntrospectToken", - "parameters": [ - { - "in": "formData", - "name": "token", - "description": "access_token's value or refresh_token's value", - "required": true, - "type": "string" - }, - { - "in": "formData", - "name": "token_type_hint", - "description": "the token type access_token or refresh_token", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.IntrospectionResponse" - } - }, - "400": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenError" - } - }, - "401": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenError" - } - } - } - } - }, - "/api/login/oauth/refresh_token": { - "post": { - "tags": [ - "Token API" - ], - "description": "refresh OAuth access token", - "operationId": "ApiController.RefreshToken", - "parameters": [ - { - "in": "query", - "name": "grant_type", - "description": "OAuth grant type", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "refresh_token", - "description": "OAuth refresh token", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "scope", - "description": "OAuth scope", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "client_id", - "description": "OAuth client id", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "client_secret", - "description": "OAuth client secret", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenWrapper" - } - }, - "400": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenError" - } - }, - "401": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.TokenError" - } - } - } - } - }, - "/api/logout": { - "post": { - "tags": [ - "Login API" - ], - "description": "logout the current user", - "operationId": "ApiController.Logout", - "parameters": [ - { - "in": "query", - "name": "id_token_hint", - "description": "id_token_hint", - "type": "string" - }, - { - "in": "query", - "name": "post_logout_redirect_uri", - "description": "post_logout_redirect_uri", - "type": "string" - }, - { - "in": "query", - "name": "state", - "description": "state", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/metrics": { - "get": { - "tags": [ - "System API" - ], - "description": "get Prometheus metrics", - "operationId": "ApiController.GetMetrics", - "responses": { - "200": { - "description": "{string} Prometheus metrics in text format" - } - } - } - }, - "/api/mfa/setup/enable": { - "post": { - "tags": [ - "MFA API" - ], - "description": "enable totp", - "operationId": "ApiController.MfaSetupEnable", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/mfa/setup/initiate": { - "post": { - "tags": [ - "MFA API" - ], - "description": "setup MFA", - "operationId": "ApiController.MfaSetupInitiate", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/mfa/setup/verify": { - "post": { - "tags": [ - "MFA API" - ], - "description": "setup verify totp", - "operationId": "ApiController.MfaSetupVerify", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/notify-payment": { - "post": { - "tags": [ - "Payment API" - ], - "description": "notify payment", - "operationId": "ApiController.NotifyPayment", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the payment", - "required": true, - "schema": { - "$ref": "#/definitions/object.Payment" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/pay-order": { - "post": { - "tags": [ - "Order API" - ], - "description": "pay an existing order", - "operationId": "ApiController.PayOrder", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the order", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "providerName", - "description": "The name of the provider", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/place-order": { - "post": { - "tags": [ - "Order API" - ], - "description": "place an order for a product", - "operationId": "ApiController.PlaceOrder", - "parameters": [ - { - "in": "query", - "name": "productId", - "description": "The id ( owner/name ) of the product", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "pricingName", - "description": "The name of the pricing (for subscription)", - "type": "string" - }, - { - "in": "query", - "name": "planName", - "description": "The name of the plan (for subscription)", - "type": "string" - }, - { - "in": "query", - "name": "customPrice", - "description": "Custom price for recharge products", - "type": "number" - }, - { - "in": "query", - "name": "userName", - "description": "The username to place order for (admin only)", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Order" - } - } - } - } - }, - "/api/refresh-engines": { - "post": { - "tags": [ - "CLI API" - ], - "description": "Refresh all CLI engines", - "operationId": "ApiController.RefreshEngines", - "parameters": [ - { - "in": "query", - "name": "m", - "description": "Hash for request validation", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "t", - "description": "Timestamp for request validation", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/remove-policy": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "remove policy", - "operationId": "ApiController.RemovePolicy", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The policy to remove", - "required": true, - "schema": { - "$ref": "#/definitions/xormadapter.CasbinRule" - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/Response" - } - } - } - } - }, - "/api/reset-email-or-phone": { - "post": { - "tags": [ - "Account API" - ], - "operationId": "ApiController.ResetEmailOrPhone", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/run-casbin-command": { - "get": { - "tags": [ - "Enforcer API" - ], - "description": "Call Casbin CLI commands", - "operationId": "ApiController.RunCasbinCommand", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/run-syncer": { - "get": { - "tags": [ - "Syncer API" - ], - "description": "run syncer", - "operationId": "ApiController.RunSyncer", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the syncer", - "required": true, - "schema": { - "$ref": "#/definitions/object.Syncer" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/send-email": { - "post": { - "tags": [ - "Service API" - ], - "description": "This API is not for Casdoor frontend to call, it is for Casdoor SDKs.", - "operationId": "ApiController.SendEmail", - "parameters": [ - { - "in": "query", - "name": "clientId", - "description": "The clientId of the application", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "clientSecret", - "description": "The clientSecret of the application", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "from", - "description": "Details of the email request", - "required": true, - "schema": { - "$ref": "#/definitions/controllers.EmailForm" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/send-invitation": { - "post": { - "tags": [ - "Invitation API" - ], - "description": "verify invitation", - "operationId": "ApiController.VerifyInvitation", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the invitation", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the invitation", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/send-notification": { - "post": { - "tags": [ - "Service API" - ], - "description": "This API is not for Casdoor frontend to call, it is for Casdoor SDKs.", - "operationId": "ApiController.SendNotification", - "parameters": [ - { - "in": "body", - "name": "from", - "description": "Details of the notification request", - "required": true, - "schema": { - "$ref": "#/definitions/controllers.NotificationForm" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/send-sms": { - "post": { - "tags": [ - "Service API" - ], - "description": "This API is not for Casdoor frontend to call, it is for Casdoor SDKs.", - "operationId": "ApiController.SendSms", - "parameters": [ - { - "in": "query", - "name": "clientId", - "description": "The clientId of the application", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "clientSecret", - "description": "The clientSecret of the application", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "from", - "description": "Details of the sms request", - "required": true, - "schema": { - "$ref": "#/definitions/controllers.SmsForm" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/send-verification-code": { - "post": { - "tags": [ - "Verification API" - ], - "operationId": "ApiController.SendVerificationCode", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/set-password": { - "post": { - "tags": [ - "Account API" - ], - "description": "set password", - "operationId": "ApiController.SetPassword", - "parameters": [ - { - "in": "formData", - "name": "userOwner", - "description": "The owner of the user", - "required": true, - "type": "string" - }, - { - "in": "formData", - "name": "userName", - "description": "The name of the user", - "required": true, - "type": "string" - }, - { - "in": "formData", - "name": "oldPassword", - "description": "The old password of the user", - "required": true, - "type": "string" - }, - { - "in": "formData", - "name": "newPassword", - "description": "The new password of the user", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/set-preferred-mfa": { - "post": { - "tags": [ - "MFA API" - ], - "description": ": Set specific Mfa Preferred", - "operationId": "ApiController.SetPreferredMfa", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/signup": { - "post": { - "tags": [ - "Login API" - ], - "description": "sign up a new user", - "operationId": "ApiController.Signup", - "parameters": [ - { - "in": "formData", - "name": "username", - "description": "The username to sign up", - "required": true, - "type": "string" - }, - { - "in": "formData", - "name": "password", - "description": "The password", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/sso-logout": { - "get": { - "tags": [ - "Login API" - ], - "description": "logout the current user from all applications or current session only", - "operationId": "ApiController.SsoLogout", - "parameters": [ - { - "in": "query", - "name": "logoutAll", - "description": "Whether to logout from all sessions. Accepted values: 'true', '1', or empty (default: true). Any other value means false.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - }, - "post": { - "tags": [ - "Login API" - ], - "description": "logout the current user from all applications or current session only", - "operationId": "ApiController.SsoLogout", - "parameters": [ - { - "in": "query", - "name": "logoutAll", - "description": "Whether to logout from all sessions. Accepted values: 'true', '1', or empty (default: true). Any other value means false.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/sync-ldap-users": { - "post": { - "tags": [ - "Account API" - ], - "description": "sync ldap users", - "operationId": "ApiController.SyncLdapUsers", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "id", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.LdapSyncResp" - } - } - } - } - }, - "/api/unlink": { - "post": { - "tags": [ - "Login API" - ], - "operationId": "ApiController.Unlink", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/update-adapter": { - "post": { - "tags": [ - "Adapter API" - ], - "description": "update adapter", - "operationId": "ApiController.UpdateAdapter", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the adapter", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the adapter", - "required": true, - "schema": { - "$ref": "#/definitions/object.Adapter" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-application": { - "post": { - "tags": [ - "Application API" - ], - "description": "update an application", - "operationId": "ApiController.UpdateApplication", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the application", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the application", - "required": true, - "schema": { - "$ref": "#/definitions/object.Application" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-cert": { - "post": { - "tags": [ - "Cert API" - ], - "description": "update cert", - "operationId": "ApiController.UpdateCert", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the cert", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the cert", - "required": true, - "schema": { - "$ref": "#/definitions/object.Cert" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-enforcer": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "update enforcer", - "operationId": "ApiController.UpdateEnforcer", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "enforcer", - "description": "The enforcer object", - "required": true, - "schema": { - "$ref": "#/definitions/object" - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/object.Enforcer" - } - } - } - } - }, - "/api/update-form": { - "post": { - "tags": [ - "Form API" - ], - "description": "update form", - "operationId": "ApiController.UpdateForm", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id (owner/name) of the form", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the form", - "required": true, - "schema": { - "$ref": "#/definitions/object.Form" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-group": { - "post": { - "tags": [ - "Group API" - ], - "description": "update group", - "operationId": "ApiController.UpdateGroup", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the group", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the group", - "required": true, - "schema": { - "$ref": "#/definitions/object.Group" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-invitation": { - "post": { - "tags": [ - "Invitation API" - ], - "description": "update invitation", - "operationId": "ApiController.UpdateInvitation", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the invitation", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the invitation", - "required": true, - "schema": { - "$ref": "#/definitions/object.Invitation" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-ldap": { - "post": { - "tags": [ - "Account API" - ], - "description": "update ldap", - "operationId": "ApiController.UpdateLdap", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The details of the ldap", - "required": true, - "schema": { - "$ref": "#/definitions/object.Ldap" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-model": { - "post": { - "tags": [ - "Model API" - ], - "description": "update model", - "operationId": "ApiController.UpdateModel", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the model", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the model", - "required": true, - "schema": { - "$ref": "#/definitions/object.Model" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-order": { - "post": { - "tags": [ - "Order API" - ], - "description": "update order", - "operationId": "ApiController.UpdateOrder", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the order", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the order", - "required": true, - "schema": { - "$ref": "#/definitions/object.Order" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-organization": { - "post": { - "tags": [ - "Organization API" - ], - "description": "update organization", - "operationId": "ApiController.UpdateOrganization", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the organization", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the organization", - "required": true, - "schema": { - "$ref": "#/definitions/object.Organization" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-payment": { - "post": { - "tags": [ - "Payment API" - ], - "description": "update payment", - "operationId": "ApiController.UpdatePayment", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the payment", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the payment", - "required": true, - "schema": { - "$ref": "#/definitions/object.Payment" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-permission": { - "post": { - "tags": [ - "Permission API" - ], - "description": "update permission", - "operationId": "ApiController.UpdatePermission", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the permission", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the permission", - "required": true, - "schema": { - "$ref": "#/definitions/object.Permission" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-plan": { - "post": { - "tags": [ - "Plan API" - ], - "description": "update plan", - "operationId": "ApiController.UpdatePlan", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the plan", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the plan", - "required": true, - "schema": { - "$ref": "#/definitions/object.Plan" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-policy": { - "post": { - "tags": [ - "Enforcer API" - ], - "description": "update policy", - "operationId": "ApiController.UpdatePolicy", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of enforcer", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "Array containing old and new policy", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/xormadapter.CasbinRule" - } - } - } - ], - "responses": { - "200": { - "description": "", - "schema": { - "$ref": "#/definitions/Response" - } - } - } - } - }, - "/api/update-pricing": { - "post": { - "tags": [ - "Pricing API" - ], - "description": "update pricing", - "operationId": "ApiController.UpdatePricing", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the pricing", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the pricing", - "required": true, - "schema": { - "$ref": "#/definitions/object.Pricing" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-product": { - "post": { - "tags": [ - "Product API" - ], - "description": "update product", - "operationId": "ApiController.UpdateProduct", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the product", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the product", - "required": true, - "schema": { - "$ref": "#/definitions/object.Product" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-provider": { - "post": { - "tags": [ - "Provider API" - ], - "description": "update provider", - "operationId": "ApiController.UpdateProvider", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the provider", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the provider", - "required": true, - "schema": { - "$ref": "#/definitions/object.Provider" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-resource": { - "post": { - "tags": [ - "Resource API" - ], - "description": "get resource", - "operationId": "ApiController.UpdateResource", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of resource", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "resource", - "description": "The resource object", - "required": true, - "schema": { - "$ref": "#/definitions/object.Resource" - } - } - ], - "responses": { - "200": { - "description": "Success or error", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-role": { - "post": { - "tags": [ - "Role API" - ], - "description": "update role", - "operationId": "ApiController.UpdateRole", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the role", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the role", - "required": true, - "schema": { - "$ref": "#/definitions/object.Role" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-session": { - "post": { - "tags": [ - "Session API" - ], - "description": "Update session for one user in one application.", - "operationId": "ApiController.UpdateSession", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "The session object to update", - "required": true, - "schema": { - "$ref": "#/definitions/object.Session" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-subscription": { - "post": { - "tags": [ - "Subscription API" - ], - "description": "update subscription", - "operationId": "ApiController.UpdateSubscription", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the subscription", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the subscription", - "required": true, - "schema": { - "$ref": "#/definitions/object.Subscription" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-syncer": { - "post": { - "tags": [ - "Syncer API" - ], - "description": "update syncer", - "operationId": "ApiController.UpdateSyncer", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the syncer", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the syncer", - "required": true, - "schema": { - "$ref": "#/definitions/object.Syncer" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-ticket": { - "post": { - "tags": [ - "Ticket API" - ], - "description": "update ticket", - "operationId": "ApiController.UpdateTicket", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the ticket", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the ticket", - "required": true, - "schema": { - "$ref": "#/definitions/object.Ticket" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-token": { - "post": { - "tags": [ - "Token API" - ], - "description": "update token", - "operationId": "ApiController.UpdateToken", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The token ID in format: organization/token-name (e.g., built-in/token-123456)", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "Details of the token", - "required": true, - "schema": { - "$ref": "#/definitions/object.Token" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-transaction": { - "post": { - "tags": [ - "Transaction API" - ], - "description": "update transaction", - "operationId": "ApiController.UpdateTransaction", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the transaction", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the transaction", - "required": true, - "schema": { - "$ref": "#/definitions/object.Transaction" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-user": { - "post": { - "tags": [ - "User API" - ], - "description": "update user", - "operationId": "ApiController.UpdateUser", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the user", - "type": "string" - }, - { - "in": "query", - "name": "userId", - "description": "The userId (UUID) of the user", - "type": "string" - }, - { - "in": "query", - "name": "owner", - "description": "The owner of the user (required when using userId)", - "type": "string" - }, - { - "in": "body", - "name": "body", - "description": "The details of the user", - "required": true, - "schema": { - "$ref": "#/definitions/object.User" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/update-webhook": { - "post": { - "tags": [ - "Webhook API" - ], - "description": "update webhook", - "operationId": "ApiController.UpdateWebhook", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the webhook", - "required": true, - "type": "string", - "default": "built-in/admin" - }, - { - "in": "body", - "name": "body", - "description": "The details of the webhook", - "required": true, - "schema": { - "$ref": "#/definitions/object.Webhook" - } - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/upload-resource": { - "post": { - "tags": [ - "Resource API" - ], - "operationId": "ApiController.UploadResource", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "Owner", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "user", - "description": "User", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "application", - "description": "Application", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "tag", - "description": "Tag", - "type": "string" - }, - { - "in": "query", - "name": "parent", - "description": "Parent", - "type": "string" - }, - { - "in": "query", - "name": "fullFilePath", - "description": "Full File Path", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "createdTime", - "description": "Created Time", - "type": "string" - }, - { - "in": "query", - "name": "description", - "description": "Description", - "type": "string" - }, - { - "in": "formData", - "name": "file", - "description": "Resource file", - "required": true, - "type": "file" - } - ], - "responses": { - "200": { - "description": "FileUrl, objectKey", - "schema": { - "$ref": "#/definitions/object.Resource" - } - } - } - } - }, - "/api/user": { - "get": { - "tags": [ - "Account API" - ], - "description": "return Laravel compatible user information according to OAuth 2.0", - "operationId": "ApiController.UserInfo2", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.LaravelResponse" - } - } - } - } - }, - "/api/userinfo": { - "get": { - "tags": [ - "Account API" - ], - "description": "return user information according to OIDC standards", - "operationId": "ApiController.UserInfo", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/verify-captcha": { - "post": { - "tags": [ - "Verification API" - ], - "operationId": "ApiController.VerifyCaptcha", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/verify-code": { - "post": { - "tags": [ - "Verification API" - ], - "operationId": "ApiController.VerifyCode", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/object.Userinfo" - } - } - } - } - }, - "/api/verify-identification": { - "post": { - "tags": [ - "User API" - ], - "description": "verify user's real identity using ID Verification provider", - "operationId": "ApiController.VerifyIdentification", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "The owner of the user (optional, defaults to logged-in user)", - "type": "string" - }, - { - "in": "query", - "name": "name", - "description": "The name of the user (optional, defaults to logged-in user)", - "type": "string" - }, - { - "in": "query", - "name": "provider", - "description": "The name of the ID Verification provider (optional, auto-selected if not provided)", - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/verify-invitation": { - "get": { - "tags": [ - "Invitation API" - ], - "description": "verify invitation", - "operationId": "ApiController.VerifyInvitation", - "parameters": [ - { - "in": "query", - "name": "id", - "description": "The id ( owner/name ) of the invitation", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/webauthn/signin/begin": { - "get": { - "tags": [ - "Login API" - ], - "description": "WebAuthn Login Flow 1st stage", - "operationId": "ApiController.WebAuthnSigninBegin", - "parameters": [ - { - "in": "query", - "name": "owner", - "description": "owner", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "name", - "description": "name", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The CredentialAssertion object", - "schema": { - "$ref": "#/definitions/protocol.CredentialAssertion" - } - } - } - } - }, - "/api/webauthn/signin/finish": { - "post": { - "tags": [ - "Login API" - ], - "description": "WebAuthn Login Flow 2nd stage", - "operationId": "ApiController.WebAuthnSigninFinish", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "authenticator assertion Response", - "required": true, - "schema": { - "$ref": "#/definitions/protocol.CredentialAssertionResponse" - } - } - ], - "responses": { - "200": { - "description": "\"The Response object\"", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/webauthn/signup/begin": { - "get": { - "tags": [ - "User API" - ], - "description": "WebAuthn Registration Flow 1st stage", - "operationId": "ApiController.WebAuthnSignupBegin", - "responses": { - "200": { - "description": "The CredentialCreationOptions object", - "schema": { - "$ref": "#/definitions/protocol.CredentialCreation" - } - } - } - } - }, - "/api/webauthn/signup/finish": { - "post": { - "tags": [ - "User API" - ], - "description": "WebAuthn Registration Flow 2nd stage", - "operationId": "ApiController.WebAuthnSignupFinish", - "parameters": [ - { - "in": "body", - "name": "body", - "description": "authenticator attestation Response", - "required": true, - "schema": { - "$ref": "#/definitions/protocol.CredentialCreationResponse" - } - } - ], - "responses": { - "200": { - "description": "\"The Response object\"", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - }, - "/api/webhook": { - "post": { - "tags": [ - "System API" - ], - "operationId": "ApiController.HandleOfficialAccountEvent", - "responses": { - "200": { - "description": "The Response object", - "schema": { - "$ref": "#/definitions/controllers.Response" - } - } - } - } - } - }, - "definitions": { - "232967.\u003cnil\u003e.string": { - "title": "string", - "type": "object" - }, - "233025.string.string": { - "title": "string", - "type": "object" - }, - "McpResponse": { - "title": "McpResponse", - "type": "object" - }, - "Response": { - "title": "Response", - "type": "object" - }, - "casbin.Enforcer": { - "title": "Enforcer", - "type": "object" - }, - "casvisorsdk.Record": { - "title": "Record", - "type": "object" - }, - "controllers.AuthForm": { - "title": "AuthForm", - "type": "object" - }, - "controllers.EmailForm": { - "title": "EmailForm", - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "providerObject": { - "$ref": "#/definitions/object.Provider" - }, - "receivers": { - "type": "array", - "items": { - "type": "string" - } - }, - "sender": { - "type": "string" - }, - "title": { - "type": "string" - } - } - }, - "controllers.LaravelResponse": { - "title": "LaravelResponse", - "type": "object", - "properties": { - "created_at": { - "type": "string" - }, - "email": { - "type": "string" - }, - "email_verified_at": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updated_at": { - "type": "string" - } - } - }, - "controllers.LdapResp": { - "title": "LdapResp", - "type": "object", - "properties": { - "existUuids": { - "type": "array", - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/object.LdapUser" - } - } - } - }, - "controllers.LdapSyncResp": { - "title": "LdapSyncResp", - "type": "object", - "properties": { - "exist": { - "type": "array", - "items": { - "$ref": "#/definitions/object.LdapUser" - } - }, - "failed": { - "type": "array", - "items": { - "$ref": "#/definitions/object.LdapUser" - } - } - } - }, - "controllers.NotificationForm": { - "title": "NotificationForm", - "type": "object", - "properties": { - "content": { - "type": "string" - } - } - }, - "controllers.Response": { - "title": "Response", - "type": "object", - "properties": { - "data": { - "additionalProperties": { - "description": "support string, struct or []struct", - "type": "string" - } - }, - "data2": { - "additionalProperties": { - "description": "support string, struct or []struct", - "type": "string" - } - }, - "data3": { - "additionalProperties": { - "description": "support string, struct or []struct", - "type": "string" - } - }, - "msg": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "sub": { - "type": "string" - } - } - }, - "controllers.SmsForm": { - "title": "SmsForm", - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "receivers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "jose.JSONWebKey": { - "title": "JSONWebKey", - "type": "object" - }, - "model.Model": { - "title": "Model", - "type": "object" - }, - "object": { - "title": "object", - "type": "object" - }, - "object.AccountItem": { - "title": "AccountItem", - "type": "object", - "properties": { - "modifyRule": { - "type": "string" - }, - "name": { - "type": "string" - }, - "regex": { - "type": "string" - }, - "tab": { - "type": "string" - }, - "viewRule": { - "type": "string" - }, - "visible": { - "type": "boolean" - } - } - }, - "object.Adapter": { - "title": "Adapter", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "database": { - "type": "string" - }, - "databaseType": { - "type": "string" - }, - "host": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - }, - "table": { - "type": "string" - }, - "type": { - "type": "string" - }, - "useSameDb": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "object.Address": { - "title": "Address", - "type": "object", - "properties": { - "city": { - "type": "string" - }, - "line1": { - "type": "string" - }, - "line2": { - "type": "string" - }, - "region": { - "type": "string" - }, - "state": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "zipCode": { - "type": "string" - } - } - }, - "object.Application": { - "title": "Application", - "type": "object", - "properties": { - "affiliationUrl": { - "type": "string" - }, - "cert": { - "type": "string" - }, - "certPublicKey": { - "type": "string" - }, - "clientId": { - "type": "string" - }, - "clientSecret": { - "type": "string" - }, - "codeResendTimeout": { - "type": "integer", - "format": "int64" - }, - "cookieExpireInHours": { - "type": "integer", - "format": "int64" - }, - "createdTime": { - "type": "string" - }, - "defaultGroup": { - "type": "string" - }, - "description": { - "type": "string" - }, - "disableSamlAttributes": { - "type": "boolean" - }, - "disableSignin": { - "type": "boolean" - }, - "displayName": { - "type": "string" - }, - "enableAutoSignin": { - "type": "boolean" - }, - "enableCodeSignin": { - "type": "boolean" - }, - "enableExclusiveSignin": { - "type": "boolean" - }, - "enableLinkWithEmail": { - "type": "boolean" - }, - "enablePassword": { - "type": "boolean" - }, - "enableSamlAssertionSignature": { - "type": "boolean" - }, - "enableSamlC14n10": { - "type": "boolean" - }, - "enableSamlCompress": { - "type": "boolean" - }, - "enableSamlPostBinding": { - "type": "boolean" - }, - "enableSignUp": { - "type": "boolean" - }, - "enableSigninSession": { - "type": "boolean" - }, - "enableWebAuthn": { - "type": "boolean" - }, - "expireInHours": { - "type": "number", - "format": "double" - }, - "failedSigninFrozenTime": { - "type": "integer", - "format": "int64" - }, - "failedSigninLimit": { - "type": "integer", - "format": "int64" - }, - "favicon": { - "type": "string" - }, - "footerHtml": { - "type": "string" - }, - "forcedRedirectOrigin": { - "type": "string" - }, - "forgetUrl": { - "type": "string" - }, - "formBackgroundUrl": { - "type": "string" - }, - "formBackgroundUrlMobile": { - "type": "string" - }, - "formCss": { - "type": "string" - }, - "formCssMobile": { - "type": "string" - }, - "formOffset": { - "type": "integer", - "format": "int64" - }, - "formSideHtml": { - "type": "string" - }, - "grantTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "headerHtml": { - "type": "string" - }, - "homepageUrl": { - "type": "string" - }, - "ipRestriction": { - "type": "string" - }, - "ipWhitelist": { - "type": "string" - }, - "isShared": { - "type": "boolean" - }, - "logo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "order": { - "type": "integer", - "format": "int64" - }, - "orgChoiceMode": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationObj": { - "$ref": "#/definitions/object.Organization" - }, - "owner": { - "type": "string" - }, - "providers": { - "type": "array", - "items": { - "$ref": "#/definitions/object.ProviderItem" - } - }, - "redirectUris": { - "type": "array", - "items": { - "type": "string" - } - }, - "refreshExpireInHours": { - "type": "number", - "format": "double" - }, - "samlAttributes": { - "type": "array", - "items": { - "$ref": "#/definitions/object.SamlItem" - } - }, - "samlHashAlgorithm": { - "type": "string" - }, - "samlReplyUrl": { - "type": "string" - }, - "signinHtml": { - "type": "string" - }, - "signinItems": { - "type": "array", - "items": { - "$ref": "#/definitions/object.SigninItem" - } - }, - "signinMethods": { - "type": "array", - "items": { - "$ref": "#/definitions/object.SigninMethod" - } - }, - "signinUrl": { - "type": "string" - }, - "signupHtml": { - "type": "string" - }, - "signupItems": { - "type": "array", - "items": { - "$ref": "#/definitions/object.SignupItem" - } - }, - "signupUrl": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "termsOfUse": { - "type": "string" - }, - "themeData": { - "$ref": "#/definitions/object.ThemeData" - }, - "title": { - "type": "string" - }, - "tokenAttributes": { - "type": "array", - "items": { - "$ref": "#/definitions/object.JwtItem" - } - }, - "tokenFields": { - "type": "array", - "items": { - "type": "string" - } - }, - "tokenFormat": { - "type": "string" - }, - "tokenSigningMethod": { - "type": "string" - }, - "useEmailAsSamlNameId": { - "type": "boolean" - } - } - }, - "object.Cert": { - "title": "Cert", - "type": "object", - "properties": { - "bitSize": { - "type": "integer", - "format": "int64" - }, - "certificate": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "cryptoAlgorithm": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "expireInYears": { - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "object.DeviceAuthResponse": { - "title": "DeviceAuthResponse", - "type": "object", - "properties": { - "device_code": { - "type": "string" - }, - "expires_in": { - "type": "integer", - "format": "int64" - }, - "interval": { - "type": "integer", - "format": "int64" - }, - "user_code": { - "type": "string" - }, - "verification_uri": { - "type": "string" - } - } - }, - "object.Enforcer": { - "title": "Enforcer", - "type": "object", - "properties": { - "adapter": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "model": { - "type": "string" - }, - "modelCfg": { - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "updatedTime": { - "type": "string" - } - } - }, - "object.FaceId": { - "title": "FaceId", - "type": "object", - "properties": { - "ImageUrl": { - "type": "string" - }, - "faceIdData": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "name": { - "type": "string" - } - } - }, - "object.Filter": { - "title": "Filter", - "type": "object", - "properties": { - "fieldIndex": { - "type": "integer", - "format": "int64" - }, - "fieldValues": { - "type": "array", - "items": { - "type": "string" - } - }, - "ptype": { - "type": "string" - } - } - }, - "object.Form": { - "title": "Form", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "formItems": { - "type": "array", - "items": { - "$ref": "#/definitions/object.FormItem" - } - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "object.FormItem": { - "title": "FormItem", - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "visible": { - "type": "boolean" - }, - "width": { - "type": "string" - } - } - }, - "object.GaugeVecInfo": { - "title": "GaugeVecInfo", - "type": "object", - "properties": { - "method": { - "type": "string" - }, - "name": { - "type": "string" - }, - "throughput": { - "type": "number", - "format": "double" - } - } - }, - "object.Group": { - "title": "Group", - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Group" - } - }, - "contactEmail": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "haveChildren": { - "type": "boolean" - }, - "isEnabled": { - "type": "boolean" - }, - "isTopGroup": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "manager": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "parentId": { - "type": "string" - }, - "parentName": { - "type": "string" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedTime": { - "type": "string" - }, - "users": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "object.Header": { - "title": "Header", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "object.HistogramVecInfo": { - "title": "HistogramVecInfo", - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "latency": { - "type": "string" - }, - "method": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "object.IntrospectionResponse": { - "title": "IntrospectionResponse", - "type": "object", - "properties": { - "active": { - "type": "boolean" - }, - "aud": { - "type": "array", - "items": { - "type": "string" - } - }, - "client_id": { - "type": "string" - }, - "exp": { - "type": "integer", - "format": "int64" - }, - "iat": { - "type": "integer", - "format": "int64" - }, - "iss": { - "type": "string" - }, - "jti": { - "type": "string" - }, - "nbf": { - "type": "integer", - "format": "int64" - }, - "scope": { - "type": "string" - }, - "sub": { - "type": "string" - }, - "token_type": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "object.Invitation": { - "title": "Invitation", - "type": "object", - "properties": { - "application": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "defaultCode": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "email": { - "type": "string" - }, - "isRegexp": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "quota": { - "type": "integer", - "format": "int64" - }, - "signupGroup": { - "type": "string" - }, - "state": { - "type": "string" - }, - "updatedTime": { - "type": "string" - }, - "usedCount": { - "type": "integer", - "format": "int64" - }, - "username": { - "type": "string" - } - } - }, - "object.JwtItem": { - "title": "JwtItem", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "object.Ldap": { - "title": "Ldap", - "type": "object", - "properties": { - "allowSelfSignedCert": { - "type": "boolean" - }, - "autoSync": { - "type": "integer", - "format": "int64" - }, - "baseDn": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "customAttributes": { - "additionalProperties": { - "type": "string" - } - }, - "defaultGroup": { - "type": "string" - }, - "enableSsl": { - "type": "boolean" - }, - "filter": { - "type": "string" - }, - "filterFields": { - "type": "array", - "items": { - "type": "string" - } - }, - "host": { - "type": "string" - }, - "id": { - "type": "string" - }, - "lastSync": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "password": { - "type": "string" - }, - "passwordType": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - }, - "serverName": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "object.LdapUser": { - "title": "LdapUser", - "type": "object", - "properties": { - "EmailAddress": { - "type": "string" - }, - "Mail": { - "type": "string" - }, - "MobileTelephoneNumber": { - "type": "string" - }, - "PostalAddress": { - "type": "string" - }, - "RegisteredAddress": { - "type": "string" - }, - "TelephoneNumber": { - "type": "string" - }, - "address": { - "type": "string" - }, - "attributes": { - "additionalProperties": { - "type": "string" - } - }, - "cn": { - "type": "string" - }, - "country": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "email": { - "type": "string" - }, - "gidNumber": { - "type": "string" - }, - "groupId": { - "type": "string" - }, - "memberOf": { - "type": "string" - }, - "mobile": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "uidNumber": { - "type": "string" - }, - "userPrincipalName": { - "type": "string" - }, - "uuid": { - "type": "string" - } - } - }, - "object.ManagedAccount": { - "title": "ManagedAccount", - "type": "object", - "properties": { - "application": { - "type": "string" - }, - "password": { - "type": "string" - }, - "signinUrl": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "object.MfaAccount": { - "title": "MfaAccount", - "type": "object", - "properties": { - "accountName": { - "type": "string" - }, - "issuer": { - "type": "string" - }, - "origin": { - "type": "string" - }, - "secretKey": { - "type": "string" - } - } - }, - "object.MfaItem": { - "title": "MfaItem", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "rule": { - "type": "string" - } - } - }, - "object.MfaProps": { - "title": "MfaProps", - "type": "object", - "properties": { - "countryCode": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "isPreferred": { - "type": "boolean" - }, - "mfaRememberInHours": { - "type": "integer", - "format": "int64" - }, - "mfaType": { - "type": "string" - }, - "recoveryCodes": { - "type": "array", - "items": { - "type": "string" - } - }, - "secret": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "object.Model": { - "title": "Model", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "modelText": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - } - } - }, - "object.OidcDiscovery": { - "title": "OidcDiscovery", - "type": "object", - "properties": { - "authorization_endpoint": { - "type": "string" - }, - "claims_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "device_authorization_endpoint": { - "type": "string" - }, - "end_session_endpoint": { - "type": "string" - }, - "grant_types_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "id_token_signing_alg_values_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "introspection_endpoint": { - "type": "string" - }, - "issuer": { - "type": "string" - }, - "jwks_uri": { - "type": "string" - }, - "request_object_signing_alg_values_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "request_parameter_supported": { - "type": "boolean" - }, - "response_modes_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "response_types_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "scopes_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "subject_types_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "token_endpoint": { - "type": "string" - }, - "userinfo_endpoint": { - "type": "string" - } - } - }, - "object.Order": { - "title": "Order", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "payment": { - "type": "string" - }, - "price": { - "type": "number", - "format": "double" - }, - "productInfos": { - "type": "array", - "items": { - "$ref": "#/definitions/object.ProductInfo" - } - }, - "products": { - "type": "array", - "items": { - "type": "string" - } - }, - "state": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.Organization": { - "title": "Organization", - "type": "object", - "properties": { - "accountItems": { - "type": "array", - "items": { - "$ref": "#/definitions/object.AccountItem" - } - }, - "accountMenu": { - "type": "string" - }, - "balanceCredit": { - "type": "number", - "format": "double" - }, - "balanceCurrency": { - "type": "string" - }, - "countryCodes": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdTime": { - "type": "string" - }, - "defaultApplication": { - "type": "string" - }, - "defaultAvatar": { - "type": "string" - }, - "defaultPassword": { - "type": "string" - }, - "disableSignin": { - "type": "boolean" - }, - "displayName": { - "type": "string" - }, - "enableSoftDeletion": { - "type": "boolean" - }, - "enableTour": { - "type": "boolean" - }, - "favicon": { - "type": "string" - }, - "hasPrivilegeConsent": { - "type": "boolean" - }, - "initScore": { - "type": "integer", - "format": "int64" - }, - "ipRestriction": { - "type": "string" - }, - "ipWhitelist": { - "type": "string" - }, - "isProfilePublic": { - "type": "boolean" - }, - "languages": { - "type": "array", - "items": { - "type": "string" - } - }, - "logo": { - "type": "string" - }, - "logoDark": { - "type": "string" - }, - "masterPassword": { - "type": "string" - }, - "masterVerificationCode": { - "type": "string" - }, - "mfaItems": { - "type": "array", - "items": { - "$ref": "#/definitions/object.MfaItem" - } - }, - "mfaRememberInHours": { - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "navItems": { - "type": "array", - "items": { - "type": "string" - } - }, - "orgBalance": { - "type": "number", - "format": "double" - }, - "owner": { - "type": "string" - }, - "passwordExpireDays": { - "type": "integer", - "format": "int64" - }, - "passwordObfuscatorKey": { - "type": "string" - }, - "passwordObfuscatorType": { - "type": "string" - }, - "passwordOptions": { - "type": "array", - "items": { - "type": "string" - } - }, - "passwordSalt": { - "type": "string" - }, - "passwordType": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "themeData": { - "$ref": "#/definitions/object.ThemeData" - }, - "useEmailAsUsername": { - "type": "boolean" - }, - "userBalance": { - "type": "number", - "format": "double" - }, - "userNavItems": { - "type": "array", - "items": { - "type": "string" - } - }, - "userTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "websiteUrl": { - "type": "string" - }, - "widgetItems": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "object.Ormer": { - "title": "Ormer", - "type": "object", - "properties": { - "Db": { - "$ref": "#/definitions/sql.DB" - }, - "Engine": { - "$ref": "#/definitions/xorm.Engine" - }, - "dataSourceName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "driverName": { - "type": "string" - } - } - }, - "object.Payment": { - "title": "Payment", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "detail": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "invoiceRemark": { - "type": "string" - }, - "invoiceTaxId": { - "type": "string" - }, - "invoiceTitle": { - "type": "string" - }, - "invoiceType": { - "type": "string" - }, - "invoiceUrl": { - "type": "string" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "order": { - "type": "string" - }, - "orderObj": { - "$ref": "#/definitions/object.Order" - }, - "outOrderId": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "payUrl": { - "type": "string" - }, - "personEmail": { - "type": "string" - }, - "personIdCard": { - "type": "string" - }, - "personName": { - "type": "string" - }, - "personPhone": { - "type": "string" - }, - "price": { - "type": "number", - "format": "double" - }, - "products": { - "type": "array", - "items": { - "type": "string" - } - }, - "productsDisplayName": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/pp.PaymentState" - }, - "successUrl": { - "type": "string" - }, - "type": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.Permission": { - "title": "Permission", - "type": "object", - "properties": { - "actions": { - "type": "array", - "items": { - "type": "string" - } - }, - "adapter": { - "type": "string" - }, - "approveTime": { - "type": "string" - }, - "approver": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "effect": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "isEnabled": { - "type": "boolean" - }, - "model": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "resourceType": { - "type": "string" - }, - "resources": { - "type": "array", - "items": { - "type": "string" - } - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "state": { - "type": "string" - }, - "submitter": { - "type": "string" - }, - "users": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "object.Plan": { - "title": "Plan", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "isEnabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - }, - "owner": { - "type": "string" - }, - "paymentProviders": { - "type": "array", - "items": { - "type": "string" - } - }, - "period": { - "type": "string" - }, - "price": { - "type": "number", - "format": "double" - }, - "product": { - "type": "string" - }, - "role": { - "type": "string" - } - } - }, - "object.Pricing": { - "title": "Pricing", - "type": "object", - "properties": { - "application": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "isEnabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "plans": { - "type": "array", - "items": { - "type": "string" - } - }, - "trialDuration": { - "type": "integer", - "format": "int64" - } - } - }, - "object.Product": { - "title": "Product", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "description": { - "type": "string" - }, - "detail": { - "type": "string" - }, - "disableCustomRecharge": { - "type": "boolean" - }, - "displayName": { - "type": "string" - }, - "image": { - "type": "string" - }, - "isRecharge": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "price": { - "type": "number", - "format": "double" - }, - "providerObjs": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Provider" - } - }, - "providers": { - "type": "array", - "items": { - "type": "string" - } - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "rechargeOptions": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "sold": { - "type": "integer", - "format": "int64" - }, - "state": { - "type": "string" - }, - "successUrl": { - "type": "string" - }, - "tag": { - "type": "string" - } - } - }, - "object.ProductInfo": { - "title": "ProductInfo", - "type": "object", - "properties": { - "currency": { - "type": "string" - }, - "detail": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "image": { - "type": "string" - }, - "isRecharge": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "planName": { - "type": "string" - }, - "price": { - "type": "number", - "format": "double" - }, - "pricingName": { - "type": "string" - }, - "quantity": { - "type": "integer", - "format": "int64" - } - } - }, - "object.PrometheusInfo": { - "title": "PrometheusInfo", - "type": "object", - "properties": { - "apiLatency": { - "type": "array", - "items": { - "$ref": "#/definitions/object.HistogramVecInfo" - } - }, - "apiThroughput": { - "type": "array", - "items": { - "$ref": "#/definitions/object.GaugeVecInfo" - } - }, - "totalThroughput": { - "type": "number", - "format": "double" - } - } - }, - "object.Provider": { - "title": "Provider", - "type": "object", - "properties": { - "appId": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "category": { - "type": "string" - }, - "cert": { - "type": "string" - }, - "clientId": { - "type": "string" - }, - "clientId2": { - "type": "string" - }, - "clientSecret": { - "type": "string" - }, - "clientSecret2": { - "type": "string" - }, - "content": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "customAuthUrl": { - "type": "string" - }, - "customLogo": { - "type": "string" - }, - "customTokenUrl": { - "type": "string" - }, - "customUserInfoUrl": { - "type": "string" - }, - "disableSsl": { - "type": "boolean" - }, - "displayName": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "emailRegex": { - "type": "string" - }, - "enablePkce": { - "type": "boolean" - }, - "enableProxy": { - "type": "boolean" - }, - "enableSignAuthnRequest": { - "type": "boolean" - }, - "endpoint": { - "type": "string" - }, - "host": { - "type": "string" - }, - "httpHeaders": { - "additionalProperties": { - "type": "string" - } - }, - "idP": { - "type": "string" - }, - "intranetEndpoint": { - "type": "string" - }, - "issuerUrl": { - "type": "string" - }, - "metadata": { - "type": "string" - }, - "method": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "pathPrefix": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - }, - "providerUrl": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "regionId": { - "type": "string" - }, - "scopes": { - "type": "string" - }, - "signName": { - "type": "string" - }, - "subType": { - "type": "string" - }, - "templateCode": { - "type": "string" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string" - }, - "userMapping": { - "additionalProperties": { - "type": "string" - } - } - } - }, - "object.ProviderItem": { - "title": "ProviderItem", - "type": "object", - "properties": { - "canSignIn": { - "type": "boolean" - }, - "canSignUp": { - "type": "boolean" - }, - "canUnlink": { - "type": "boolean" - }, - "countryCodes": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "prompted": { - "type": "boolean" - }, - "provider": { - "$ref": "#/definitions/object.Provider" - }, - "rule": { - "type": "string" - }, - "signupGroup": { - "type": "string" - } - } - }, - "object.Record": { - "title": "Record", - "type": "object" - }, - "object.Resource": { - "title": "Resource", - "type": "object", - "properties": { - "application": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "fileFormat": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "fileSize": { - "type": "integer", - "format": "int64" - }, - "fileType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "parent": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "url": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.Role": { - "title": "Role", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "isEnabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "object.SamlItem": { - "title": "SamlItem", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nameFormat": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "object.Session": { - "title": "Session", - "type": "object", - "properties": { - "ExclusiveSignin": { - "type": "boolean" - }, - "application": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "sessionId": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "object.SigninItem": { - "title": "SigninItem", - "type": "object", - "properties": { - "customCss": { - "type": "string" - }, - "isCustom": { - "type": "boolean" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "placeholder": { - "type": "string" - }, - "rule": { - "type": "string" - }, - "visible": { - "type": "boolean" - } - } - }, - "object.SigninMethod": { - "title": "SigninMethod", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rule": { - "type": "string" - } - } - }, - "object.SignupItem": { - "title": "SignupItem", - "type": "object", - "properties": { - "customCss": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - }, - "placeholder": { - "type": "string" - }, - "prompted": { - "type": "boolean" - }, - "regex": { - "type": "string" - }, - "required": { - "type": "boolean" - }, - "rule": { - "type": "string" - }, - "type": { - "type": "string" - }, - "visible": { - "type": "boolean" - } - } - }, - "object.Subscription": { - "title": "Subscription", - "type": "object", - "properties": { - "createdTime": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "endTime": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "payment": { - "type": "string" - }, - "period": { - "type": "string" - }, - "plan": { - "type": "string" - }, - "pricing": { - "type": "string" - }, - "startTime": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/object.SubscriptionState" - }, - "user": { - "type": "string" - } - } - }, - "object.SubscriptionState": { - "title": "SubscriptionState", - "type": "string", - "enum": [ - "SubStatePending = \"Pending\"", - "SubStateError = \"Error\"", - "SubStateSuspended = \"Suspended\"", - "SubStateActive = \"Active\"", - "SubStateUpcoming = \"Upcoming\"", - "SubStateExpired = \"Expired\"" - ], - "example": "Pending" - }, - "object.Syncer": { - "title": "Syncer", - "type": "object", - "properties": { - "affiliationTable": { - "type": "string" - }, - "avatarBaseUrl": { - "type": "string" - }, - "cert": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "database": { - "type": "string" - }, - "databaseType": { - "type": "string" - }, - "errorText": { - "type": "string" - }, - "host": { - "type": "string" - }, - "isEnabled": { - "type": "boolean" - }, - "isReadOnly": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - }, - "sshHost": { - "type": "string" - }, - "sshPassword": { - "type": "string" - }, - "sshPort": { - "type": "integer", - "format": "int64" - }, - "sshType": { - "type": "string" - }, - "sshUser": { - "type": "string" - }, - "sslMode": { - "type": "string" - }, - "syncInterval": { - "type": "integer", - "format": "int64" - }, - "table": { - "type": "string" - }, - "tableColumns": { - "type": "array", - "items": { - "$ref": "#/definitions/object.TableColumn" - } - }, - "type": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.TableColumn": { - "title": "TableColumn", - "type": "object", - "properties": { - "casdoorName": { - "type": "string" - }, - "isHashed": { - "type": "boolean" - }, - "isKey": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "object.ThemeData": { - "title": "ThemeData", - "type": "object", - "properties": { - "borderRadius": { - "type": "integer", - "format": "int64" - }, - "colorPrimary": { - "type": "string" - }, - "isCompact": { - "type": "boolean" - }, - "isEnabled": { - "type": "boolean" - }, - "themeType": { - "type": "string" - } - } - }, - "object.Ticket": { - "title": "Ticket", - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "messages": { - "type": "array", - "items": { - "$ref": "#/definitions/object.TicketMessage" - } - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "state": { - "type": "string" - }, - "title": { - "type": "string" - }, - "updatedTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.TicketMessage": { - "title": "TicketMessage", - "type": "object", - "properties": { - "author": { - "type": "string" - }, - "isAdmin": { - "type": "boolean" - }, - "text": { - "type": "string" - }, - "timestamp": { - "type": "string" - } - } - }, - "object.Token": { - "title": "Token", - "type": "object", - "properties": { - "accessToken": { - "type": "string" - }, - "accessTokenHash": { - "type": "string" - }, - "application": { - "type": "string" - }, - "code": { - "type": "string" - }, - "codeChallenge": { - "type": "string" - }, - "codeExpireIn": { - "type": "integer", - "format": "int64" - }, - "codeIsUsed": { - "type": "boolean" - }, - "createdTime": { - "type": "string" - }, - "expiresIn": { - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "refreshToken": { - "type": "string" - }, - "refreshTokenHash": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "tokenType": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.TokenError": { - "title": "TokenError", - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "error_description": { - "type": "string" - } - } - }, - "object.TokenWrapper": { - "title": "TokenWrapper", - "type": "object", - "properties": { - "access_token": { - "type": "string" - }, - "expires_in": { - "type": "integer", - "format": "int64" - }, - "id_token": { - "type": "string" - }, - "refresh_token": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "token_type": { - "type": "string" - } - } - }, - "object.Transaction": { - "title": "Transaction", - "type": "object", - "properties": { - "amount": { - "type": "number", - "format": "double" - }, - "application": { - "type": "string" - }, - "category": { - "$ref": "#/definitions/object.TransactionCategory" - }, - "createdTime": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "name": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "payment": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "state": { - "type": "string" - }, - "subtype": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "object.TransactionCategory": { - "title": "TransactionCategory", - "type": "string", - "enum": [ - "TransactionCategoryPurchase = \"Purchase\"", - "TransactionCategoryRecharge = \"Recharge\"" - ], - "example": "Purchase" - }, - "object.User": { - "title": "User", - "type": "object", - "properties": { - "accessKey": { - "type": "string" - }, - "accessSecret": { - "type": "string" - }, - "accessToken": { - "type": "string" - }, - "address": { - "type": "array", - "items": { - "type": "string" - } - }, - "addresses": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Address" - } - }, - "adfs": { - "type": "string" - }, - "affiliation": { - "type": "string" - }, - "alipay": { - "type": "string" - }, - "amazon": { - "type": "string" - }, - "apple": { - "type": "string" - }, - "auth0": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "avatarType": { - "type": "string" - }, - "azuread": { - "type": "string" - }, - "azureadb2c": { - "type": "string" - }, - "baidu": { - "type": "string" - }, - "balance": { - "type": "number", - "format": "double" - }, - "balanceCredit": { - "type": "number", - "format": "double" - }, - "balanceCurrency": { - "type": "string" - }, - "battlenet": { - "type": "string" - }, - "bilibili": { - "type": "string" - }, - "bio": { - "type": "string" - }, - "birthday": { - "type": "string" - }, - "bitbucket": { - "type": "string" - }, - "box": { - "type": "string" - }, - "cart": { - "type": "array", - "items": { - "$ref": "#/definitions/object.ProductInfo" - } - }, - "casdoor": { - "type": "string" - }, - "cloudfoundry": { - "type": "string" - }, - "countryCode": { - "type": "string" - }, - "createdIp": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "custom": { - "type": "string" - }, - "custom10": { - "type": "string" - }, - "custom2": { - "type": "string" - }, - "custom3": { - "type": "string" - }, - "custom4": { - "type": "string" - }, - "custom5": { - "type": "string" - }, - "custom6": { - "type": "string" - }, - "custom7": { - "type": "string" - }, - "custom8": { - "type": "string" - }, - "custom9": { - "type": "string" - }, - "dailymotion": { - "type": "string" - }, - "deezer": { - "type": "string" - }, - "deletedTime": { - "type": "string" - }, - "digitalocean": { - "type": "string" - }, - "dingtalk": { - "type": "string" - }, - "discord": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "douyin": { - "type": "string" - }, - "dropbox": { - "type": "string" - }, - "education": { - "type": "string" - }, - "email": { - "type": "string" - }, - "emailVerified": { - "type": "boolean" - }, - "eveonline": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "faceIds": { - "type": "array", - "items": { - "$ref": "#/definitions/object.FaceId" - } - }, - "facebook": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "fitbit": { - "type": "string" - }, - "gender": { - "type": "string" - }, - "gitea": { - "type": "string" - }, - "gitee": { - "type": "string" - }, - "github": { - "type": "string" - }, - "gitlab": { - "type": "string" - }, - "google": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "hash": { - "type": "string" - }, - "heroku": { - "type": "string" - }, - "homepage": { - "type": "string" - }, - "id": { - "type": "string" - }, - "idCard": { - "type": "string" - }, - "idCardType": { - "type": "string" - }, - "influxcloud": { - "type": "string" - }, - "infoflow": { - "type": "string" - }, - "instagram": { - "type": "string" - }, - "intercom": { - "type": "string" - }, - "invitation": { - "type": "string" - }, - "invitationCode": { - "type": "string" - }, - "ipWhitelist": { - "type": "string" - }, - "isAdmin": { - "type": "boolean" - }, - "isDefaultAvatar": { - "type": "boolean" - }, - "isDeleted": { - "type": "boolean" - }, - "isForbidden": { - "type": "boolean" - }, - "isOnline": { - "type": "boolean" - }, - "isVerified": { - "type": "boolean" - }, - "kakao": { - "type": "string" - }, - "karma": { - "type": "integer", - "format": "int64" - }, - "kwai": { - "type": "string" - }, - "language": { - "type": "string" - }, - "lark": { - "type": "string" - }, - "lastChangePasswordTime": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "lastSigninIp": { - "type": "string" - }, - "lastSigninTime": { - "type": "string" - }, - "lastSigninWrongTime": { - "type": "string" - }, - "lastfm": { - "type": "string" - }, - "ldap": { - "type": "string" - }, - "line": { - "type": "string" - }, - "linkedin": { - "type": "string" - }, - "location": { - "type": "string" - }, - "mailru": { - "type": "string" - }, - "managedAccounts": { - "type": "array", - "items": { - "$ref": "#/definitions/object.ManagedAccount" - } - }, - "meetup": { - "type": "string" - }, - "metamask": { - "type": "string" - }, - "mfaAccounts": { - "type": "array", - "items": { - "$ref": "#/definitions/object.MfaAccount" - } - }, - "mfaEmailEnabled": { - "type": "boolean" - }, - "mfaItems": { - "type": "array", - "items": { - "$ref": "#/definitions/object.MfaItem" - } - }, - "mfaPhoneEnabled": { - "type": "boolean" - }, - "mfaPushEnabled": { - "type": "boolean" - }, - "mfaPushProvider": { - "type": "string" - }, - "mfaPushReceiver": { - "type": "string" - }, - "mfaRadiusEnabled": { - "type": "boolean" - }, - "mfaRadiusProvider": { - "type": "string" - }, - "mfaRadiusUsername": { - "type": "string" - }, - "mfaRememberDeadline": { - "type": "string" - }, - "microsoftonline": { - "type": "string" - }, - "multiFactorAuths": { - "type": "array", - "items": { - "$ref": "#/definitions/object.MfaProps" - } - }, - "name": { - "type": "string" - }, - "naver": { - "type": "string" - }, - "needUpdatePassword": { - "type": "boolean" - }, - "nextcloud": { - "type": "string" - }, - "okta": { - "type": "string" - }, - "onedrive": { - "type": "string" - }, - "originalRefreshToken": { - "type": "string" - }, - "originalToken": { - "type": "string" - }, - "oura": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "password": { - "type": "string" - }, - "passwordSalt": { - "type": "string" - }, - "passwordType": { - "type": "string" - }, - "patreon": { - "type": "string" - }, - "paypal": { - "type": "string" - }, - "permanentAvatar": { - "type": "string" - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Permission" - } - }, - "phone": { - "type": "string" - }, - "preHash": { - "type": "string" - }, - "preferredMfaType": { - "type": "string" - }, - "properties": { - "additionalProperties": { - "type": "string" - } - }, - "qq": { - "type": "string" - }, - "ranking": { - "type": "integer", - "format": "int64" - }, - "realName": { - "type": "string" - }, - "recoveryCodes": { - "type": "array", - "items": { - "type": "string" - } - }, - "region": { - "type": "string" - }, - "registerSource": { - "type": "string" - }, - "registerType": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Role" - } - }, - "salesforce": { - "type": "string" - }, - "score": { - "type": "integer", - "format": "int64" - }, - "shopify": { - "type": "string" - }, - "signinWrongTimes": { - "type": "integer", - "format": "int64" - }, - "signupApplication": { - "type": "string" - }, - "slack": { - "type": "string" - }, - "soundcloud": { - "type": "string" - }, - "spotify": { - "type": "string" - }, - "steam": { - "type": "string" - }, - "strava": { - "type": "string" - }, - "stripe": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "tiktok": { - "type": "string" - }, - "title": { - "type": "string" - }, - "totpSecret": { - "type": "string" - }, - "tumblr": { - "type": "string" - }, - "twitch": { - "type": "string" - }, - "twitter": { - "type": "string" - }, - "type": { - "type": "string" - }, - "typetalk": { - "type": "string" - }, - "uber": { - "type": "string" - }, - "updatedTime": { - "type": "string" - }, - "vk": { - "type": "string" - }, - "web3onboard": { - "type": "string" - }, - "webauthnCredentials": { - "type": "array", - "items": { - "$ref": "#/definitions/webauthn.Credential" - } - }, - "wechat": { - "type": "string" - }, - "wecom": { - "type": "string" - }, - "weibo": { - "type": "string" - }, - "wepay": { - "type": "string" - }, - "xero": { - "type": "string" - }, - "yahoo": { - "type": "string" - }, - "yammer": { - "type": "string" - }, - "yandex": { - "type": "string" - }, - "zoom": { - "type": "string" - } - } - }, - "object.Userinfo": { - "title": "Userinfo", - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "aud": { - "type": "string" - }, - "email": { - "type": "string" - }, - "email_verified": { - "type": "boolean" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "is_verified": { - "type": "boolean" - }, - "iss": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permissions": { - "type": "array", - "items": { - "type": "string" - } - }, - "phone": { - "type": "string" - }, - "picture": { - "type": "string" - }, - "preferred_username": { - "type": "string" - }, - "real_name": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "sub": { - "type": "string" - } - } - }, - "object.Verification": { - "title": "Verification", - "type": "object" - }, - "object.WebFinger": { - "title": "WebFinger", - "type": "object", - "properties": { - "aliases": { - "$ref": "#/definitions/232967.\u003cnil\u003e.string" - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/object.WebFingerLink" - } - }, - "properties": { - "$ref": "#/definitions/233025.string.string" - }, - "subject": { - "type": "string" - } - } - }, - "object.WebFingerLink": { - "title": "WebFingerLink", - "type": "object", - "properties": { - "href": { - "type": "string" - }, - "rel": { - "type": "string" - } - } - }, - "object.Webhook": { - "title": "Webhook", - "type": "object", - "properties": { - "contentType": { - "type": "string" - }, - "createdTime": { - "type": "string" - }, - "events": { - "type": "array", - "items": { - "type": "string" - } - }, - "headers": { - "type": "array", - "items": { - "$ref": "#/definitions/object.Header" - } - }, - "isEnabled": { - "type": "boolean" - }, - "isUserExtended": { - "type": "boolean" - }, - "method": { - "type": "string" - }, - "name": { - "type": "string" - }, - "objectFields": { - "type": "array", - "items": { - "type": "string" - } - }, - "organization": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "singleOrgOnly": { - "type": "boolean" - }, - "tokenFields": { - "type": "array", - "items": { - "type": "string" - } - }, - "url": { - "type": "string" - } - } - }, - "pp.PaymentState": { - "title": "PaymentState", - "type": "string", - "enum": [ - "PaymentStatePaid = \"Paid\"", - "PaymentStateCreated = \"Created\"", - "PaymentStateCanceled = \"Canceled\"", - "PaymentStateTimeout = \"Timeout\"", - "PaymentStateError = \"Error\"" - ], - "example": "Paid" - }, - "protocol.CredentialAssertion": { - "title": "CredentialAssertion", - "type": "object" - }, - "protocol.CredentialAssertionResponse": { - "title": "CredentialAssertionResponse", - "type": "object" - }, - "protocol.CredentialCreation": { - "title": "CredentialCreation", - "type": "object" - }, - "protocol.CredentialCreationResponse": { - "title": "CredentialCreationResponse", - "type": "object" - }, - "sql.DB": { - "title": "DB", - "type": "object" - }, - "ssh.Client": { - "title": "Client", - "type": "object" - }, - "util.SystemInfo": { - "title": "SystemInfo", - "type": "object", - "properties": { - "cpuUsage": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "memoryTotal": { - "type": "integer", - "format": "int64" - }, - "memoryUsed": { - "type": "integer", - "format": "int64" - } - } - }, - "util.VersionInfo": { - "title": "VersionInfo", - "type": "object", - "properties": { - "commitId": { - "type": "string" - }, - "commitOffset": { - "type": "integer", - "format": "int64" - }, - "version": { - "type": "string" - } - } - }, - "webauthn.Credential": { - "title": "Credential", - "type": "object" - }, - "xorm.Engine": { - "title": "Engine", - "type": "object" - }, - "xormadapter.Adapter": { - "title": "Adapter", - "type": "object" - }, - "xormadapter.CasbinRule": { - "title": "CasbinRule", - "type": "object" - } - }, - "securityDefinitions": { - "AccessToken": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - } -} diff --git a/legacy/dash-prototype/test-logic-v3.mjs b/legacy/dash-prototype/test-logic-v3.mjs deleted file mode 100644 index edfcbac..0000000 --- a/legacy/dash-prototype/test-logic-v3.mjs +++ /dev/null @@ -1,109 +0,0 @@ -import { readFileSync } from 'node:fs'; -const core = readFileSync('C:/Users/Administrator/Downloads/v1.2/core.js', 'utf8'); -const invHtml = readFileSync('C:/Users/Administrator/Downloads/v1.2/inventory-system.html', 'utf8'); -const chgHtml = readFileSync('C:/Users/Administrator/Downloads/v1.2/change-inventory.html', 'utf8'); -const m1 = invHtml.match(/