mirror of
https://github.com/pocketbase/pocketbase.git
synced 2026-06-17 05:00:21 -04:00
148 lines
4.8 KiB
JavaScript
148 lines
4.8 KiB
JavaScript
export function docsDelete(collection) {
|
|
const baseURL = app.utils.getApiExampleURL();
|
|
|
|
const isSuperusersOnly = collection.deleteRule === null;
|
|
|
|
const responses = [
|
|
{
|
|
title: 204,
|
|
value: "null",
|
|
},
|
|
{
|
|
title: 400,
|
|
value: `
|
|
{
|
|
"status": 400,
|
|
"message": "Failed to delete record. Make sure that the record is not part of a required relation reference.",
|
|
"data": {}
|
|
}
|
|
`,
|
|
},
|
|
];
|
|
if (isSuperusersOnly) {
|
|
responses.push({
|
|
title: 403,
|
|
value: `
|
|
{
|
|
"status": 403,
|
|
"message": "Only superusers can access this action.",
|
|
"data": {}
|
|
}
|
|
`,
|
|
});
|
|
}
|
|
responses.push({
|
|
title: 404,
|
|
value: `
|
|
{
|
|
"status": 404,
|
|
"message": "The requested resource wasn't found.",
|
|
"data": {}
|
|
}
|
|
`,
|
|
});
|
|
|
|
return t.div(
|
|
{ pbEvent: "apiPreviewDelete", className: "content" },
|
|
// description
|
|
t.p(null, `Delete a single ${collection.name} record.`),
|
|
app.components.codeBlockTabs({
|
|
className: "sdk-examples m-t-sm",
|
|
historyKey: "pbLastSDK",
|
|
tabs: [
|
|
{
|
|
title: "JS SDK",
|
|
language: "js",
|
|
value: `
|
|
import PocketBase from 'pocketbase';
|
|
|
|
const pb = new PocketBase('${baseURL}');
|
|
|
|
...
|
|
|
|
await pb.collection('${collection.name}').delete('RECORD_ID');
|
|
`,
|
|
footnote: t.div(
|
|
{ className: "txt-right" },
|
|
t.a({
|
|
href: import.meta.env.PB_JS_SDK_URL,
|
|
target: "_blank",
|
|
rel: "noopener noreferrer",
|
|
textContent: "JS SDK docs",
|
|
}),
|
|
),
|
|
},
|
|
{
|
|
title: "Dart SDK",
|
|
language: "dart",
|
|
value: `
|
|
import 'package:pocketbase/pocketbase.dart';
|
|
|
|
final pb = PocketBase('${baseURL}');
|
|
|
|
...
|
|
|
|
await pb.collection('${collection.name}').delete('RECORD_ID');
|
|
`,
|
|
footnote: t.div(
|
|
{ className: "txt-right" },
|
|
t.a({
|
|
href: import.meta.env.PB_DART_SDK_URL,
|
|
target: "_blank",
|
|
rel: "noopener noreferrer",
|
|
textContent: "Dart SDK docs",
|
|
}),
|
|
),
|
|
},
|
|
{
|
|
title: "curl",
|
|
language: "bash",
|
|
value: `
|
|
curl -X DELETE \\
|
|
-H 'Authorization:TOKEN' \\
|
|
'${baseURL}/api/collections/${collection.name}/records/RECORD_ID'
|
|
`,
|
|
},
|
|
],
|
|
}),
|
|
// api
|
|
t.div({ className: "block m-t-base" }, t.strong(null, "API details")),
|
|
t.div(
|
|
{ className: "alert danger api-preview-alert" },
|
|
t.span({ className: "label method" }, "DELETE"),
|
|
t.span({ className: "path" }, `/api/collections/${collection.name}/records/`, t.strong(null, ":id")),
|
|
() => {
|
|
if (isSuperusersOnly) {
|
|
return t.small({ className: "extra" }, "Requires superuser Authorization:TOKEN header");
|
|
}
|
|
},
|
|
),
|
|
t.table(
|
|
{ className: "api-preview-table path-params" },
|
|
t.thead(
|
|
null,
|
|
t.tr(
|
|
null,
|
|
t.th({ className: "min-width txt-primary" }, "Path params"),
|
|
t.th({ className: "min-width" }, "Type"),
|
|
t.th(null, "Description"),
|
|
),
|
|
),
|
|
t.tbody(
|
|
null,
|
|
t.tr(
|
|
null,
|
|
t.td({ className: "min-width" }, "id"),
|
|
t.td({ className: "min-width" }, t.span({ className: "label" }, "String")),
|
|
t.td(null, "ID of the record to delete."),
|
|
),
|
|
),
|
|
),
|
|
// responses
|
|
t.div({ className: "block m-t-base m-b-sm" }, t.strong(null, "Example responses")),
|
|
app.components.codeBlockTabs({
|
|
tabs: responses,
|
|
}),
|
|
);
|
|
}
|