diff --git a/data/bindata.go b/data/bindata.go index dae2d900..75e435be 100644 --- a/data/bindata.go +++ b/data/bindata.go @@ -91,6 +91,7 @@ // .tmp/data/yao/models/history.mod.yao // .tmp/data/yao/models/kb.mod.yao // .tmp/data/yao/models/user.mod.yao +// .tmp/data/yao/models/user_oauth_account.mod.yao // .tmp/data/yao/release/app.yaz // .tmp/data/yao/stores/agent/cache.lru.yao // .tmp/data/yao/stores/agent/memory.badger.yao @@ -280,7 +281,7 @@ func cuiSetupIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/setup/index.html", size: 10, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "cui/setup/index.html", size: 10, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -300,7 +301,7 @@ func cuiV09IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v0.9/index.html", size: 13, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "cui/v0.9/index.html", size: 13, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -320,7 +321,7 @@ func cuiV10IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v1.0/index.html", size: 49, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "cui/v1.0/index.html", size: 49, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -340,7 +341,7 @@ func cuiV10Layouts__indexAsyncJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "cui/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -360,7 +361,7 @@ func cuiV10UmiJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "cui/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -380,7 +381,7 @@ func initEnv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.env", size: 219, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.env", size: 219, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -400,7 +401,7 @@ func initVscodeSettingsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/settings.json", size: 4666, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/settings.json", size: 4666, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -420,7 +421,7 @@ func initVscodeTypesRuntimeConsoleDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/console.d.ts", size: 221, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/console.d.ts", size: 221, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -440,7 +441,7 @@ func initVscodeTypesRuntimeExceptionDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/exception.d.ts", size: 738, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/exception.d.ts", size: 738, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -460,7 +461,7 @@ func initVscodeTypesRuntimeFsDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/fs.d.ts", size: 8554, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/fs.d.ts", size: 8554, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -480,7 +481,7 @@ func initVscodeTypesRuntimeGlobalDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/global.d.ts", size: 1759, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/global.d.ts", size: 1759, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -500,7 +501,7 @@ func initVscodeTypesRuntimeHttpDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/http.d.ts", size: 6179, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/http.d.ts", size: 6179, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -520,7 +521,7 @@ func initVscodeTypesRuntimeIoDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/io.d.ts", size: 587, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/io.d.ts", size: 587, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -540,7 +541,7 @@ func initVscodeTypesRuntimeLogDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/log.d.ts", size: 1692, mode: os.FileMode(493), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/log.d.ts", size: 1692, mode: os.FileMode(493), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -560,7 +561,7 @@ func initVscodeTypesRuntimeNeoDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/neo.d.ts", size: 3750, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/neo.d.ts", size: 3750, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -580,7 +581,7 @@ func initVscodeTypesRuntimeProcessFsDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process/fs.d.ts", size: 11133, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/fs.d.ts", size: 11133, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -600,7 +601,7 @@ func initVscodeTypesRuntimeProcessHttpDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process/http.d.ts", size: 5653, mode: os.FileMode(493), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/http.d.ts", size: 5653, mode: os.FileMode(493), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -620,7 +621,7 @@ func initVscodeTypesRuntimeProcessModelDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process/model.d.ts", size: 6656, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/model.d.ts", size: 6656, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -640,7 +641,7 @@ func initVscodeTypesRuntimeProcessDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process.d.ts", size: 23165, mode: os.FileMode(493), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process.d.ts", size: 23165, mode: os.FileMode(493), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -660,7 +661,7 @@ func initVscodeTypesRuntimeQueryDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/query.d.ts", size: 6124, mode: os.FileMode(493), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/query.d.ts", size: 6124, mode: os.FileMode(493), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -680,7 +681,7 @@ func initVscodeTypesRuntimeStoreDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/store.d.ts", size: 2251, mode: os.FileMode(493), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/store.d.ts", size: 2251, mode: os.FileMode(493), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -700,7 +701,7 @@ func initVscodeTypesRuntimeSuiDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/sui.d.ts", size: 1713, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/sui.d.ts", size: 1713, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -720,7 +721,7 @@ func initVscodeTypesRuntimeTimeDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/time.d.ts", size: 711, mode: os.FileMode(493), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/time.d.ts", size: 711, mode: os.FileMode(493), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -740,7 +741,7 @@ func initVscodeTypesRuntimeDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime.d.ts", size: 424, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime.d.ts", size: 424, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -760,7 +761,7 @@ func initVscodeTypesSuiDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/sui.d.ts", size: 8931, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/.vscode/types/sui.d.ts", size: 8931, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -780,7 +781,7 @@ func initAppYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/app.yao", size: 3115, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/app.yao", size: 3115, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -800,7 +801,7 @@ func initDataReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/README.md", size: 41, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/README.md", size: 41, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -820,7 +821,7 @@ func initDataTemplatesDefault__assetsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -840,7 +841,7 @@ func initDataTemplatesDefault__assetsImagesIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -860,7 +861,7 @@ func initDataTemplatesDefault__assetsImagesLogosLogo_colorSvg() (*asset, error) return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -880,7 +881,7 @@ func initDataTemplatesDefault__assetsImagesLogosWordmarkSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -900,7 +901,7 @@ func initDataTemplatesDefault__dataJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__data.json", size: 30, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__data.json", size: 30, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -920,7 +921,7 @@ func initDataTemplatesDefault__documentHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__document.html", size: 492, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__document.html", size: 492, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -940,7 +941,7 @@ func initDataTemplatesDefaultIndexIndexCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.css", size: 2896, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.css", size: 2896, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -960,7 +961,7 @@ func initDataTemplatesDefaultIndexIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.html", size: 2361, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.html", size: 2361, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -980,7 +981,7 @@ func initDataTemplatesDefaultIndexIndexJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.json", size: 31, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.json", size: 31, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1000,7 +1001,7 @@ func initDbReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/db/README.md", size: 84, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/db/README.md", size: 84, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1020,7 +1021,7 @@ func initFlowsMenuFlowYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/flows/menu.flow.yao", size: 813, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/flows/menu.flow.yao", size: 813, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1040,7 +1041,7 @@ func initFormsAccountFormYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/forms/account.form.yao", size: 1194, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/forms/account.form.yao", size: 1194, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1060,7 +1061,7 @@ func initIconsAppIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1080,7 +1081,7 @@ func initIconsAppIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1100,7 +1101,7 @@ func initIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1120,7 +1121,7 @@ func initLoginsAdminLoginYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logins/admin.login.yao", size: 302, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/logins/admin.login.yao", size: 302, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1140,7 +1141,7 @@ func initLogsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logs/README.md", size: 28, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/logs/README.md", size: 28, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1160,7 +1161,7 @@ func initModelsAdminUserModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/admin/user.mod.yao", size: 6416, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/models/admin/user.mod.yao", size: 6416, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1180,7 +1181,7 @@ func initModelsTestsPetModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/tests/pet.mod.yao", size: 525, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/models/tests/pet.mod.yao", size: 525, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1200,7 +1201,7 @@ func initNeoNeoYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/neo/neo.yml", size: 724, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/neo/neo.yml", size: 724, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1220,7 +1221,7 @@ func initPublicReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/README.md", size: 108, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/README.md", size: 108, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1240,7 +1241,7 @@ func initPublicAssetsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1260,7 +1261,7 @@ func initPublicAssetsImagesIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1280,7 +1281,7 @@ func initPublicAssetsImagesLogosLogo_colorSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1300,7 +1301,7 @@ func initPublicAssetsImagesLogosWordmarkSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1320,7 +1321,7 @@ func initPublicAssetsLibsuiMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/libsui.min.js", size: 12569, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/assets/libsui.min.js", size: 12569, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1340,7 +1341,7 @@ func initPublicAssetsLibsuiMinJsMap() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/libsui.min.js.map", size: 38553, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/assets/libsui.min.js.map", size: 38553, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1360,7 +1361,7 @@ func initPublicIndexCfg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/index.cfg", size: 85, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/index.cfg", size: 85, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1380,7 +1381,7 @@ func initPublicIndexSui() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/index.sui", size: 5682, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/public/index.sui", size: 5682, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1400,7 +1401,7 @@ func initScriptsAccountTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/account.ts", size: 2521, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/scripts/account.ts", size: 2521, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1420,7 +1421,7 @@ func initScriptsAiNeoTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/ai/neo.ts", size: 375, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/scripts/ai/neo.ts", size: 375, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1440,7 +1441,7 @@ func initScriptsTestsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/tests.ts", size: 1044, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/scripts/tests.ts", size: 1044, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1460,7 +1461,7 @@ func initScriptsUtilsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/utils.ts", size: 1230, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/scripts/utils.ts", size: 1230, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1480,7 +1481,7 @@ func initSuisWebSuiYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/suis/web.sui.yao", size: 675, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/suis/web.sui.yao", size: 675, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1500,7 +1501,7 @@ func initTablesAccountTabYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tables/account.tab.yao", size: 5597, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/tables/account.tab.yao", size: 5597, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1520,7 +1521,7 @@ func initTsconfigJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tsconfig.json", size: 178, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "init/tsconfig.json", size: 178, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1540,7 +1541,7 @@ func libsuiAgentTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/agent.ts", size: 15267, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "libsui/agent.ts", size: 15267, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1560,7 +1561,7 @@ func libsuiIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/index.ts", size: 13049, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "libsui/index.ts", size: 13049, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1580,7 +1581,7 @@ func libsuiUtilsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/utils.ts", size: 5959, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "libsui/utils.ts", size: 5959, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1600,7 +1601,7 @@ func libsuiYaoTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/yao.ts", size: 4338, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "libsui/yao.ts", size: 4338, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1620,7 +1621,7 @@ func publicIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1640,7 +1641,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1660,7 +1661,7 @@ func yaoDataIcons404Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1680,7 +1681,7 @@ func yaoDataIconsIconIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1700,7 +1701,7 @@ func yaoDataIconsIconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1720,7 +1721,7 @@ func yaoDataIconsIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1740,7 +1741,7 @@ func yaoDataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1760,7 +1761,7 @@ func yaoFieldsModelTransJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14938, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14938, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1780,7 +1781,7 @@ func yaoLangsEnUsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1800,7 +1801,7 @@ func yaoLangsZhCnGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1820,7 +1821,7 @@ func yaoLangsZhCnLoginsAdminLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1840,7 +1841,7 @@ func yaoLangsZhCnLoginsUserLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1860,7 +1861,7 @@ func yaoLangsZhHkGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1880,7 +1881,7 @@ func yaoLangsZhHkLoginsAdminLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1900,7 +1901,7 @@ func yaoLangsZhHkLoginsUserLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1920,7 +1921,7 @@ func yaoModelsAssistantModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/assistant.mod.yao", size: 4114, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/assistant.mod.yao", size: 4114, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1940,7 +1941,7 @@ func yaoModelsAttachmentModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/attachment.mod.yao", size: 3865, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/attachment.mod.yao", size: 3865, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1960,7 +1961,7 @@ func yaoModelsAuditModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/audit.mod.yao", size: 5588, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/audit.mod.yao", size: 5588, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1980,7 +1981,7 @@ func yaoModelsChatModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/chat.mod.yao", size: 1444, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/chat.mod.yao", size: 1444, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2000,7 +2001,7 @@ func yaoModelsConfigModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/config.mod.yao", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/config.mod.yao", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2020,7 +2021,7 @@ func yaoModelsDslModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/dsl.mod.yao", size: 3806, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/dsl.mod.yao", size: 3806, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2040,7 +2041,7 @@ func yaoModelsHistoryModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/history.mod.yao", size: 2902, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/history.mod.yao", size: 2902, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2060,7 +2061,7 @@ func yaoModelsKbModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/kb.mod.yao", size: 2881, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/kb.mod.yao", size: 2881, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2080,7 +2081,27 @@ func yaoModelsUserModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/user.mod.yao", size: 10200, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/models/user.mod.yao", size: 10200, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _yaoModelsUser_oauth_accountModYao = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x59\x4d\x6f\xdb\x38\x10\xbd\xe7\x57\x0c\xb4\x87\x4d\x80\x38\x1f\x05\x72\x31\xb0\x87\xb4\xd9\x14\x01\x92\xb4\x48\x91\x2d\xb2\x8b\x85\x40\x51\x63\x89\x0d\x45\xaa\xfc\x70\xe2\x0d\xf2\xdf\x17\x24\x2d\x5b\x96\xe4\xd8\x12\xea\xf4\x52\x85\x9a\x19\xbe\x37\x7c\x43\x91\xe3\x97\x3d\x80\x48\x90\x02\xa3\x31\x44\xf7\x1a\x15\x7c\x39\xb7\x26\x87\x73\x4a\xa5\x15\x26\x3a\x74\xef\x39\x49\x90\xbf\x65\x90\xa2\xa6\x8a\x95\x86\x49\x51\x99\xfd\xae\xc1\xe4\x4c\xa5\xa3\x92\x28\x33\x9b\x3b\x91\xe0\x04\x4c\x4c\xa4\x2a\x88\xb3\x07\x6d\xa4\x22\x19\x86\x40\x86\x64\x3a\x1a\xc3\x3f\x91\xd5\xa8\xa2\x43\x88\x24\xb1\x26\x77\x0f\x5a\x52\x46\xb8\x7b\xc2\x67\x83\x4a\x84\xe7\x52\xc9\x29\x4b\x51\x45\xff\xce\xdd\x13\xee\x98\x38\x56\x35\x5e\x2e\x58\xec\x23\xc5\xa4\x06\x1b\x20\xa2\xb2\x28\x50\x98\xc1\xa0\xf7\x00\x5e\xfd\xcc\x54\x72\x5b\x08\x8f\xdd\x47\x3e\x3e\x86\x3f\x7e\xe1\xbf\x2a\xe6\x47\xa2\x19\x85\x4b\x86\x3c\xd5\x3b\x9b\x27\x64\xaf\x96\x3f\x96\xce\xf3\xe5\x52\x3c\x2b\xfd\xd8\xd5\xc5\x72\x6c\xa1\x8f\xfa\x60\x2d\xb5\x5f\x15\x2b\x88\x9a\xc1\x23\xce\x80\xa5\x28\x0c\x9b\x30\xb7\xbc\x95\x69\x19\xde\x47\x63\x30\xca\xa2\x1f\x7d\x3d\xec\x86\xe2\x97\xb2\x0b\x8f\x36\x8a\x89\xac\x03\x93\xd7\xec\x1a\x60\x77\x38\x41\x85\x82\x22\x18\x09\x05\x61\x02\x5c\x7c\x58\x15\x89\x0b\x86\x22\x33\x79\x34\x86\x0f\x67\x67\x8b\x41\x61\x39\x9f\xeb\x6d\x42\xb8\xc6\xc5\x0b\x26\x52\x7c\xde\x86\xcc\x42\xbd\xdb\xb3\xf9\xda\x72\xa9\xd1\x09\x7a\xad\xa2\x82\x9b\x06\xf6\x33\x29\x33\x8e\x87\x40\xca\xd2\xfd\x97\x31\x93\xdb\xe4\x10\xd0\xd0\xa3\x83\x0e\x86\x67\x27\xc3\x09\xee\x48\xf4\x5f\xae\x2e\x3e\xc1\x37\x43\x44\x4a\x54\x0a\x9f\x38\x61\x85\x86\x89\x92\x05\x54\xd9\xa8\x2c\x17\xeb\x39\x86\xdc\x98\x52\x8f\x8f\x8f\x65\x89\x82\xa5\x47\x02\xcd\xb1\x2e\x91\xea\xf9\xc0\x88\x4a\x21\x90\x9a\x11\x95\x0a\x47\xa7\xf1\xc9\x51\x6e\x0a\xfe\x5b\x35\x4b\x98\xe4\xfd\x2a\x4c\xdb\xa4\x87\x08\xbe\xd9\xe4\x07\x52\xd3\xad\x01\x97\x2c\x1d\x0c\x6a\xc5\x06\xfb\xda\x26\x40\x1d\xad\x83\x90\xbb\xb6\xf8\x76\xa6\x72\xb7\x2a\x0a\xd3\xd8\x15\x97\x1f\xed\xa3\xf7\xb9\x33\xdc\xb7\x9c\x9b\xac\x17\x13\x41\x35\xd1\x46\xa6\xa7\x27\x9d\x72\xdf\xc8\x09\x0b\xc2\x78\x0f\x1a\x7f\xae\xda\x37\x91\xfb\x70\x40\xd2\x54\xa1\xd6\x43\x97\xc7\x81\xee\xbf\x3a\x7e\xea\x78\x8a\xca\xc9\xa4\x63\x5f\x4d\xa4\xe4\x48\xc4\x3a\x4e\xf0\x57\xcb\xb3\x9b\x5c\x98\x81\x56\x9f\x4f\x62\xec\x5a\xa2\x29\x4e\x88\xe5\xa6\xa5\xb8\x3e\x0b\xd4\x53\x66\x97\x96\x73\xb8\x7d\x53\x5d\x13\x67\xb2\x95\xa8\x3e\x0c\x14\x55\xc6\xa6\x28\xe2\x9e\xc8\x3f\x3b\xa7\x0d\xd0\x7d\x60\x8f\x7d\x5f\x1f\x80\x54\x30\x61\x4a\x9b\xc5\xc0\xae\x8a\x64\x42\x0a\xc6\x67\x7d\x09\x5d\x7a\xaf\x0d\x8c\xb4\x55\x35\x3a\x9c\xbc\x03\x9b\x82\xa5\x29\xc7\xbe\x6c\x6e\xbc\xd7\x06\x36\x21\xf4\xce\x19\x08\x46\x1f\x7b\xc2\xbf\x6d\xb9\x34\xb1\x53\xa2\x2d\xd9\xb2\x30\x86\x02\x2f\x95\x9c\x30\xde\xef\xb3\xd1\xf0\x68\x7f\x2b\xbc\x01\x94\x24\x43\xb8\xbf\xbb\xde\x88\xfd\x6c\x28\x76\x46\x8d\x55\xbd\xb0\x37\x3d\xd6\x62\x0f\x86\x3b\x85\xff\x84\x89\x66\xa6\x0f\xfc\xef\x4d\x8f\x26\xfc\x27\x4c\x42\xda\xa5\x82\x84\xcb\x6c\xa7\xf8\x33\x14\xfd\x0e\xd8\x9f\x1b\x0e\xad\xbd\xd4\xbf\xdf\xe2\x1b\x30\x08\x6e\xc2\x94\xc9\x53\xd2\x2b\xe1\x1f\xdb\x3e\x4d\xd0\xf3\xb0\xb3\x55\xd8\xb0\xff\xf0\xf0\xf0\x30\xba\xb9\x19\x5d\x5c\x40\xb8\xdb\x76\xdd\x08\x4e\x87\x51\xf9\x4f\x0a\x74\x57\xe6\x1e\x4c\xfe\x96\x02\xe1\x6a\xc5\xa7\xc9\xc4\xb0\x02\xc1\x85\xf6\xd7\xf1\x2d\x64\x33\x08\x3b\x97\x94\xf4\xda\x6f\xae\x1b\x0e\x4d\xd8\x21\x60\x33\xfd\x9c\x88\xcc\x92\x0c\x47\xfe\xba\xa9\x66\x5d\xd9\x1f\x28\xa4\x32\x97\x02\x63\x61\x8b\xa4\xdf\xf5\xd2\xb9\xc1\x6d\xc3\xad\xb5\x01\x79\xab\x10\x7c\x57\x4b\x50\x27\x30\xe8\x78\x5a\xa7\xb2\xc5\x29\x35\x70\x7a\xe7\x53\xea\xfc\xc4\xdf\xa6\xf5\x43\xcb\x2e\x4e\xe7\x4d\xfb\x36\x8b\x99\x66\x94\x70\x70\x67\x6e\x26\xb2\xee\x3b\x05\xec\x6b\xa3\xac\xff\x78\xa4\x35\xcd\xad\x41\xde\x0d\x5d\x91\xa7\xad\x61\xdf\xd5\x6d\x9b\x90\xa5\x62\x19\x13\x84\x87\xd6\x8b\xaf\x6a\x85\xba\x94\x42\xaf\x3d\x50\xbc\x05\x74\x47\x3d\x88\x79\xbb\x13\x6e\x88\x20\x19\x3a\x02\xef\xde\x85\x73\xa7\xdc\x98\xcb\x8c\x89\x98\x98\x76\xee\xdd\xce\xa8\x0d\x29\xca\xae\xed\xc9\x1d\x90\xaf\x9d\x2b\x9c\x77\xb7\x0d\xbc\x85\x0f\x0e\x53\x46\xc0\xe4\x4c\xc3\x6a\x3b\x69\x6d\xfa\xfb\xdf\x39\x99\x8e\x09\x35\x6c\xda\xb1\xc3\xae\xaf\xe7\x2b\x0d\xe7\x0d\xa7\x1a\xfe\xef\x39\x9a\x1c\x55\x1d\xf8\xa2\x6f\xab\x41\x1b\xc6\x39\x34\xe7\x5c\x56\xf0\x06\x1a\x7b\x00\xa1\xbf\xec\x5f\xe1\xb2\xcb\xdb\xd1\x29\x7d\x8e\x6b\xdd\x66\xff\xd8\x4e\x60\xad\x59\xbc\x6c\x68\x36\x9b\xd9\x2b\x69\xb1\x82\xfd\xb4\xdd\xcc\xef\xfd\x2b\xa0\x52\x68\xa3\x08\x13\x66\x0c\x6e\x27\xab\xd8\x97\xa8\x96\x75\xef\xfe\xf0\x9d\xf5\xb7\x97\x67\x95\x44\xe5\x1d\xaf\x34\xa9\xea\x1c\x96\x0c\x43\x27\xeb\x57\xe0\x57\x48\xa5\x4a\x57\xe1\x2f\x5a\x58\xbd\xf0\x63\xb3\xf7\xd2\x0d\x3c\x98\xb5\xa1\x07\x39\x74\x21\xbf\x72\x6f\xdc\xc1\x69\xde\xe2\xe0\x52\x3e\xda\x52\x43\x32\x5b\x16\x4d\x1f\xa0\x4d\x7d\xd6\x91\xd6\x4a\xa6\xb9\x13\x0c\x83\x1c\xa2\x2d\x64\xf2\xd3\xa2\x62\xa8\xa3\x86\xe0\x15\x72\xff\x2d\x74\x20\x5e\xc2\x2f\x1d\x53\xc2\x6d\x28\x81\x60\x22\xab\x9f\x7d\x5e\x6a\x7b\x90\xae\x8a\x0a\x22\x2d\x27\x26\x4e\x91\xa3\xc1\x6a\x14\x5e\xf7\x5e\xf7\xfe\x0f\x00\x00\xff\xff\xfd\x0e\x87\x45\x7a\x1a\x00\x00") + +func yaoModelsUser_oauth_accountModYaoBytes() ([]byte, error) { + return bindataRead( + _yaoModelsUser_oauth_accountModYao, + "yao/models/user_oauth_account.mod.yao", + ) +} + +func yaoModelsUser_oauth_accountModYao() (*asset, error) { + bytes, err := yaoModelsUser_oauth_accountModYaoBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "yao/models/user_oauth_account.mod.yao", size: 6778, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2100,7 +2121,7 @@ func yaoReleaseAppYaz() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2120,7 +2141,7 @@ func yaoStoresAgentCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/agent/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2140,7 +2161,7 @@ func yaoStoresAgentMemoryBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/memory.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/agent/memory.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2160,7 +2181,7 @@ func yaoStoresCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/cache.lru.yao", size: 285, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/cache.lru.yao", size: 285, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2180,7 +2201,7 @@ func yaoStoresKbCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/kb/cache.lru.yao", size: 304, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/kb/cache.lru.yao", size: 304, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2200,7 +2221,7 @@ func yaoStoresKbStoreBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/kb/store.badger.yao", size: 349, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/kb/store.badger.yao", size: 349, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2220,7 +2241,7 @@ func yaoStoresOauthCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2240,7 +2261,7 @@ func yaoStoresOauthClientBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/client.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/client.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2260,7 +2281,7 @@ func yaoStoresOauthStoreBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/store.badger.yao", size: 376, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/store.badger.yao", size: 376, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2280,7 +2301,7 @@ func yaoStoresStoreBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/store.badger.yao", size: 341, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/stores/store.badger.yao", size: 341, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2300,7 +2321,7 @@ func yaoUploadersAttachmentLocalYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/uploaders/attachment.local.yao", size: 1131, mode: os.FileMode(420), modTime: time.Unix(1754100796, 0)} + info := bindataFileInfo{name: "yao/uploaders/attachment.local.yao", size: 1131, mode: os.FileMode(420), modTime: time.Unix(1754102030, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2448,6 +2469,7 @@ var _bindata = map[string]func() (*asset, error){ "yao/models/history.mod.yao": yaoModelsHistoryModYao, "yao/models/kb.mod.yao": yaoModelsKbModYao, "yao/models/user.mod.yao": yaoModelsUserModYao, + "yao/models/user_oauth_account.mod.yao": yaoModelsUser_oauth_accountModYao, "yao/release/app.yaz": yaoReleaseAppYaz, "yao/stores/agent/cache.lru.yao": yaoStoresAgentCacheLruYao, "yao/stores/agent/memory.badger.yao": yaoStoresAgentMemoryBadgerYao, @@ -2682,15 +2704,16 @@ var _bintree = &bintree{nil, map[string]*bintree{ }}, }}, "models": {nil, map[string]*bintree{ - "assistant.mod.yao": {yaoModelsAssistantModYao, map[string]*bintree{}}, - "attachment.mod.yao": {yaoModelsAttachmentModYao, map[string]*bintree{}}, - "audit.mod.yao": {yaoModelsAuditModYao, map[string]*bintree{}}, - "chat.mod.yao": {yaoModelsChatModYao, map[string]*bintree{}}, - "config.mod.yao": {yaoModelsConfigModYao, map[string]*bintree{}}, - "dsl.mod.yao": {yaoModelsDslModYao, map[string]*bintree{}}, - "history.mod.yao": {yaoModelsHistoryModYao, map[string]*bintree{}}, - "kb.mod.yao": {yaoModelsKbModYao, map[string]*bintree{}}, - "user.mod.yao": {yaoModelsUserModYao, map[string]*bintree{}}, + "assistant.mod.yao": {yaoModelsAssistantModYao, map[string]*bintree{}}, + "attachment.mod.yao": {yaoModelsAttachmentModYao, map[string]*bintree{}}, + "audit.mod.yao": {yaoModelsAuditModYao, map[string]*bintree{}}, + "chat.mod.yao": {yaoModelsChatModYao, map[string]*bintree{}}, + "config.mod.yao": {yaoModelsConfigModYao, map[string]*bintree{}}, + "dsl.mod.yao": {yaoModelsDslModYao, map[string]*bintree{}}, + "history.mod.yao": {yaoModelsHistoryModYao, map[string]*bintree{}}, + "kb.mod.yao": {yaoModelsKbModYao, map[string]*bintree{}}, + "user.mod.yao": {yaoModelsUserModYao, map[string]*bintree{}}, + "user_oauth_account.mod.yao": {yaoModelsUser_oauth_accountModYao, map[string]*bintree{}}, }}, "release": {nil, map[string]*bintree{ "app.yaz": {yaoReleaseAppYaz, map[string]*bintree{}}, diff --git a/model/model.go b/model/model.go index fd0d9aa5..777ea7a0 100644 --- a/model/model.go +++ b/model/model.go @@ -20,15 +20,16 @@ import ( // SystemModels system models var systemModels = map[string]string{ - "__yao.assistant": "yao/models/assistant.mod.yao", - "__yao.attachment": "yao/models/attachment.mod.yao", - "__yao.audit": "yao/models/audit.mod.yao", - "__yao.chat": "yao/models/chat.mod.yao", - "__yao.config": "yao/models/config.mod.yao", - "__yao.dsl": "yao/models/dsl.mod.yao", - "__yao.history": "yao/models/history.mod.yao", - "__yao.kb": "yao/models/kb.mod.yao", - "__yao.user": "yao/models/user.mod.yao", + "__yao.assistant": "yao/models/assistant.mod.yao", + "__yao.attachment": "yao/models/attachment.mod.yao", + "__yao.audit": "yao/models/audit.mod.yao", + "__yao.chat": "yao/models/chat.mod.yao", + "__yao.config": "yao/models/config.mod.yao", + "__yao.dsl": "yao/models/dsl.mod.yao", + "__yao.history": "yao/models/history.mod.yao", + "__yao.kb": "yao/models/kb.mod.yao", + "__yao.user": "yao/models/user.mod.yao", + "__yao.user_oauth_account": "yao/models/user_oauth_account.mod.yao", } // Load load models diff --git a/test/utils.go b/test/utils.go index 44f71397..09ec95cc 100644 --- a/test/utils.go +++ b/test/utils.go @@ -36,15 +36,16 @@ var testServer *http.Server = nil // SystemModels system models for testing var testSystemModels = map[string]string{ - "__yao.assistant": "yao/models/assistant.mod.yao", - "__yao.attachment": "yao/models/attachment.mod.yao", - "__yao.audit": "yao/models/audit.mod.yao", - "__yao.chat": "yao/models/chat.mod.yao", - "__yao.config": "yao/models/config.mod.yao", - "__yao.dsl": "yao/models/dsl.mod.yao", - "__yao.history": "yao/models/history.mod.yao", - "__yao.kb": "yao/models/kb.mod.yao", - "__yao.user": "yao/models/user.mod.yao", + "__yao.assistant": "yao/models/assistant.mod.yao", + "__yao.attachment": "yao/models/attachment.mod.yao", + "__yao.audit": "yao/models/audit.mod.yao", + "__yao.chat": "yao/models/chat.mod.yao", + "__yao.config": "yao/models/config.mod.yao", + "__yao.dsl": "yao/models/dsl.mod.yao", + "__yao.history": "yao/models/history.mod.yao", + "__yao.kb": "yao/models/kb.mod.yao", + "__yao.user": "yao/models/user.mod.yao", + "__yao.user_oauth_account": "yao/models/user_oauth_account.mod.yao", } var testSystemStores = map[string]string{ diff --git a/yao/models/user_oauth_account.mod.yao b/yao/models/user_oauth_account.mod.yao new file mode 100644 index 00000000..27633c06 --- /dev/null +++ b/yao/models/user_oauth_account.mod.yao @@ -0,0 +1,255 @@ +{ + "name": "User OAuth Account", + "label": "User OAuth Account", + "description": "User's third-party OAuth account information storage", + "tags": ["user", "oauth", "social", "external", "provider"], + "table": { + "name": "user_oauth_account", + "comment": "User's third-party OAuth account information storage" + }, + "columns": [ + // ============================================================================ + // Basic Fields + // ============================================================================ + { + "name": "id", + "type": "ID", + "label": "ID", + "comment": "Primary key identifier", + "primary": true + }, + { + "name": "user_id", + "type": "string", + "label": "User ID", + "comment": "Reference to main user account", + "length": 255, + "nullable": false, + "index": true + }, + { + "name": "provider", + "type": "string", + "label": "Provider", + "comment": "OAuth provider name (google, apple, github, etc.)", + "length": 50, + "nullable": false, + "index": true + }, + + // ============================================================================ + // OIDC Standard Claims from Provider + // Reference: https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + // ============================================================================ + { + "name": "sub", + "type": "string", + "label": "Subject", + "comment": "OIDC subject identifier (sub claim) from provider", + "length": 255, + "nullable": false, + "index": true + }, + { + "name": "preferred_username", + "type": "string", + "label": "Preferred Username", + "comment": "OIDC preferred username from provider", + "length": 100, + "nullable": true + }, + { + "name": "email", + "type": "string", + "label": "Email", + "comment": "OIDC email address from provider", + "length": 255, + "nullable": true, + "index": true + }, + { + "name": "email_verified", + "type": "boolean", + "label": "Email Verified", + "comment": "OIDC email verification status from provider", + "default": false, + "nullable": true + }, + { + "name": "name", + "type": "string", + "label": "Full Name", + "comment": "OIDC full name from provider", + "length": 200, + "nullable": true + }, + { + "name": "given_name", + "type": "string", + "label": "Given Name", + "comment": "OIDC given name(s) or first name(s) from provider", + "length": 100, + "nullable": true + }, + { + "name": "family_name", + "type": "string", + "label": "Family Name", + "comment": "OIDC surname(s) or last name(s) from provider", + "length": 100, + "nullable": true + }, + { + "name": "middle_name", + "type": "string", + "label": "Middle Name", + "comment": "OIDC middle name(s) from provider", + "length": 100, + "nullable": true + }, + { + "name": "nickname", + "type": "string", + "label": "Nickname", + "comment": "OIDC casual name from provider", + "length": 100, + "nullable": true + }, + { + "name": "profile", + "type": "string", + "label": "Profile", + "comment": "OIDC profile page URL from provider", + "length": 500, + "nullable": true + }, + { + "name": "picture", + "type": "string", + "label": "Picture", + "comment": "OIDC profile picture URL from provider", + "length": 500, + "nullable": true + }, + { + "name": "website", + "type": "string", + "label": "Website", + "comment": "OIDC web page or blog URL from provider", + "length": 500, + "nullable": true + }, + { + "name": "gender", + "type": "string", + "label": "Gender", + "comment": "OIDC gender from provider", + "length": 20, + "nullable": true + }, + { + "name": "birthdate", + "type": "string", + "label": "Birthdate", + "comment": "OIDC birthday from provider (YYYY-MM-DD format)", + "length": 10, + "nullable": true + }, + { + "name": "zoneinfo", + "type": "string", + "label": "Zone Info", + "comment": "OIDC time zone info from provider", + "length": 50, + "nullable": true + }, + { + "name": "locale", + "type": "string", + "label": "Locale", + "comment": "OIDC locale from provider (language-country)", + "length": 20, + "nullable": true + }, + { + "name": "phone_number", + "type": "string", + "label": "Phone Number", + "comment": "OIDC phone number from provider", + "length": 50, + "nullable": true + }, + { + "name": "phone_number_verified", + "type": "boolean", + "label": "Phone Number Verified", + "comment": "OIDC phone verification status from provider", + "default": false, + "nullable": true + }, + { + "name": "address", + "type": "json", + "label": "Address", + "comment": "OIDC physical mailing address from provider (structured)", + "nullable": true + }, + + { + "name": "raw", + "type": "json", + "label": "Raw", + "comment": "OIDC original user info response from provider", + "nullable": true + }, + + // ============================================================================ + // Account Management Fields + // ============================================================================ + { + "name": "last_login_at", + "type": "timestamp", + "label": "Last Login At", + "comment": "Last login via this OAuth provider", + "nullable": true, + "index": true + }, + { + "name": "is_active", + "type": "boolean", + "label": "Is Active", + "comment": "Whether this OAuth account is still active", + "default": true, + "index": true + } + ], + "indexes": [ + { + "name": "idx_user_oauth_user_provider", + "columns": ["user_id", "provider"], + "type": "unique", + "comment": "Unique constraint: one account per provider per user" + }, + { + "name": "idx_user_oauth_provider_sub", + "columns": ["provider", "sub"], + "type": "unique", + "comment": "Unique constraint: one record per provider sub claim" + }, + { + "name": "idx_user_oauth_email", + "columns": ["provider", "email"], + "type": "index", + "comment": "Index for email lookups by provider" + }, + { + "name": "idx_user_oauth_active", + "columns": ["is_active", "last_login_at"], + "type": "index", + "comment": "Index for active account queries" + } + ], + "relations": {}, + "values": [], + "option": { "timestamps": true, "soft_deletes": true } +}