Skip to content

Commit 6d5f4e6

Browse files
committed
spaceId and MessageType in file ops
1 parent 1e95674 commit 6d5f4e6

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed

pubnub/endpoints/file_operations/publish_file_message.py

+18
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
from pubnub import utils
44
from pubnub.models.consumer.file import PNPublishFileMessageResult
55
from pubnub.endpoints.mixins import TimeTokenOverrideMixin
6+
from pubnub.models.consumer.message_type import PNMessageType
7+
from typing import Union
68

79

810
class PublishFileMessage(FileOperationEndpoint, TimeTokenOverrideMixin):
@@ -20,6 +22,8 @@ def __init__(self, pubnub):
2022
self._cipher_key = None
2123
self._replicate = None
2224
self._ptto = None
25+
self._message_type = None
26+
self._space_id = None
2327

2428
def meta(self, meta):
2529
self._meta = meta
@@ -49,6 +53,14 @@ def file_name(self, file_name):
4953
self._file_name = file_name
5054
return self
5155

56+
def message_type(self, message_type: Union[PNMessageType, str]):
57+
self._message_type = message_type
58+
return self
59+
60+
def space_id(self, space_id):
61+
self._space_id = str(space_id)
62+
return self
63+
5264
def _encrypt_message(self, message):
5365
if self._cipher_key or self._pubnub.config.cipher_key:
5466
return self._pubnub.config.crypto.encrypt(
@@ -87,6 +99,12 @@ def custom_params(self):
8799
"ttl": self._ttl,
88100
"store": 1 if self._should_store else 0
89101
})
102+
if self._message_type is not None:
103+
params['type'] = str(self._message_type)
104+
105+
if self._space_id is not None:
106+
params['space-id'] = str(self._space_id)
107+
90108
return params
91109

92110
def is_auth_required(self):

pubnub/endpoints/file_operations/send_file.py

+22-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from pubnub.endpoints.file_operations.file_based_endpoint import FileOperationEndpoint
2-
32
from pubnub.crypto import PubNubFileCrypto
43
from pubnub.enums import HttpMethod, PNOperationType
54
from pubnub.models.consumer.file import PNSendFileResult
65
from pubnub.endpoints.file_operations.publish_file_message import PublishFileMessage
76
from pubnub.endpoints.file_operations.fetch_upload_details import FetchFileUploadS3Data
87
from pubnub.request_handlers.requests_handler import RequestsRequestHandler
98
from pubnub.endpoints.mixins import TimeTokenOverrideMixin
10-
9+
from pubnub.models.consumer.message_type import PNMessageType
10+
from typing import Union
1111

1212
class SendFileNative(FileOperationEndpoint, TimeTokenOverrideMixin):
1313
def __init__(self, pubnub):
@@ -23,6 +23,8 @@ def __init__(self, pubnub):
2323
self._file_object = None
2424
self._replicate = None
2525
self._ptto = None
26+
self._message_type = None
27+
self._space_id = None
2628

2729
def file_object(self, fd):
2830
self._file_object = fd
@@ -69,7 +71,16 @@ def is_compressable(self):
6971
return True
7072

7173
def custom_params(self):
72-
return {}
74+
import ipdb
75+
ipdb.set_trace()
76+
params = {}
77+
if self._message_type is not None:
78+
params['type'] = str(self._message_type)
79+
80+
if self._space_id is not None:
81+
params['space-id'] = str(self._space_id)
82+
83+
return params
7384

7485
def validate_params(self):
7586
self.validate_subscribe_key()
@@ -110,6 +121,14 @@ def cipher_key(self, cipher_key):
110121
self._cipher_key = cipher_key
111122
return self
112123

124+
def message_type(self, message_type: Union[PNMessageType, str]):
125+
self._message_type = message_type
126+
return self
127+
128+
def space_id(self, space_id):
129+
self._space_id = str(space_id)
130+
return self
131+
113132
def create_response(self, envelope, data=None):
114133
return PNSendFileResult(envelope, self._file_upload_envelope)
115134

0 commit comments

Comments
 (0)