@wix/web-methods 0.1.0 → 0.1.2
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/cjs/build/index.d.ts +2 -0
- package/cjs/build/index.js +7 -0
- package/cjs/build/permissions.d.ts +21 -0
- package/cjs/build/permissions.js +23 -0
- package/cjs/build/types.d.ts +8 -0
- package/cjs/build/types.js +2 -0
- package/cjs/build/web-method.d.ts +3 -0
- package/cjs/build/web-method.js +15 -0
- package/cjs/package.json +3 -0
- package/package.json +10 -5
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Permissions = exports.webMethod = void 0;
|
|
4
|
+
var web_method_js_1 = require("./web-method.js");
|
|
5
|
+
Object.defineProperty(exports, "webMethod", { enumerable: true, get: function () { return web_method_js_1.webMethod; } });
|
|
6
|
+
var permissions_js_1 = require("./permissions.js");
|
|
7
|
+
Object.defineProperty(exports, "Permissions", { enumerable: true, get: function () { return permissions_js_1.Permissions; } });
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare enum Roles {
|
|
2
|
+
SITE_OWNER = "siteOwner",
|
|
3
|
+
SITE_MEMBER = "siteMember",
|
|
4
|
+
ANONYMOUS = "anonymous"
|
|
5
|
+
}
|
|
6
|
+
export interface Permission {
|
|
7
|
+
allowedRoles: Roles[];
|
|
8
|
+
}
|
|
9
|
+
export declare const WEB_METHOD_OPTIONS_PROPERTY_NAME = "options";
|
|
10
|
+
export declare const WEB_METHOD_PERMISSIONS_PROPERTY_NAME = "permission";
|
|
11
|
+
export declare const Permissions: {
|
|
12
|
+
Admin: {
|
|
13
|
+
allowedRoles: Roles.SITE_OWNER[];
|
|
14
|
+
};
|
|
15
|
+
SiteMember: {
|
|
16
|
+
allowedRoles: (Roles.SITE_OWNER | Roles.SITE_MEMBER)[];
|
|
17
|
+
};
|
|
18
|
+
Anyone: {
|
|
19
|
+
allowedRoles: Roles[];
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Permissions = exports.WEB_METHOD_PERMISSIONS_PROPERTY_NAME = exports.WEB_METHOD_OPTIONS_PROPERTY_NAME = exports.Roles = void 0;
|
|
4
|
+
var Roles;
|
|
5
|
+
(function (Roles) {
|
|
6
|
+
Roles["SITE_OWNER"] = "siteOwner";
|
|
7
|
+
Roles["SITE_MEMBER"] = "siteMember";
|
|
8
|
+
Roles["ANONYMOUS"] = "anonymous";
|
|
9
|
+
})(Roles || (exports.Roles = Roles = {}));
|
|
10
|
+
var PermissionOptions;
|
|
11
|
+
(function (PermissionOptions) {
|
|
12
|
+
PermissionOptions["Admin"] = "Admin";
|
|
13
|
+
PermissionOptions["SiteMember"] = "SiteMember";
|
|
14
|
+
PermissionOptions["Anyone"] = "Anyone";
|
|
15
|
+
})(PermissionOptions || (PermissionOptions = {}));
|
|
16
|
+
const { SITE_OWNER, SITE_MEMBER, ANONYMOUS } = Roles;
|
|
17
|
+
exports.WEB_METHOD_OPTIONS_PROPERTY_NAME = 'options';
|
|
18
|
+
exports.WEB_METHOD_PERMISSIONS_PROPERTY_NAME = 'permission';
|
|
19
|
+
exports.Permissions = {
|
|
20
|
+
Admin: { allowedRoles: [SITE_OWNER] },
|
|
21
|
+
SiteMember: { allowedRoles: [SITE_OWNER, SITE_MEMBER] },
|
|
22
|
+
Anyone: { allowedRoles: [SITE_OWNER, SITE_MEMBER, ANONYMOUS] },
|
|
23
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Permission } from './permissions.js';
|
|
2
|
+
import { Handler, WebMethodOptions } from './types.js';
|
|
3
|
+
export declare function webMethod<Args extends any[], Return>(permission: Permission, method: Handler<Args, Return>, options?: WebMethodOptions): Handler<Args, Promise<Awaited<Return>>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.webMethod = webMethod;
|
|
4
|
+
const permissions_js_1 = require("./permissions.js");
|
|
5
|
+
// https://dev.wix.com/docs/velo/api-reference/wix-web-module/introduction
|
|
6
|
+
function webMethod(permission, method, options) {
|
|
7
|
+
const webMethodEnrichment = {
|
|
8
|
+
[permissions_js_1.WEB_METHOD_PERMISSIONS_PROPERTY_NAME]: permission,
|
|
9
|
+
...(options && { [permissions_js_1.WEB_METHOD_OPTIONS_PROPERTY_NAME]: options }),
|
|
10
|
+
};
|
|
11
|
+
const enrichedWebMethod = Object.assign(method, webMethodEnrichment);
|
|
12
|
+
// the return type of `webMethod` doesn't match its return type so that
|
|
13
|
+
// developers who call this would get the correct types
|
|
14
|
+
return enrichedWebMethod;
|
|
15
|
+
}
|
package/cjs/package.json
ADDED
package/package.json
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/web-methods",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"main": "cjs/build/index.js",
|
|
5
6
|
"exports": {
|
|
6
|
-
".":
|
|
7
|
+
".": {
|
|
8
|
+
"import": "./build/index.js",
|
|
9
|
+
"require": "./cjs/build/index.js"
|
|
10
|
+
},
|
|
7
11
|
"./package.json": "./package.json"
|
|
8
12
|
},
|
|
9
13
|
"sideEffects": false,
|
|
10
14
|
"files": [
|
|
11
|
-
"build"
|
|
15
|
+
"build",
|
|
16
|
+
"cjs"
|
|
12
17
|
],
|
|
13
18
|
"publishConfig": {
|
|
14
19
|
"registry": "https://registry.npmjs.org/",
|
|
15
20
|
"access": "public"
|
|
16
21
|
},
|
|
17
22
|
"scripts": {
|
|
18
|
-
"build": "tsc",
|
|
23
|
+
"build": "tsc && tsc --project tsconfig.cjs.json",
|
|
19
24
|
"test": ":",
|
|
20
25
|
"lint": "eslint --max-warnings=0 .",
|
|
21
26
|
"lint:fix": "eslint --max-warnings=0 . --fix",
|
|
@@ -46,5 +51,5 @@
|
|
|
46
51
|
]
|
|
47
52
|
}
|
|
48
53
|
},
|
|
49
|
-
"falconPackageHash": "
|
|
54
|
+
"falconPackageHash": "fa580baad5f4160561ec52a958fbb6abf2d10c8b223ba9398b031f3f"
|
|
50
55
|
}
|