1 line
12 KiB
JSON
1 line
12 KiB
JSON
[{"data":1,"prerenderedAt":370},["ShallowReactive",2],{"navigation_docs":3,"-server-extension-usage-examples":145,"-server-extension-usage-examples-surround":365},[4,27,41,93],{"title":5,"path":6,"stem":7,"children":8,"icon":26},"Getting Started","\u002Fgetting-started","1.getting-started\u002F0.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Framework Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F1.architecture",{"title":15,"path":16,"stem":17},"Module Reference","\u002Fgetting-started\u002Fmodule-reference","1.getting-started\u002F2.module-reference",{"title":19,"path":20,"stem":21},"Development Guide","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F3.development",{"title":23,"path":24,"stem":25},"SurrealDB Setup","\u002Fgetting-started\u002Fsurrealdb-setup","1.getting-started\u002F4.surrealdb-setup","i-lucide-rocket",{"title":28,"path":29,"stem":30,"children":31},"Forge Server Extension","\u002Fserver-extension","2.server-extension\u002F0.index",[32,33,37],{"title":28,"path":29,"stem":30},{"title":34,"path":35,"stem":36},"Forge Server API Reference","\u002Fserver-extension\u002Fapi-reference","2.server-extension\u002F1.api-reference",{"title":38,"path":39,"stem":40},"Forge Server Usage Examples","\u002Fserver-extension\u002Fusage-examples","2.server-extension\u002F2.usage-examples",{"title":42,"path":43,"stem":44,"children":45,"icon":92},"Server Modules","\u002Fserver-modules","3.server-modules\u002F0.index",[46,48,52,56,60,64,68,72,76,80,84,88],{"title":47,"path":43,"stem":44},"Server Module Guides",{"title":49,"path":50,"stem":51},"Actor Usage Guide","\u002Fserver-modules\u002Factor","3.server-modules\u002F1.actor",{"title":53,"path":54,"stem":55},"Store Usage Guide","\u002Fserver-modules\u002Fstore","3.server-modules\u002F10.store",{"title":57,"path":58,"stem":59},"Task Usage Guide","\u002Fserver-modules\u002Ftask","3.server-modules\u002F11.task",{"title":61,"path":62,"stem":63},"Bank Usage Guide","\u002Fserver-modules\u002Fbank","3.server-modules\u002F2.bank",{"title":65,"path":66,"stem":67},"CAD Usage Guide","\u002Fserver-modules\u002Fcad","3.server-modules\u002F3.cad",{"title":69,"path":70,"stem":71},"Economy Usage Guide","\u002Fserver-modules\u002Feconomy","3.server-modules\u002F4.economy",{"title":73,"path":74,"stem":75},"Garage Usage Guide","\u002Fserver-modules\u002Fgarage","3.server-modules\u002F5.garage",{"title":77,"path":78,"stem":79},"Locker Usage Guide","\u002Fserver-modules\u002Flocker","3.server-modules\u002F6.locker",{"title":81,"path":82,"stem":83},"Organization Usage Guide","\u002Fserver-modules\u002Forganization","3.server-modules\u002F7.organization",{"title":85,"path":86,"stem":87},"Owned Storage Usage Guide","\u002Fserver-modules\u002Fowned-storage","3.server-modules\u002F8.owned-storage",{"title":89,"path":90,"stem":91},"Phone Usage Guide","\u002Fserver-modules\u002Fphone","3.server-modules\u002F9.phone","i-lucide-layers-3",{"title":94,"path":95,"stem":96,"children":97,"icon":144},"Client Addons","\u002Fclient-addons","4.client-addons\u002F0.index",[98,100,104,108,112,116,120,124,128,132,136,140],{"title":99,"path":95,"stem":96},"Client Usage Guide",{"title":101,"path":102,"stem":103},"Client Main Usage Guide","\u002Fclient-addons\u002Fmain","4.client-addons\u002F1.main",{"title":105,"path":106,"stem":107},"Client Phone Usage Guide","\u002Fclient-addons\u002Fphone","4.client-addons\u002F10.phone",{"title":109,"path":110,"stem":111},"Client Store Usage Guide","\u002Fclient-addons\u002Fstore","4.client-addons\u002F11.store",{"title":113,"path":114,"stem":115},"Client Common Usage Guide","\u002Fclient-addons\u002Fcommon","4.client-addons\u002F2.common",{"title":117,"path":118,"stem":119},"Client Actor Usage Guide","\u002Fclient-addons\u002Factor","4.client-addons\u002F3.actor",{"title":121,"path":122,"stem":123},"Client Bank Usage Guide","\u002Fclient-addons\u002Fbank","4.client-addons\u002F4.bank",{"title":125,"path":126,"stem":127},"Client CAD Usage Guide","\u002Fclient-addons\u002Fcad","4.client-addons\u002F5.cad",{"title":129,"path":130,"stem":131},"Client Garage Usage Guide","\u002Fclient-addons\u002Fgarage","4.client-addons\u002F6.garage",{"title":133,"path":134,"stem":135},"Client Locker Usage Guide","\u002Fclient-addons\u002Flocker","4.client-addons\u002F7.locker",{"title":137,"path":138,"stem":139},"Client Notifications Usage Guide","\u002Fclient-addons\u002Fnotifications","4.client-addons\u002F8.notifications",{"title":141,"path":142,"stem":143},"Client Organization Usage Guide","\u002Fclient-addons\u002Forganization","4.client-addons\u002F9.organization","i-lucide-monitor-smartphone",{"id":146,"title":38,"body":147,"description":157,"extension":360,"links":361,"meta":362,"navigation":343,"path":39,"seo":363,"stem":40,"__hash__":364},"docs\u002F2.server-extension\u002F2.usage-examples.md",{"type":148,"value":149,"toc":355},"minimark",[150,154,158,163,199,203,239,243,351],[151,152,38],"h1",{"id":153},"forge-server-usage-examples",[155,156,157],"p",{},"These examples use the domain command surface exposed by the extension.\nPersistence is handled by the server through SurrealDB.",[159,160,162],"h2",{"id":161},"status-check","Status Check",[164,165,170],"pre",{"className":166,"code":167,"language":168,"meta":169,"style":169},"language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[\"status\", []] call forge_server_extension_fnc_extCall params [\"_status\", \"_ok\"];\nif (_ok && {_status isEqualTo \"connected\"}) then {\n systemChat \"Forge persistence is online.\";\n};\n","sqf","",[171,172,173,181,187,193],"code",{"__ignoreMap":169},[174,175,178],"span",{"class":176,"line":177},"line",1,[174,179,180],{},"[\"status\", []] call forge_server_extension_fnc_extCall params [\"_status\", \"_ok\"];\n",[174,182,184],{"class":176,"line":183},2,[174,185,186],{},"if (_ok && {_status isEqualTo \"connected\"}) then {\n",[174,188,190],{"class":176,"line":189},3,[174,191,192],{}," systemChat \"Forge persistence is online.\";\n",[174,194,196],{"class":176,"line":195},4,[174,197,198],{},"};\n",[159,200,202],{"id":201},"actor-fetch","Actor Fetch",[164,204,206],{"className":166,"code":205,"language":168,"meta":169,"style":169},"private _uid = getPlayerUID player;\n[\"actor:get\", [_uid]] call forge_server_extension_fnc_extCall params [\"_payload\", \"_ok\"];\nif (_ok) then {\n private _actor = fromJSON _payload;\n systemChat format [\"Loaded actor %1\", _actor getOrDefault [\"uid\", _uid]];\n};\n",[171,207,208,213,218,223,228,234],{"__ignoreMap":169},[174,209,210],{"class":176,"line":177},[174,211,212],{},"private _uid = getPlayerUID player;\n",[174,214,215],{"class":176,"line":183},[174,216,217],{},"[\"actor:get\", [_uid]] call forge_server_extension_fnc_extCall params [\"_payload\", \"_ok\"];\n",[174,219,220],{"class":176,"line":189},[174,221,222],{},"if (_ok) then {\n",[174,224,225],{"class":176,"line":195},[174,226,227],{}," private _actor = fromJSON _payload;\n",[174,229,231],{"class":176,"line":230},5,[174,232,233],{}," systemChat format [\"Loaded actor %1\", _actor getOrDefault [\"uid\", _uid]];\n",[174,235,237],{"class":176,"line":236},6,[174,238,198],{},[159,240,242],{"id":241},"store-checkout","Store Checkout",[164,244,246],{"className":166,"code":245,"language":168,"meta":169,"style":169},"private _checkout = createHashMapFromArray [\n [\"requesterUid\", getPlayerUID player],\n [\"requesterName\", name player],\n [\"orgId\", \"default\"],\n [\"requesterIsDefaultOrgCeo\", false],\n [\"paymentMethod\", \"bank\"],\n [\"items\", [\n createHashMapFromArray [\n [\"classname\", \"FirstAidKit\"],\n [\"category\", \"item\"],\n [\"priceValue\", 50],\n [\"quantity\", 2]\n ]\n ]],\n [\"vehicles\", []]\n];\n\n[\"store:checkout\", [toJSON _checkout]] call forge_server_extension_fnc_extCall;\n",[171,247,248,253,258,263,268,273,278,284,290,296,302,308,314,320,326,332,338,345],{"__ignoreMap":169},[174,249,250],{"class":176,"line":177},[174,251,252],{},"private _checkout = createHashMapFromArray [\n",[174,254,255],{"class":176,"line":183},[174,256,257],{}," [\"requesterUid\", getPlayerUID player],\n",[174,259,260],{"class":176,"line":189},[174,261,262],{}," [\"requesterName\", name player],\n",[174,264,265],{"class":176,"line":195},[174,266,267],{}," [\"orgId\", \"default\"],\n",[174,269,270],{"class":176,"line":230},[174,271,272],{}," [\"requesterIsDefaultOrgCeo\", false],\n",[174,274,275],{"class":176,"line":236},[174,276,277],{}," [\"paymentMethod\", \"bank\"],\n",[174,279,281],{"class":176,"line":280},7,[174,282,283],{}," [\"items\", [\n",[174,285,287],{"class":176,"line":286},8,[174,288,289],{}," createHashMapFromArray [\n",[174,291,293],{"class":176,"line":292},9,[174,294,295],{}," [\"classname\", \"FirstAidKit\"],\n",[174,297,299],{"class":176,"line":298},10,[174,300,301],{}," [\"category\", \"item\"],\n",[174,303,305],{"class":176,"line":304},11,[174,306,307],{}," [\"priceValue\", 50],\n",[174,309,311],{"class":176,"line":310},12,[174,312,313],{}," [\"quantity\", 2]\n",[174,315,317],{"class":176,"line":316},13,[174,318,319],{}," ]\n",[174,321,323],{"class":176,"line":322},14,[174,324,325],{}," ]],\n",[174,327,329],{"class":176,"line":328},15,[174,330,331],{}," [\"vehicles\", []]\n",[174,333,335],{"class":176,"line":334},16,[174,336,337],{},"];\n",[174,339,341],{"class":176,"line":340},17,[174,342,344],{"emptyLinePlaceholder":343},true,"\n",[174,346,348],{"class":176,"line":347},18,[174,349,350],{},"[\"store:checkout\", [toJSON _checkout]] call forge_server_extension_fnc_extCall;\n",[352,353,354],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":169,"searchDepth":183,"depth":183,"links":356},[357,358,359],{"id":161,"depth":183,"text":162},{"id":201,"depth":183,"text":202},{"id":241,"depth":183,"text":242},"md",null,{},{"title":38,"description":157},"O2TDcTyKl2_BCCIWxjtCzQoYYhkNwSnA_sZaeMXSjNw",[366,368],{"title":34,"path":35,"stem":36,"description":367,"children":-1},"The Forge server extension exposes domain-oriented commands through\ncallExtension. Persistent data is stored through the configured SurrealDB\nconnection and schema modules.",{"title":47,"path":43,"stem":44,"description":369,"children":-1},"These pages document the authoritative server-side workflows in Forge.",1776806627742] |