@quenty/permissionprovider 14.19.0 → 14.19.1
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
|
+
## [14.19.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/permissionprovider@14.19.0...@quenty/permissionprovider@14.19.1) (2025-04-05)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Add types to packages ([2374fb2](https://github.com/Quenty/NevermoreEngine/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [14.19.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/permissionprovider@14.18.2...@quenty/permissionprovider@14.19.0) (2025-04-02)
|
|
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": "14.19.
|
|
3
|
+
"version": "14.19.1",
|
|
4
4
|
"description": "Permission provider for Roblox, including authenticating against group membership",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/baseobject": "^10.8.
|
|
29
|
-
"@quenty/brio": "^14.17.
|
|
30
|
-
"@quenty/grouputils": "^10.10.
|
|
31
|
-
"@quenty/loader": "^10.8.
|
|
32
|
-
"@quenty/maid": "^3.4.
|
|
33
|
-
"@quenty/playerutils": "^8.17.
|
|
34
|
-
"@quenty/promise": "^10.10.
|
|
35
|
-
"@quenty/remoting": "^12.18.
|
|
36
|
-
"@quenty/rx": "^13.17.
|
|
37
|
-
"@quenty/servicebag": "^11.11.
|
|
38
|
-
"@quenty/table": "^3.7.
|
|
28
|
+
"@quenty/baseobject": "^10.8.1",
|
|
29
|
+
"@quenty/brio": "^14.17.1",
|
|
30
|
+
"@quenty/grouputils": "^10.10.2",
|
|
31
|
+
"@quenty/loader": "^10.8.1",
|
|
32
|
+
"@quenty/maid": "^3.4.1",
|
|
33
|
+
"@quenty/playerutils": "^8.17.1",
|
|
34
|
+
"@quenty/promise": "^10.10.2",
|
|
35
|
+
"@quenty/remoting": "^12.18.1",
|
|
36
|
+
"@quenty/rx": "^13.17.1",
|
|
37
|
+
"@quenty/servicebag": "^11.11.2",
|
|
38
|
+
"@quenty/table": "^3.7.2"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "78c3ac0ab08dd18085b6e6e6e4f745e76ed99f68"
|
|
44
44
|
}
|
|
@@ -15,6 +15,7 @@ local PermissionProviderConstants = require("PermissionProviderConstants")
|
|
|
15
15
|
local PermissionProviderClient = require("PermissionProviderClient")
|
|
16
16
|
local Promise = require("Promise")
|
|
17
17
|
local Maid = require("Maid")
|
|
18
|
+
local _ServiceBag = require("ServiceBag")
|
|
18
19
|
|
|
19
20
|
local PermissionServiceClient = {}
|
|
20
21
|
PermissionServiceClient.ServiceName = "PermissionServiceClient"
|
|
@@ -23,7 +24,7 @@ PermissionServiceClient.ServiceName = "PermissionServiceClient"
|
|
|
23
24
|
Initializes the permission service on the client. Should be done via [ServiceBag].
|
|
24
25
|
@param serviceBag ServiceBag
|
|
25
26
|
]=]
|
|
26
|
-
function PermissionServiceClient:Init(serviceBag)
|
|
27
|
+
function PermissionServiceClient:Init(serviceBag: _ServiceBag.ServiceBag)
|
|
27
28
|
assert(not self._serviceBag, "Already initialized")
|
|
28
29
|
self._serviceBag = assert(serviceBag, "no serviceBag")
|
|
29
30
|
self._maid = Maid.new()
|
|
@@ -49,7 +49,7 @@ end
|
|
|
49
49
|
@param permissionLevel PermissionLevel
|
|
50
50
|
@return Promise<boolean>
|
|
51
51
|
]=]
|
|
52
|
-
function BasePermissionProvider:PromiseIsPermissionLevel(player, permissionLevel)
|
|
52
|
+
function BasePermissionProvider:PromiseIsPermissionLevel(player: Player, permissionLevel)
|
|
53
53
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
54
54
|
assert(PermissionLevelUtils.isPermissionLevel(permissionLevel), "Bad permissionLevel")
|
|
55
55
|
|
|
@@ -62,7 +62,7 @@ end
|
|
|
62
62
|
@param permissionLevel PermissionLevel
|
|
63
63
|
@return Promise<boolean>
|
|
64
64
|
]=]
|
|
65
|
-
function BasePermissionProvider:IsPermissionLevel(player, permissionLevel)
|
|
65
|
+
function BasePermissionProvider:IsPermissionLevel(player: Player, permissionLevel): boolean
|
|
66
66
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
67
67
|
assert(PermissionLevelUtils.isPermissionLevel(permissionLevel), "Bad permissionLevel")
|
|
68
68
|
|
|
@@ -85,7 +85,7 @@ end
|
|
|
85
85
|
@param player Player
|
|
86
86
|
@return Promise<boolean>
|
|
87
87
|
]=]
|
|
88
|
-
function BasePermissionProvider:PromiseIsCreator(player)
|
|
88
|
+
function BasePermissionProvider:PromiseIsCreator(player: Player)
|
|
89
89
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
90
90
|
|
|
91
91
|
return self:PromiseIsPermissionLevel(player, PermissionLevel.CREATOR)
|
|
@@ -96,7 +96,7 @@ end
|
|
|
96
96
|
@param player Player
|
|
97
97
|
@return Promise<boolean>
|
|
98
98
|
]=]
|
|
99
|
-
function BasePermissionProvider:PromiseIsAdmin(player)
|
|
99
|
+
function BasePermissionProvider:PromiseIsAdmin(player: Player)
|
|
100
100
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
101
101
|
|
|
102
102
|
return self:PromiseIsPermissionLevel(player, PermissionLevel.ADMIN)
|
|
@@ -112,7 +112,7 @@ end
|
|
|
112
112
|
@param player Player
|
|
113
113
|
@return boolean
|
|
114
114
|
]=]
|
|
115
|
-
function BasePermissionProvider:IsCreator(player)
|
|
115
|
+
function BasePermissionProvider:IsCreator(player: Player): boolean
|
|
116
116
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
117
117
|
|
|
118
118
|
return self:IsCreator(player, PermissionLevel.CREATOR)
|
|
@@ -128,7 +128,7 @@ end
|
|
|
128
128
|
@param player Player
|
|
129
129
|
@return boolean
|
|
130
130
|
]=]
|
|
131
|
-
function BasePermissionProvider:IsAdmin(player)
|
|
131
|
+
function BasePermissionProvider:IsAdmin(player: Player): boolean
|
|
132
132
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
133
133
|
|
|
134
134
|
return self:IsPermissionLevel(player, PermissionLevel.ADMIN)
|
|
@@ -62,7 +62,7 @@ function GroupPermissionProvider:Start()
|
|
|
62
62
|
self:_handlePlayer(player)
|
|
63
63
|
end))
|
|
64
64
|
|
|
65
|
-
for _, player in
|
|
65
|
+
for _, player in Players:GetPlayers() do
|
|
66
66
|
self:_handlePlayer(player)
|
|
67
67
|
end
|
|
68
68
|
|
|
@@ -76,7 +76,7 @@ end
|
|
|
76
76
|
@param permissionLevel PermissionLevel
|
|
77
77
|
@return Promise<boolean>
|
|
78
78
|
]=]
|
|
79
|
-
function GroupPermissionProvider:PromiseIsPermissionLevel(player, permissionLevel)
|
|
79
|
+
function GroupPermissionProvider:PromiseIsPermissionLevel(player: Player, permissionLevel)
|
|
80
80
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
81
81
|
assert(PermissionLevelUtils.isPermissionLevel(permissionLevel), "Bad permissionLevel")
|
|
82
82
|
|
|
@@ -89,7 +89,7 @@ function GroupPermissionProvider:PromiseIsPermissionLevel(player, permissionLeve
|
|
|
89
89
|
end
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
function GroupPermissionProvider:_promiseIsCreator(player)
|
|
92
|
+
function GroupPermissionProvider:_promiseIsCreator(player: Player)
|
|
93
93
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
94
94
|
assert(player:IsDescendantOf(game), "Bad player")
|
|
95
95
|
|
|
@@ -97,13 +97,12 @@ function GroupPermissionProvider:_promiseIsCreator(player)
|
|
|
97
97
|
return Promise.resolved(true)
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
return self:_promiseRankInGroup(player)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
end)
|
|
100
|
+
return self:_promiseRankInGroup(player):Then(function(rank)
|
|
101
|
+
return rank >= self._config.minCreatorRequiredRank
|
|
102
|
+
end)
|
|
104
103
|
end
|
|
105
104
|
|
|
106
|
-
function GroupPermissionProvider:_promiseIsAdmin(player)
|
|
105
|
+
function GroupPermissionProvider:_promiseIsAdmin(player: Player)
|
|
107
106
|
assert(player:IsDescendantOf(game))
|
|
108
107
|
|
|
109
108
|
-- really not saving much time.
|
|
@@ -115,29 +114,26 @@ function GroupPermissionProvider:_promiseIsAdmin(player)
|
|
|
115
114
|
return Promise.resolved(true)
|
|
116
115
|
end
|
|
117
116
|
|
|
118
|
-
return self:_promiseRankInGroup(player)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
end)
|
|
117
|
+
return self:_promiseRankInGroup(player):Then(function(rank)
|
|
118
|
+
return rank >= self._config.minAdminRequiredRank
|
|
119
|
+
end)
|
|
122
120
|
end
|
|
123
121
|
|
|
124
|
-
|
|
125
|
-
function GroupPermissionProvider:_handlePlayer(player)
|
|
122
|
+
function GroupPermissionProvider:_handlePlayer(player: Player)
|
|
126
123
|
assert(player, "Bad player")
|
|
127
124
|
|
|
128
|
-
self:_promiseRankInGroup(player)
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
end
|
|
125
|
+
self:_promiseRankInGroup(player):Then(function(rank)
|
|
126
|
+
if rank >= self._config.minAdminRequiredRank then
|
|
127
|
+
self._adminsCache[player.UserId] = true
|
|
128
|
+
end
|
|
133
129
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
if rank >= self._config.minCreatorRequiredRank then
|
|
131
|
+
self._creatorCache[player.UserId] = true
|
|
132
|
+
end
|
|
133
|
+
end)
|
|
138
134
|
end
|
|
139
135
|
|
|
140
|
-
function GroupPermissionProvider:_promiseRankInGroup(player)
|
|
136
|
+
function GroupPermissionProvider:_promiseRankInGroup(player: Player)
|
|
141
137
|
assert(typeof(player) == "Instance", "Bad player")
|
|
142
138
|
|
|
143
139
|
if self._promiseRankPromisesCache[player.UserId] then
|