delete derived component endpoint
This commit is contained in:
parent
d70f14d6bc
commit
55bf142a95
|
@ -1 +0,0 @@
|
||||||
{"_name":"newTextBox","_component":"./customComponents/textbox","label":"something else"}
|
|
|
@ -10,7 +10,8 @@ const {
|
||||||
savePackage,
|
savePackage,
|
||||||
getApps,
|
getApps,
|
||||||
saveDerivedComponent,
|
saveDerivedComponent,
|
||||||
renameDerivedComponent
|
renameDerivedComponent,
|
||||||
|
deleteDerivedComponent
|
||||||
} = require("../utilities/builder");
|
} = require("../utilities/builder");
|
||||||
|
|
||||||
const builderPath = resolve(__dirname, "../builder");
|
const builderPath = resolve(__dirname, "../builder");
|
||||||
|
@ -174,11 +175,14 @@ module.exports = (config, app) => {
|
||||||
ctx.request.body.newname);
|
ctx.request.body.newname);
|
||||||
ctx.response.status = StatusCodes.OK;
|
ctx.response.status = StatusCodes.OK;
|
||||||
})
|
})
|
||||||
.delete("/_builder/api/:appname/derivedcomponent", async (ctx) => {
|
.delete("/_builder/api/:appname/derivedcomponent/*", async (ctx) => {
|
||||||
|
const name = ctx.request.path.replace(
|
||||||
|
`/_builder/api/${ctx.params.appname}/derivedcomponent/`, "");
|
||||||
|
|
||||||
await deleteDerivedComponent(
|
await deleteDerivedComponent(
|
||||||
config,
|
config,
|
||||||
ctx.params.appname,
|
ctx.params.appname,
|
||||||
ctx.request.body.name);
|
name);
|
||||||
ctx.response.status = StatusCodes.OK;
|
ctx.response.status = StatusCodes.OK;
|
||||||
})
|
})
|
||||||
.get("/:appname", async (ctx) => {
|
.get("/:appname", async (ctx) => {
|
||||||
|
|
|
@ -118,5 +118,11 @@ it("should be able to rename derived component", async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should be able to delete derived component", async () => {
|
it("should be able to delete derived component", async () => {
|
||||||
|
await app.delete("/_builder/api/testApp/derivedcomponent/anotherSubFolder/newTextBox")
|
||||||
|
.expect(statusCodes.OK);
|
||||||
|
|
||||||
|
const componentFile = "./appPackages/testApp/components/anotherSubFolder/newTextBox.json";
|
||||||
|
const componentDir = "./appPackages/testApp/components/anotherSubFolder";
|
||||||
|
expect(await pathExists(componentFile)).toBe(false);
|
||||||
|
expect(await pathExists(componentDir)).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
|
@ -71,6 +71,7 @@ module.exports = () => {
|
||||||
post: (url, body) => postRequest(server,url,body),
|
post: (url, body) => postRequest(server,url,body),
|
||||||
patch: (url, body) => patchRequest(server,url,body),
|
patch: (url, body) => patchRequest(server,url,body),
|
||||||
get: (url) => getRequest(server, url),
|
get: (url) => getRequest(server, url),
|
||||||
|
delete: (url) => deleteRequest(server, url),
|
||||||
credentials: {
|
credentials: {
|
||||||
masterOwner: {
|
masterOwner: {
|
||||||
username: masterOwnerName,
|
username: masterOwnerName,
|
||||||
|
@ -121,6 +122,12 @@ const postRequest = (server, url, body) =>
|
||||||
.send(body)
|
.send(body)
|
||||||
.set('Accept', 'application/json');
|
.set('Accept', 'application/json');
|
||||||
|
|
||||||
|
|
||||||
|
const deleteRequest = (server, url) =>
|
||||||
|
request(server)
|
||||||
|
.delete(url)
|
||||||
|
.set('Accept', 'application/json');
|
||||||
|
|
||||||
const getRequest = (server, url) =>
|
const getRequest = (server, url) =>
|
||||||
request(server)
|
request(server)
|
||||||
.get(url)
|
.get(url)
|
||||||
|
|
|
@ -10,7 +10,8 @@ const {
|
||||||
stat,
|
stat,
|
||||||
ensureDir,
|
ensureDir,
|
||||||
rename,
|
rename,
|
||||||
unlink
|
unlink,
|
||||||
|
rmdir
|
||||||
} = require("fs-extra");
|
} = require("fs-extra");
|
||||||
const {
|
const {
|
||||||
resolve,
|
resolve,
|
||||||
|
@ -94,7 +95,13 @@ module.exports.renameDerivedComponent = async (config, appname, oldName, newName
|
||||||
|
|
||||||
module.exports.deleteDerivedComponent = async (config, appname, name) => {
|
module.exports.deleteDerivedComponent = async (config, appname, name) => {
|
||||||
const appPath = appPackageFolder(config, appname);
|
const appPath = appPackageFolder(config, appname);
|
||||||
await unlink(componentPath(appPath, name));
|
const componentFile = componentPath(appPath, name);
|
||||||
|
await unlink(componentFile);
|
||||||
|
|
||||||
|
const dir = dirname(componentFile);
|
||||||
|
if((await readdir(dir)).length === 0) {
|
||||||
|
await rmdir(dir);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const getRootComponents = async (appPath, pages ,lib) => {
|
const getRootComponents = async (appPath, pages ,lib) => {
|
||||||
|
|
Loading…
Reference in New Issue