दस्तावेज़
प्लग-इन
प्लगइन रजिस्ट्री, पैकेज इंस्टॉलेशन, कॉन्फ़िगरेशन, सक्षम/अक्षम, और प्लगइन संपत्तियां प्रदान की गईं।
स्वचालित अनुवाद अभी उपलब्ध नहीं है; पाठ अंग्रेज़ी में है और इंटरफ़ेस आपकी भाषा में है। अंग्रेज़ी मूल देखें
इन अनुरोधों को अपने स्वयं के चल रहे साइडकार को भेजें। मान इस ब्राउज़र में रहते हैं.
यह कैसे काम करता है
साइडकार स्टार्टअप पर चुने गए लूपबैक पोर्ट पर सुनता है और इसे प्रिंट करता है ready रेखा; उस यूआरएल का उपयोग करें और CADCAMFUN_TOKEN इसकी शुरुआत की गई थी. अनुरोध सीधे इस पृष्ठ से उस पते पर जाते हैं।
साइडकार CORS हेडर को केवल टौरी मूल और तक भेजता है http://localhost या http://127.0.0.1 किसी भी बंदरगाह पर. होस्ट किए गए दस्तावेज़ों से ब्राउज़र प्रतिक्रिया को अवरुद्ध कर देता है, इसलिए दस्तावेज़ों को स्थानीय रूप से चलाएँ (bun run dev में packages/web) खेल के मैदान का उपयोग करने के लिए, या अनुरोध को कर्ल के रूप में कॉपी करें। वास्तविक डेटा को छुए बिना प्रयोग करने के लिए, साइडकार से शुरुआत करें CADCAMFUN_DATA_DIR एक बेकार निर्देशिका की ओर इशारा किया - देखें एपीआई वॉकथ्रू.
संचालन
16 एंडपॉइंट plugins समूह, साइडकार के स्वयं से उत्पन्न ओपनएपीआई दस्तावेज़. संरक्षित संचालन लेते हैं Authorization: Bearer $CADCAMFUN_TOKEN; देखना प्रमाणीकरण. व्यवहार और मर्यादा में हैं सबसिस्टम गाइड.
| डाक | /api/plugins/install | plugins.install |
| पाना | /api/plugins/bootstrap.js | plugins.bootstrap |
| पाना | /api/plugins/serve | plugins.serve |
| पाना | /api/plugins | plugins.list |
| पाना | /api/plugins/{id} | plugins.get |
| मिटाना | /api/plugins/{id} | plugins.uninstall |
| पाना | /api/plugins/{id}/config | plugins.getConfig |
| डाक | /api/plugins/{id}/config | plugins.setConfig |
| रखना | /api/plugins/{id}/config | plugins.updateConfig |
| डाक | /api/plugins/{id}/enable | plugins.enable |
| डाक | /api/plugins/{id}/disable | plugins.disable |
| रखना | /api/plugins/{id}/update | plugins.update |
| पैबंद | /api/plugins/{id}/update | plugins.patch |
| पाना | /api/plugins/registry | plugins.registry |
| पाना | /api/plugins/registry/{id} | plugins.registryGet |
| पाना | /api/plugins/registry/search | plugins.registrySearch |
/api/plugins/install
plugins.install आवश्यक है Authorization: Bearer <token>.
{ file: string[] }
201 वस्तु application/json
{ message: string plugin: { id: string manifest: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | "Infinity" | "-Infinity" | "NaN" | null maximum?: number | null pattern?: string | null } } } | null } state: "none" | "installed" | "enabled" | "disabled" | "loaded" | "activated" | "deactivated" | "error" enabled: boolean version: string installedAt: string updatedAt: string config?: object | null configurationId?: string | null errorCount: number | "Infinity" | "-Infinity" | "NaN" lastError?: string | null } }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
409 PluginConflictEncoded application/json
PluginConflictEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/plugins/install`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/plugins/install" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--data-binary @request-body इसे अजमाएं
यह ऑपरेशन मल्टीपार्ट/फॉर्म-डेटा लेता है; कर्ल या फ़ेच उदाहरण का उपयोग करें।
/api/plugins/bootstrap.js
plugins.bootstrap आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | सवाल | डोरी | आवश्यक |
200 डोरी application/javascript
string 400 डोरी application/javascript
string 401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 डोरी application/javascript
string 500 डोरी application/javascript
string उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/plugins/bootstrap.js`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/bootstrap.js?id=<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/plugins/serve
plugins.serve आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | सवाल | डोरी | आवश्यक |
| फ़ाइल | सवाल | डोरी | आवश्यक |
200 डोरी application/octet-stream
string 400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/plugins/serve`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/serve?id=<id>&file=<file>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/plugins
plugins.list आवश्यक है Authorization: Bearer <token>.
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string manifest: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | "Infinity" | "-Infinity" | "NaN" | null maximum?: number | null pattern?: string | null } } } | null } state: "none" | "installed" | "enabled" | "disabled" | "loaded" | "activated" | "deactivated" | "error" enabled: boolean version: string installedAt: string updatedAt: string config?: object | null configurationId?: string | null errorCount: number | "Infinity" | "-Infinity" | "NaN" lastError?: string | null }>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
[] एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.plugins.list() curl
curl --request GET "${CADCAMFUN_URL}/api/plugins" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.get आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ id: string manifest: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | "Infinity" | "-Infinity" | "NaN" | null maximum?: number | null pattern?: string | null } } } | null } state: "none" | "installed" | "enabled" | "disabled" | "loaded" | "activated" | "deactivated" | "error" enabled: boolean version: string installedAt: string updatedAt: string config?: object | null configurationId?: string | null errorCount: number | "Infinity" | "-Infinity" | "NaN" lastError?: string | null }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsGetInput
const result = await client.plugins.get({
id: "<id>"
}) curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.uninstall आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ message: string }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsUninstallInput
const result = await client.plugins.uninstall({
id: "<id>"
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/plugins/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.getConfig आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
object 400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsGetConfigInput
const result = await client.plugins.getConfig({
id: "<id>"
}) curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/<id>/config" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.setConfig आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
object 200 वस्तु application/json
{ message: string }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsSetConfigInput
const result = await client.plugins.setConfig({
id: "<id>"
}) curl
curl --request POST "${CADCAMFUN_URL}/api/plugins/<id>/config" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
plugins.updateConfig आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
object 200 वस्तु application/json
{ message: string }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsUpdateConfigInput
const result = await client.plugins.updateConfig({
id: "<id>"
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/plugins/<id>/config" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
plugins.enable आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ message: string }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsEnableInput
const result = await client.plugins.enable({
id: "<id>"
}) curl
curl --request POST "${CADCAMFUN_URL}/api/plugins/<id>/enable" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.disable आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ message: string }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsDisableInput
const result = await client.plugins.disable({
id: "<id>"
}) curl
curl --request POST "${CADCAMFUN_URL}/api/plugins/<id>/disable" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.update आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
{ manifest?: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | null maximum?: number | null pattern?: string | null } } } | null } | null config?: object | null }
200 वस्तु application/json
{ id: string manifest: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | "Infinity" | "-Infinity" | "NaN" | null maximum?: number | null pattern?: string | null } } } | null } state: "none" | "installed" | "enabled" | "disabled" | "loaded" | "activated" | "deactivated" | "error" enabled: boolean version: string installedAt: string updatedAt: string config?: object | null configurationId?: string | null errorCount: number | "Infinity" | "-Infinity" | "NaN" lastError?: string | null }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsUpdateInput
const result = await client.plugins.update({
id: "<id>",
manifest: {
id: "",
name: "",
version: "",
description: "",
author: "",
main: "",
engines: {
cadcam: ""
},
permissions: [
"model:read"
]
},
config: {}
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/plugins/<id>/update" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
plugins.patch आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
{ manifest?: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | null maximum?: number | null pattern?: string | null } } } | null } | null config?: object | null }
200 वस्तु application/json
{ id: string manifest: { id: string name: string version: string description: string author: string repository?: string | null license?: string | null icon?: string | null main: string engines: { cadcam: string } permissions: Array<"model:read" | "model:write" | "model:selection" | "ui:sidebar" | "ui:toolbar" | "ui:contextMenu" | "ui:propertyPanel" | "ui:modal" | "ui:overlay" | "storage:local" | "storage:sync" | "file:read" | "file:write" | "file:downloads" | "network:origin" | "network:external" | "system:clipboard" | "system:notifications" | "ui:fullscreen" | "device:camera" | "device:microphone"> dependencies?: { [key: string]: string } | null contributes?: { sidebar?: { title: string icon: string entry: string } | null commands?: Array<{ id: string title: string icon?: string | null keybinding?: string | null }> | null menus?: { toolbar?: Array<{ command: string group?: string | null when?: string | null priority?: number | "Infinity" | "-Infinity" | "NaN" | null }> | null contextMenu?: Array<{ command: string group?: string | null } | null propertyPanel?: Array<{ id: string title: string entry: string appliesTo?: string | null themes?: Array<{ id: string label: string path: string }> | null } | null configuration?: { properties: { [key: string]: { type: string default?: unknown | null description?: string | null enum?: unknown[] | null minimum?: number | "Infinity" | "-Infinity" | "NaN" | null maximum?: number | null pattern?: string | null } } } | null } state: "none" | "installed" | "enabled" | "disabled" | "loaded" | "activated" | "deactivated" | "error" enabled: boolean version: string installedAt: string updatedAt: string config?: object | null configurationId?: string | null errorCount: number | "Infinity" | "-Infinity" | "NaN" lastError?: string | null }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsPatchInput
const result = await client.plugins.patch({
id: "<id>",
manifest: {
id: "",
name: "",
version: "",
description: "",
author: "",
main: "",
engines: {
cadcam: ""
},
permissions: [
"model:read"
]
},
config: {}
}) curl
curl --request PATCH "${CADCAMFUN_URL}/api/plugins/<id>/update" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/plugins/registry
plugins.registry आवश्यक है Authorization: Bearer <token>.
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string name: string version: string description: string author: string entryPoint: string homepage?: string | null repository?: string | null dependencies: { [key: string]: string } permissions: string[] extensionPoints: string[] minAppVersion: string maxAppVersion?: string | null }>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
[] एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.plugins.registry() curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/registry" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.registryGet आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ id: string name: string version: string description: string author: string entryPoint: string homepage?: string | null repository?: string | null dependencies: { [key: string]: string } permissions: string[] extensionPoints: string[] minAppVersion: string maxAppVersion?: string | null }
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 PluginNotFoundEncoded application/json
PluginNotFoundEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsRegistryGetInput
const result = await client.plugins.registryGet({
id: "<id>"
}) curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/registry/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
plugins.registrySearch आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| q | सवाल | डोरी | आवश्यक |
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string name: string version: string description: string author: string entryPoint: string homepage?: string | null repository?: string | null dependencies: { [key: string]: string } permissions: string[] extensionPoints: string[] minAppVersion: string maxAppVersion?: string | null }>
400 PluginBadRequestEncoded application/json
PluginBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 KeyedInternalEncoded application/json
KeyedInternalEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// PluginsRegistrySearchInput
const result = await client.plugins.registrySearch({}) curl
curl --request GET "${CADCAMFUN_URL}/api/plugins/registry/search?q=<q>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
स्कीमा
नामित स्कीमा इस समूह के मापदंडों, निकायों और प्रतिक्रियाओं से पहुंच योग्य हैं। ए ? एक वैकल्पिक फ़ील्ड चिह्नित करता है; | null उस फ़ील्ड को चिह्नित करता है जो शून्य मान के साथ मौजूद हो सकता है।
KeyedInternalEncoded{ _tag: "KeyedInternal" error: string }
PluginBadRequestEncoded{ _tag: "PluginBadRequest" error: string details?: string[] | null }
PluginConflictEncoded{ _tag: "PluginConflict" error: string }
PluginNotFoundEncoded{ _tag: "PluginNotFound" error: string }
इस समूह को कॉल किया जा रहा है
ऑपरेशन आईडी का फॉर्म है plugins.<name>. जनरेट किया गया प्रॉमिस SDK (@cadcamfun/api/sdk) उनमें से अधिकांश को इस रूप में उजागर करता है client.<namespace>.<method>(input), कहाँ input पथ पैरामीटर और बॉडी फ़ील्ड की एक सपाट वस्तु है; प्रत्येक कार्ड का एसडीके उदाहरण सटीक एक्सेसर और इनपुट प्रकार दिखाता है। मल्टीपार्ट अपलोड, बाइनरी या जावास्क्रिप्ट प्रतिक्रियाएँ और कच्चे वेबहुक उत्पन्न नहीं होते हैं; वे कार्ड दिखाते हैं fetch इसके बजाय.
import { CadCam, ClientError } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
try {
await client.projects.list()
} catch (error) {
if (error instanceof ClientError) {
// Transport | UnexpectedStatus | UnsupportedContentType | MalformedResponse | SseEventTooLarge
} else {
// a declared error body: switch on error._tag
}
} समस्या निवारण
| लक्षण | संभावित कारण | हल करना |
|---|---|---|
| हर कॉल पर 401 | पिछले लॉन्च से टोकन, या गायब Bearer उपसर्ग | भेजना Authorization: Bearer <token> टोकन के साथ साइडकार की शुरुआत की गई। |
| कुछ होने से पहले 400 | बॉडी या पैरामीटर स्कीमा से मेल नहीं खाता | कार्ड पर अनुरोध स्कीमा के साथ पेलोड की तुलना करें। |
| कहीं और दिखने वाले रिकॉर्ड पर 403 या 404 | एक्टिंग अकाउंट अलग है | सही भेजो x-session-token, या उस स्थानीय प्रोफ़ाइल का उपयोग करें जो रिकॉर्ड का स्वामी है। |
| 409 | विरोधाभासी स्थिति, जैसे डुप्लिकेट नाम या पुराना शाखा प्रमुख | संसाधन को दोबारा पढ़ें और वर्तमान डेटा के साथ पुनः प्रयास करें। |
| कोशिश करें यह कहता है "सीओआरएस द्वारा अवरुद्ध" | दस्तावेज़ गैर-लूपबैक मूल से परोसे जाते हैं | दस्तावेज़ों को स्थानीय रूप से चलाएँ या अनुरोध को कर्ल के रूप में कॉपी करें। |
| कनेक्शन नहीं हो सका | साइडकार एक नए बंदरगाह पर फिर से शुरू हुई | नए से पोर्ट पढ़ें ready पंक्ति. |