@starklabs/forge 1.3.9 → 1.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/crud/removeMultiple.d.ts +10 -0
- package/dist/js/crud/removeMultiple.d.ts.map +1 -0
- package/dist/js/crud/removeMultiple.js +45 -0
- package/dist/js/crud/removeMultiple.js.map +1 -0
- package/dist/js/types/crudHandlers.d.ts +1 -1
- package/dist/js/types/crudHandlers.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Request, Response } from "express";
|
|
2
|
+
import type { Route, ValidationsObj } from "../types/Collection.ts";
|
|
3
|
+
declare const removeAll: ({ modelName, routeName, routeObj, validationsObj, }: {
|
|
4
|
+
modelName: string;
|
|
5
|
+
routeName: string;
|
|
6
|
+
routeObj: Route;
|
|
7
|
+
validationsObj: ValidationsObj;
|
|
8
|
+
}) => (req: Request, res: Response) => Promise<void>;
|
|
9
|
+
export default removeAll;
|
|
10
|
+
//# sourceMappingURL=removeMultiple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeMultiple.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMpE,QAAA,MAAM,SAAS,GAAI,qDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAkDzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import getModel from "../utils/getModel.js";
|
|
2
|
+
import appResponse from "../utils/response.js";
|
|
3
|
+
import authorizeAccess from "./utils/authroizeAccess.js";
|
|
4
|
+
import AppError from "../utils/AppError.js";
|
|
5
|
+
import getValidationKey from "../utils/validationKeyError.js";
|
|
6
|
+
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
7
|
+
import validate from "../utils/validate.js";
|
|
8
|
+
const removeAll = ({ modelName, routeName, routeObj, validationsObj, }) => {
|
|
9
|
+
return async (req, res) => {
|
|
10
|
+
const validationObj = getValidationKey(routeObj, validationsObj);
|
|
11
|
+
const Model = getModel({ modelName, routeName, routeObj });
|
|
12
|
+
const body = validate(validationObj, req.body, routeObj);
|
|
13
|
+
const idsFieldName = routeObj.mongooseConfigObj?.removeMultipleFieldKey;
|
|
14
|
+
if (!idsFieldName)
|
|
15
|
+
throw new AppError({
|
|
16
|
+
details: getErrorDetail(routeObj),
|
|
17
|
+
hint: "Write the array name in routes -> route -> mongooseConfigObj -> removeMultipleFieldKey that has items' ids to delete",
|
|
18
|
+
message: "Ids field name missing",
|
|
19
|
+
statusCode: 409,
|
|
20
|
+
});
|
|
21
|
+
const result = await Model.deleteMany({
|
|
22
|
+
_id: { $in: body[idsFieldName] },
|
|
23
|
+
owner: req.user._id,
|
|
24
|
+
});
|
|
25
|
+
const notFound = !result || result.deletedCount === 0;
|
|
26
|
+
if (notFound) {
|
|
27
|
+
throw new AppError({
|
|
28
|
+
message: `Data not found to delete`,
|
|
29
|
+
statusCode: 404,
|
|
30
|
+
hint: `Make sure you ids array name: '${idsFieldName}' is correct. Hit a POST request to insert an item.`,
|
|
31
|
+
details: getErrorDetail(routeObj),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
appResponse({
|
|
35
|
+
res,
|
|
36
|
+
data: {
|
|
37
|
+
deletedCount: result.deletedCount,
|
|
38
|
+
},
|
|
39
|
+
message: "Items deleted successfully!",
|
|
40
|
+
statusCode: 202,
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export default removeAll;
|
|
45
|
+
//# sourceMappingURL=removeMultiple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeMultiple.js","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAKjE,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,MAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QACxE,IAAI,CAAC,YAAY;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,sHAAsH;gBAC5H,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAGL,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YACpC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG;SACpB,CAAC,CAAC;QAGH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,kCAAkC,YAAY,qDAAqD;gBACzG,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAGD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type crudHandlers = "read" | "create" | "createBulk" | "readAll" | "update" | "remove" | "removeAll";
|
|
1
|
+
export type crudHandlers = "read" | "create" | "createBulk" | "readAll" | "update" | "remove" | "removeMultiple" | "removeAll";
|
|
2
2
|
//# sourceMappingURL=crudHandlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crudHandlers.d.ts","sourceRoot":"","sources":["../../../src/js/types/crudHandlers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,
|
|
1
|
+
{"version":3,"file":"crudHandlers.d.ts","sourceRoot":"","sources":["../../../src/js/types/crudHandlers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,gBAAgB,GAChB,WAAW,CAAC"}
|
package/package.json
CHANGED