@starklabs/forge 1.3.23 → 1.3.24-beta.0
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/account/index.d.ts +1 -1
- package/dist/js/account/index.d.ts.map +1 -1
- package/dist/js/account/index.js +14 -7
- package/dist/js/account/index.js.map +1 -1
- package/dist/js/account/me.delete.d.ts +2 -2
- package/dist/js/account/me.delete.d.ts.map +1 -1
- package/dist/js/account/me.delete.js +15 -6
- package/dist/js/account/me.delete.js.map +1 -1
- package/dist/js/account/me.update.d.ts +3 -3
- package/dist/js/account/me.update.d.ts.map +1 -1
- package/dist/js/account/me.update.js +20 -7
- package/dist/js/account/me.update.js.map +1 -1
- package/dist/js/app.js +21 -8
- package/dist/js/app.js.map +1 -1
- package/dist/js/auth/builtin/auth.collection.js +11 -11
- package/dist/js/auth/builtin/auth.collection.js.map +1 -1
- package/dist/js/auth/forgotPassword.d.ts +4 -4
- package/dist/js/auth/forgotPassword.d.ts.map +1 -1
- package/dist/js/auth/forgotPassword.js +12 -6
- package/dist/js/auth/forgotPassword.js.map +1 -1
- package/dist/js/auth/index.d.ts +1 -1
- package/dist/js/auth/index.d.ts.map +1 -1
- package/dist/js/auth/index.js +16 -8
- package/dist/js/auth/index.js.map +1 -1
- package/dist/js/auth/login.d.ts +4 -4
- package/dist/js/auth/login.d.ts.map +1 -1
- package/dist/js/auth/login.js +8 -4
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/logout.js +6 -1
- package/dist/js/auth/logout.js.map +1 -1
- package/dist/js/auth/refresh.js +9 -0
- package/dist/js/auth/refresh.js.map +1 -1
- package/dist/js/auth/resendOTP.d.ts +4 -4
- package/dist/js/auth/resendOTP.d.ts.map +1 -1
- package/dist/js/auth/resendOTP.js +14 -4
- package/dist/js/auth/resendOTP.js.map +1 -1
- package/dist/js/auth/resetPassword.d.ts +4 -4
- package/dist/js/auth/resetPassword.d.ts.map +1 -1
- package/dist/js/auth/resetPassword.js +14 -4
- package/dist/js/auth/resetPassword.js.map +1 -1
- package/dist/js/auth/signup.d.ts +4 -4
- package/dist/js/auth/signup.d.ts.map +1 -1
- package/dist/js/auth/signup.js +10 -5
- package/dist/js/auth/signup.js.map +1 -1
- package/dist/js/auth/utils/authenticateUser.d.ts +3 -3
- package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
- package/dist/js/auth/utils/authenticateUser.js +13 -3
- package/dist/js/auth/utils/authenticateUser.js.map +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPModel.js +8 -3
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createOTPUser.d.ts +3 -3
- package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPUser.js +11 -3
- package/dist/js/auth/utils/createOTPUser.js.map +1 -1
- package/dist/js/auth/utils/createUser.d.ts +3 -3
- package/dist/js/auth/utils/createUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createUser.js +12 -2
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/findRefreshToken.js +5 -1
- package/dist/js/auth/utils/findRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/findRefreshTokenUser.js +1 -0
- package/dist/js/auth/utils/findRefreshTokenUser.js.map +1 -1
- package/dist/js/auth/utils/getOTPUser.js +3 -0
- package/dist/js/auth/utils/getOTPUser.js.map +1 -1
- package/dist/js/auth/utils/getUser.d.ts +3 -3
- package/dist/js/auth/utils/getUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getUser.js +6 -2
- package/dist/js/auth/utils/getUser.js.map +1 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js +7 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +1 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js +7 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/modeMap.d.ts +12 -12
- package/dist/js/auth/utils/otpVerifiedResponse.js +1 -0
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
- package/dist/js/auth/utils/sendCookie.js +10 -0
- package/dist/js/auth/utils/sendCookie.js.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.d.ts +3 -3
- package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.js +8 -6
- package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
- package/dist/js/auth/verifyOTP.d.ts +4 -4
- package/dist/js/auth/verifyOTP.d.ts.map +1 -1
- package/dist/js/auth/verifyOTP.js +18 -5
- package/dist/js/auth/verifyOTP.js.map +1 -1
- package/dist/js/config/cloudinary.js +1 -0
- package/dist/js/config/cloudinary.js.map +1 -1
- package/dist/js/config/duration.js +7 -0
- package/dist/js/config/duration.js.map +1 -1
- package/dist/js/config/envs.js +23 -3
- package/dist/js/config/envs.js.map +1 -1
- package/dist/js/config/handleReqType.d.ts +1 -1
- package/dist/js/config/handleReqType.d.ts.map +1 -1
- package/dist/js/config/handleReqType.js +4 -3
- package/dist/js/config/handleReqType.js.map +1 -1
- package/dist/js/config/handlerMap.js +4 -0
- package/dist/js/config/handlerMap.js.map +1 -1
- package/dist/js/config/refreshModel.js +1 -0
- package/dist/js/config/refreshModel.js.map +1 -1
- package/dist/js/config/sendEmail.js +1 -0
- package/dist/js/config/sendEmail.js.map +1 -1
- package/dist/js/crud/bunch.crud.js +2 -0
- package/dist/js/crud/bunch.crud.js.map +1 -1
- package/dist/js/crud/create.d.ts +4 -4
- package/dist/js/crud/create.d.ts.map +1 -1
- package/dist/js/crud/create.js +23 -8
- package/dist/js/crud/create.js.map +1 -1
- package/dist/js/crud/createBulk.d.ts +4 -4
- package/dist/js/crud/createBulk.d.ts.map +1 -1
- package/dist/js/crud/createBulk.js +8 -3
- package/dist/js/crud/createBulk.js.map +1 -1
- package/dist/js/crud/email/index.d.ts +2 -0
- package/dist/js/crud/email/index.d.ts.map +1 -0
- package/dist/js/crud/email/index.js +2 -0
- package/dist/js/crud/email/index.js.map +1 -0
- package/dist/js/crud/encryption/handleDecryption.js +8 -3
- package/dist/js/crud/encryption/handleDecryption.js.map +1 -1
- package/dist/js/crud/encryption/handleEncryption.js +7 -3
- package/dist/js/crud/encryption/handleEncryption.js.map +1 -1
- package/dist/js/crud/handleUploads/file.add.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.add.js +16 -9
- package/dist/js/crud/handleUploads/file.add.js.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.js +14 -5
- package/dist/js/crud/handleUploads/file.delete.js.map +1 -1
- package/dist/js/crud/handleUploads/file.update.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.update.js +15 -5
- package/dist/js/crud/handleUploads/file.update.js.map +1 -1
- package/dist/js/crud/index.d.ts +1 -1
- package/dist/js/crud/index.d.ts.map +1 -1
- package/dist/js/crud/index.js +18 -11
- package/dist/js/crud/index.js.map +1 -1
- package/dist/js/crud/read.d.ts +4 -4
- package/dist/js/crud/read.d.ts.map +1 -1
- package/dist/js/crud/read.js +18 -9
- package/dist/js/crud/read.js.map +1 -1
- package/dist/js/crud/readAll.d.ts +3 -3
- package/dist/js/crud/readAll.d.ts.map +1 -1
- package/dist/js/crud/readAll.js +16 -8
- package/dist/js/crud/readAll.js.map +1 -1
- package/dist/js/crud/remove.d.ts +3 -3
- package/dist/js/crud/remove.d.ts.map +1 -1
- package/dist/js/crud/remove.js +19 -8
- package/dist/js/crud/remove.js.map +1 -1
- package/dist/js/crud/removeAll.d.ts +3 -3
- package/dist/js/crud/removeAll.d.ts.map +1 -1
- package/dist/js/crud/removeAll.js +13 -5
- package/dist/js/crud/removeAll.js.map +1 -1
- package/dist/js/crud/removeMultiple.d.ts +4 -4
- package/dist/js/crud/removeMultiple.d.ts.map +1 -1
- package/dist/js/crud/removeMultiple.js +18 -7
- package/dist/js/crud/removeMultiple.js.map +1 -1
- package/dist/js/crud/security/handleDecryption.js +8 -3
- package/dist/js/crud/security/handleDecryption.js.map +1 -1
- package/dist/js/crud/security/handleEncryption.js +7 -3
- package/dist/js/crud/security/handleEncryption.js.map +1 -1
- package/dist/js/crud/security/handleHashing.js +8 -3
- package/dist/js/crud/security/handleHashing.js.map +1 -1
- package/dist/js/crud/update.d.ts +4 -4
- package/dist/js/crud/update.d.ts.map +1 -1
- package/dist/js/crud/update.js +24 -9
- package/dist/js/crud/update.js.map +1 -1
- package/dist/js/crud/utils/authorizeAccess.d.ts +2 -2
- package/dist/js/crud/utils/authorizeAccess.d.ts.map +1 -1
- package/dist/js/crud/utils/authorizeAccess.js +19 -13
- package/dist/js/crud/utils/authorizeAccess.js.map +1 -1
- package/dist/js/crud/utils/getItem.d.ts +3 -3
- package/dist/js/crud/utils/getItem.d.ts.map +1 -1
- package/dist/js/crud/utils/getItem.js +18 -9
- package/dist/js/crud/utils/getItem.js.map +1 -1
- package/dist/js/health/health.collection.js +11 -11
- package/dist/js/health/health.collection.js.map +1 -1
- package/dist/js/health/index.d.ts +1 -1
- package/dist/js/health/index.d.ts.map +1 -1
- package/dist/js/health/index.js +2 -2
- package/dist/js/health/index.js.map +1 -1
- package/dist/js/lib/OAuthProviders.js +1 -1
- package/dist/js/lib/OAuthProviders.js.map +1 -1
- package/dist/js/lib/db.js +1 -0
- package/dist/js/lib/db.js.map +1 -1
- package/dist/js/lib/model.factory.d.ts +10 -1
- package/dist/js/lib/model.factory.d.ts.map +1 -1
- package/dist/js/lib/model.factory.js +18 -4
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/lib/model.registry.js +1 -0
- package/dist/js/lib/model.registry.js.map +1 -1
- package/dist/js/lib/mongoose.fields.js +20 -0
- package/dist/js/lib/mongoose.fields.js.map +1 -1
- package/dist/js/lib/schema.builder.js +3 -0
- package/dist/js/lib/schema.builder.js.map +1 -1
- package/dist/js/lib/unified.fields.d.ts +5 -0
- package/dist/js/lib/unified.fields.d.ts.map +1 -1
- package/dist/js/lib/unified.fields.js +56 -0
- package/dist/js/lib/unified.fields.js.map +1 -1
- package/dist/js/lib/unified.types.d.ts +3 -0
- package/dist/js/lib/unified.types.d.ts.map +1 -1
- package/dist/js/lib/zod.factory.d.ts +13 -0
- package/dist/js/lib/zod.factory.d.ts.map +1 -1
- package/dist/js/lib/zod.factory.js +14 -0
- package/dist/js/lib/zod.factory.js.map +1 -1
- package/dist/js/lib/zod.fields.d.ts +55 -0
- package/dist/js/lib/zod.fields.d.ts.map +1 -1
- package/dist/js/lib/zod.fields.js +56 -0
- package/dist/js/lib/zod.fields.js.map +1 -1
- package/dist/js/middleware/error.middleware.js +1 -0
- package/dist/js/middleware/error.middleware.js.map +1 -1
- package/dist/js/middleware/multer.middleware.d.ts +1 -1
- package/dist/js/middleware/multer.middleware.d.ts.map +1 -1
- package/dist/js/middleware/multer.middleware.js +22 -7
- package/dist/js/middleware/multer.middleware.js.map +1 -1
- package/dist/js/terminal/appInfo.js +11 -11
- package/dist/js/terminal/appInfo.js.map +1 -1
- package/dist/js/terminal/logger.js +1 -1
- package/dist/js/terminal/logger.js.map +1 -1
- package/dist/js/types/ActionHandler.d.ts +86 -11
- package/dist/js/types/ActionHandler.d.ts.map +1 -1
- package/dist/js/types/Collection.d.ts +104 -15
- package/dist/js/types/Collection.d.ts.map +1 -1
- package/dist/js/types/Constructor.d.ts +1 -1
- package/dist/js/types/Constructor.d.ts.map +1 -1
- package/dist/js/types/Route.d.ts +131 -14
- package/dist/js/types/Route.d.ts.map +1 -1
- package/dist/js/types/Routepath.js +15 -0
- package/dist/js/types/Routepath.js.map +1 -1
- package/dist/js/types/email.js +13 -0
- package/dist/js/types/email.js.map +1 -1
- package/dist/js/types/upload.d.ts +57 -5
- package/dist/js/types/upload.d.ts.map +1 -1
- package/dist/js/upload/create.js +9 -6
- package/dist/js/upload/create.js.map +1 -1
- package/dist/js/upload/delete.js +21 -21
- package/dist/js/upload/delete.js.map +1 -1
- package/dist/js/upload/update.js +21 -21
- package/dist/js/upload/update.js.map +1 -1
- package/dist/js/utils/getErrorDetail.d.ts +2 -2
- package/dist/js/utils/getErrorDetail.d.ts.map +1 -1
- package/dist/js/utils/getErrorDetail.js +2 -2
- package/dist/js/utils/getErrorDetail.js.map +1 -1
- package/dist/js/utils/getModel.d.ts +3 -3
- package/dist/js/utils/getModel.d.ts.map +1 -1
- package/dist/js/utils/getModel.js +6 -6
- package/dist/js/utils/getModel.js.map +1 -1
- package/dist/js/utils/libsodium.js +6 -0
- package/dist/js/utils/libsodium.js.map +1 -1
- package/dist/js/utils/otpPurposes.js +38 -0
- package/dist/js/utils/otpPurposes.js.map +1 -1
- package/dist/js/utils/sanitize.js +23 -2
- package/dist/js/utils/sanitize.js.map +1 -1
- package/dist/js/utils/saveRefreshToken.js +2 -1
- package/dist/js/utils/saveRefreshToken.js.map +1 -1
- package/dist/js/utils/validate.js +5 -3
- package/dist/js/utils/validate.js.map +1 -1
- package/dist/js/utils/validationKeyError.d.ts +1 -1
- package/dist/js/utils/validationKeyError.d.ts.map +1 -1
- package/dist/js/utils/validationKeyError.js +13 -8
- package/dist/js/utils/validationKeyError.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +29 -29
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import AppError from "./AppError.js";
|
|
2
2
|
import getErrorDetail from "./getErrorDetail.js";
|
|
3
|
-
const getValidationKey = (routeObj,
|
|
4
|
-
const key = routeObj.
|
|
3
|
+
const getValidationKey = (routeObj, validations) => {
|
|
4
|
+
const key = routeObj.validation;
|
|
5
|
+
// if false
|
|
5
6
|
if (typeof key === "boolean")
|
|
6
7
|
if (key) {
|
|
7
8
|
throw new AppError({
|
|
8
|
-
message: "
|
|
9
|
+
message: "validation as boolean can only be 'false'",
|
|
9
10
|
statusCode: 400,
|
|
10
11
|
hint: "Make it false without ('', \"\" or ``)",
|
|
11
12
|
details: getErrorDetail(routeObj),
|
|
@@ -14,28 +15,32 @@ const getValidationKey = (routeObj, validationsObj) => {
|
|
|
14
15
|
else {
|
|
15
16
|
if (routeObj.method !== "get")
|
|
16
17
|
throw new AppError({
|
|
17
|
-
message: "
|
|
18
|
+
message: "validation is missing",
|
|
18
19
|
statusCode: 400,
|
|
19
20
|
hint: `body is required for method: '${routeObj.method}'`,
|
|
20
21
|
details: getErrorDetail(routeObj),
|
|
21
22
|
});
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
25
|
+
// if validation not provided
|
|
24
26
|
if (key == null)
|
|
25
27
|
throw new AppError({
|
|
26
|
-
message: "
|
|
28
|
+
message: "validation is required",
|
|
27
29
|
statusCode: 400,
|
|
28
30
|
hint: "Provide it or make it 'false' as boolean if this routeObj doesn't need validation",
|
|
29
31
|
details: getErrorDetail(routeObj),
|
|
30
32
|
});
|
|
31
|
-
|
|
33
|
+
// validationObject
|
|
34
|
+
const validateObject = validations[key];
|
|
35
|
+
// if validation not provided
|
|
32
36
|
if (!validateObject)
|
|
33
37
|
throw new AppError({
|
|
34
|
-
message: `
|
|
38
|
+
message: `validation: '${key}' is missing in validations`,
|
|
35
39
|
statusCode: 400,
|
|
36
|
-
hint: `In
|
|
40
|
+
hint: `In validations, use the '${key}' as key for validation`,
|
|
37
41
|
details: getErrorDetail(routeObj),
|
|
38
42
|
});
|
|
43
|
+
// validate object
|
|
39
44
|
return validateObject;
|
|
40
45
|
};
|
|
41
46
|
export default getValidationKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationKeyError.js","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,CAAC,QAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"validationKeyError.js","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,CAAC,QAAe,EAAE,WAA2B,EAAE,EAAE;IACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC;IAEhC,WAAW;IACX,IAAI,OAAO,GAAG,KAAK,SAAS;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,2CAA2C;gBACpD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,wCAAwC;gBAC9C,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK;gBAC3B,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,uBAAuB;oBAChC,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,iCAAiC,QAAQ,CAAC,MAAM,GAAG;oBACzD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;iBAClC,CAAC,CAAC;YAEL,OAAO;QACT,CAAC;IAEH,6BAA6B;IAC7B,IAAI,GAAG,IAAI,IAAI;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,mFAAmF;YACzF,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAEL,mBAAmB;IACnB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAa,CAAC,CAAC;IAElD,6BAA6B;IAC7B,IAAI,CAAC,cAAc;QACjB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,gBAAgB,GAAG,6BAA6B;YACzD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,4BAA4B,GAAG,yBAAyB;YAC9D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAEL,kBAAkB;IAClB,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -183,12 +183,12 @@ Forge lets you define your backend like this:
|
|
|
183
183
|
|
|
184
184
|
```ts
|
|
185
185
|
collection({
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
type: "crud",
|
|
187
|
+
route: "expenses",
|
|
188
|
+
model: "Expense",
|
|
189
|
+
routes: routes,
|
|
190
|
+
schema: schema,
|
|
191
|
+
validations: validation,
|
|
192
192
|
});
|
|
193
193
|
```
|
|
194
194
|
|
|
@@ -517,12 +517,12 @@ Every resource starts with a collection.
|
|
|
517
517
|
|
|
518
518
|
```ts
|
|
519
519
|
collection({
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
520
|
+
type: "crud",
|
|
521
|
+
route: "expenses",
|
|
522
|
+
model: "Expense",
|
|
523
|
+
routes: routes,
|
|
524
|
+
schema: schema,
|
|
525
|
+
validations: validation,
|
|
526
526
|
});
|
|
527
527
|
```
|
|
528
528
|
|
|
@@ -606,11 +606,11 @@ You simply describe the routeObj.
|
|
|
606
606
|
|
|
607
607
|
```ts
|
|
608
608
|
{
|
|
609
|
-
|
|
609
|
+
auth: "authenticated",
|
|
610
610
|
handler: "create",
|
|
611
611
|
method: "post",
|
|
612
612
|
path: "/",
|
|
613
|
-
|
|
613
|
+
validation: "create"
|
|
614
614
|
}
|
|
615
615
|
```
|
|
616
616
|
|
|
@@ -624,43 +624,43 @@ Example:
|
|
|
624
624
|
const routes = [
|
|
625
625
|
|
|
626
626
|
{
|
|
627
|
-
|
|
627
|
+
auth: "authenticated",
|
|
628
628
|
handler: "create",
|
|
629
629
|
method: "post",
|
|
630
630
|
path: "/",
|
|
631
|
-
|
|
631
|
+
validation: "create"
|
|
632
632
|
},
|
|
633
633
|
|
|
634
634
|
{
|
|
635
|
-
|
|
635
|
+
auth: "public",
|
|
636
636
|
handler: "readAll",
|
|
637
637
|
method: "get",
|
|
638
638
|
path: "/",
|
|
639
|
-
|
|
639
|
+
validation: false
|
|
640
640
|
},
|
|
641
641
|
|
|
642
642
|
{
|
|
643
|
-
|
|
643
|
+
auth: "public",
|
|
644
644
|
handler: "read",
|
|
645
645
|
method: "get",
|
|
646
646
|
path: "/:id",
|
|
647
|
-
|
|
647
|
+
validation: false
|
|
648
648
|
},
|
|
649
649
|
|
|
650
650
|
{
|
|
651
|
-
|
|
651
|
+
auth: "admin-or-owner",
|
|
652
652
|
handler: "update",
|
|
653
653
|
method: "patch",
|
|
654
654
|
path: "/:id",
|
|
655
|
-
|
|
655
|
+
validation: "update"
|
|
656
656
|
},
|
|
657
657
|
|
|
658
658
|
{
|
|
659
|
-
|
|
659
|
+
auth: "admin-or-owner",
|
|
660
660
|
handler: "remove",
|
|
661
661
|
method: "delete",
|
|
662
662
|
path: "/:id",
|
|
663
|
-
|
|
663
|
+
validation: false
|
|
664
664
|
}
|
|
665
665
|
|
|
666
666
|
];
|
|
@@ -729,19 +729,19 @@ Simply reference the handler name inside your routeObj.
|
|
|
729
729
|
Authorization is intentionally simple.
|
|
730
730
|
|
|
731
731
|
```ts
|
|
732
|
-
|
|
732
|
+
auth: "public"
|
|
733
733
|
```
|
|
734
734
|
|
|
735
735
|
```ts
|
|
736
|
-
|
|
736
|
+
auth: "authenticated"
|
|
737
737
|
```
|
|
738
738
|
|
|
739
739
|
```ts
|
|
740
|
-
|
|
740
|
+
auth: "admin"
|
|
741
741
|
```
|
|
742
742
|
|
|
743
743
|
```ts
|
|
744
|
-
|
|
744
|
+
auth: "admin-or-owner"
|
|
745
745
|
```
|
|
746
746
|
|
|
747
747
|
Forge applies the appropriate middleware automatically.
|
|
@@ -767,7 +767,7 @@ This keeps the framework lightweight while allowing complete flexibility.
|
|
|
767
767
|
uploadArray: [
|
|
768
768
|
|
|
769
769
|
{
|
|
770
|
-
|
|
770
|
+
paramField: "avatar",
|
|
771
771
|
|
|
772
772
|
provider: "cloudinary",
|
|
773
773
|
|