@@ -10,19 +10,28 @@ def initialize(options, app)
1010 @uuids = options [ :uuids ] || { }
1111 options [ :channels ] = options [ :channels ] || { }
1212 options [ :channel_groups ] = options [ :channel_groups ] || { }
13+ @spaces_permissions = options [ :spaces_permissions ] || { }
14+ @users_permissions = options [ :users_permissions ] || { }
1315 super
1416 end
1517
1618 def fire
1719 Pubnub . logger . debug ( 'Pubnub::GrantToken' ) { "Fired event #{ self . class } " }
20+ if @authorized_user_id != nil
21+ uuid = @authorized_user_id
22+ elsif @authorized_uuid != nil
23+ uuid = @authorized_uuid
24+ else
25+ uuid = nil
26+ end
1827
1928 raw_body = {
2029 ttl : @ttl ,
2130 permissions : {
2231 meta : @meta ,
23- uuid : @authorized_uuid ,
24- resources : prepare_permissions ( :resource , @channels , @channel_groups , @uuids ) ,
25- patterns : prepare_permissions ( :pattern , @channels , @channel_groups , @uuids )
32+ uuid : uuid ,
33+ resources : prepare_permissions ( :resource , @channels , @channel_groups , @uuids , @spaces_permissions , @users_permissions ) ,
34+ patterns : prepare_permissions ( :pattern , @channels , @channel_groups , @uuids , @spaces_permissions , @users_permissions )
2635 } . select { |_ , v | v }
2736 }
2837 body = Formatter . format_message ( raw_body , "" , false , false )
@@ -47,11 +56,11 @@ def current_operation
4756 Pubnub ::Constants ::OPERATION_GRANT_TOKEN
4857 end
4958
50- def prepare_permissions ( type , channels , groups , uuids )
59+ def prepare_permissions ( type , channels , groups , uuids , spaces_permissions , users_permissions )
5160 {
52- channels : prepare_single_permissions ( type , channels ) ,
61+ channels : prepare_single_permissions ( type , channels ) . merge! ( prepare_single_permissions ( type , spaces_permissions ) ) ,
5362 groups : prepare_single_permissions ( type , groups ) ,
54- uuids : prepare_single_permissions ( type , uuids )
63+ uuids : prepare_single_permissions ( type , uuids ) . merge! ( prepare_single_permissions ( type , users_permissions ) )
5564 }
5665 end
5766
0 commit comments