@quenty/permissionprovider 8.11.0 → 8.12.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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [8.12.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/permissionprovider@8.11.0...@quenty/permissionprovider@8.12.0) (2023-04-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Add PromiseIsCreator and PromiseIsAdmin utility helper methods on PermissionService ([179ed15](https://github.com/Quenty/NevermoreEngine/commit/179ed153a3c6329417569cfff93310a0e862bc1d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [8.11.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/permissionprovider@8.10.1...@quenty/permissionprovider@8.11.0) (2023-04-10)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @quenty/permissionprovider
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/permissionprovider",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.12.0",
|
|
4
4
|
"description": "Permission provider for Roblox, including authenticating against group membership",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "a8a760988c8fd88c2581c5c496a8bad845de104c"
|
|
41
41
|
}
|
|
@@ -23,7 +23,22 @@ PermissionServiceClient.ServiceName = "PermissionServiceClient"
|
|
|
23
23
|
@param _serviceBag ServiceBag
|
|
24
24
|
]=]
|
|
25
25
|
function PermissionServiceClient:Init(_serviceBag)
|
|
26
|
-
self.
|
|
26
|
+
self._providerPromise = Promise.resolved(PermissionProviderClient.new(PermissionProviderConstants.DEFAULT_REMOTE_FUNCTION_NAME))
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
--[=[
|
|
30
|
+
Returns whether the player is an admin.
|
|
31
|
+
|
|
32
|
+
@param player Player | nil
|
|
33
|
+
@return Promise<boolean>
|
|
34
|
+
]=]
|
|
35
|
+
function PermissionServiceClient:PromiseIsAdmin(player)
|
|
36
|
+
assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
|
|
37
|
+
|
|
38
|
+
return self:PromisePermissionProvider()
|
|
39
|
+
:Then(function(permissionProvider)
|
|
40
|
+
return permissionProvider:PromiseIsAdmin(player)
|
|
41
|
+
end)
|
|
27
42
|
end
|
|
28
43
|
|
|
29
44
|
--[=[
|
|
@@ -31,7 +46,7 @@ end
|
|
|
31
46
|
@return Promise<PermissionProviderClient>
|
|
32
47
|
]=]
|
|
33
48
|
function PermissionServiceClient:PromisePermissionProvider()
|
|
34
|
-
return
|
|
49
|
+
return self._providerPromise
|
|
35
50
|
end
|
|
36
51
|
|
|
37
52
|
return PermissionServiceClient
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
local require = require(script.Parent.loader).load(script)
|
|
9
9
|
|
|
10
|
+
local Players = game:GetService("Players")
|
|
11
|
+
|
|
10
12
|
local PermissionProviderConstants = require("PermissionProviderConstants")
|
|
11
13
|
local Promise = require("Promise")
|
|
12
14
|
local PromiseGetRemoteFunction = require("PromiseGetRemoteFunction")
|
|
@@ -25,9 +27,16 @@ end
|
|
|
25
27
|
|
|
26
28
|
--[=[
|
|
27
29
|
Returns whether the local player is an admin.
|
|
30
|
+
|
|
31
|
+
@param player Player | nil
|
|
28
32
|
@return Promise<boolean>
|
|
29
33
|
]=]
|
|
30
|
-
function PermissionProviderClient:PromiseIsAdmin()
|
|
34
|
+
function PermissionProviderClient:PromiseIsAdmin(player)
|
|
35
|
+
player = player or Players.LocalPlayer
|
|
36
|
+
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
37
|
+
|
|
38
|
+
assert(player == Players.LocalPlayer, "We only support local player for now")
|
|
39
|
+
|
|
31
40
|
if self._cachedAdminPromise then
|
|
32
41
|
return self._cachedAdminPromise
|
|
33
42
|
end
|
|
@@ -92,6 +92,34 @@ function PermissionService:PromisePermissionProvider()
|
|
|
92
92
|
return self._promise
|
|
93
93
|
end
|
|
94
94
|
|
|
95
|
+
--[=[
|
|
96
|
+
Returns whether the player is an admin.
|
|
97
|
+
@param player Player
|
|
98
|
+
@return Promise<boolean>
|
|
99
|
+
]=]
|
|
100
|
+
function PermissionService:PromiseIsAdmin(player)
|
|
101
|
+
assert(typeof(player) == "Instance" and player:IsA("Player"), "bad player")
|
|
102
|
+
|
|
103
|
+
return self:PromisePermissionProvider()
|
|
104
|
+
:Then(function(permissionProvider)
|
|
105
|
+
return permissionProvider:PromiseIsAdmin(player)
|
|
106
|
+
end)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
--[=[
|
|
110
|
+
Returns whether the player is a creator.
|
|
111
|
+
@param player Player
|
|
112
|
+
@return Promise<boolean>
|
|
113
|
+
]=]
|
|
114
|
+
function PermissionService:PromiseIsCreator(player)
|
|
115
|
+
assert(typeof(player) == "Instance" and player:IsA("Player"), "bad player")
|
|
116
|
+
|
|
117
|
+
return self:PromisePermissionProvider()
|
|
118
|
+
:Then(function(permissionProvider)
|
|
119
|
+
return permissionProvider:PromiseIsCreator(player)
|
|
120
|
+
end)
|
|
121
|
+
end
|
|
122
|
+
|
|
95
123
|
function PermissionService:Destroy()
|
|
96
124
|
self._maid:DoCleaning()
|
|
97
125
|
self._provider = nil
|