VarNames   A
last analyzed

Complexity

Total Complexity 0

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 35
rs 10
c 0
b 0
f 0
wmc 0
1
from django.conf import settings
2
3
class Actions(object):
4
	LOGIN = 'addOnlineUser'
5
	SET_WS_ID = 'setWsId'
6
	LOGOUT = 'removeOnlineUser'
7
	SEND_MESSAGE = 'sendMessage'
8
	PRINT_MESSAGE = 'printMessage'
9
	WEBRTC = 'sendRtcData'
10
	CLOSE_FILE_CONNECTION = 'destroyFileConnection'
11
	CLOSE_CALL_CONNECTION = 'destroyCallConnection'
12
	CANCEL_CALL_CONNECTION = 'cancelCallConnection'
13
	ACCEPT_CALL = 'acceptCall'
14
	ACCEPT_FILE = 'acceptFile'
15
	ROOMS = 'setRooms'
16
	GROWL_MESSAGE = 'growl'
17
	GET_MESSAGES = 'loadMessages'
18
	CREATE_DIRECT_CHANNEL = 'addDirectChannel'
19
	DELETE_ROOM = 'deleteRoom'
20
	EDIT_MESSAGE = 'editMessage'
21
	DELETE_MESSAGE = 'deleteMessage'
22
	CREATE_ROOM_CHANNEL = 'addRoom'
23
	INVITE_USER = 'inviteUser'
24
	ADD_USER = 'addUserToDom'
25
	SET_WEBRTC_ID = 'setConnectionId'
26
	SET_WEBRTC_ERROR = 'setError'
27
	OFFER_FILE_CONNECTION = 'offerFile'
28
	OFFER_CALL_CONNECTION = 'offerCall'
29
	REPLY_FILE_CONNECTION = 'replyFile'
30
	RETRY_FILE_CONNECTION = 'retryFile'
31
	REPLY_CALL_CONNECTION = 'replyCall'
32
	PING = 'ping'
33
	PONG = 'pong'
34
	CHECK_PING = 'check_ping'
35
36
37
class VarNames(object):
38
	WEBRTC_QUED_ID = 'id'
39
	USER = 'user'
40
	USER_ID = 'userId'
41
	INVITER_USER_ID = 'inviterUserId'
42
	INVITEE_USER_ID = 'inviteeUserId'
43
	TIME = 'time'
44
	CONTENT = 'content'
45
	FILES = 'files'
46
	FILE_URL = 'url'
47
	FILE_TYPE = 'type'
48
	EVENT = 'action'
49
	JS_MESSAGE_ID = 'messageId'
50
	MESSAGE_ID = 'id'
51
	IMAGE_ID = 'id'
52
	GENDER = 'sex'
53
	ROOM_NAME = 'name'
54
	NOTIFICATIONS = 'notifications'
55
	VOLUME = 'volume'
56
	ROOM_ID = 'roomId'
57
	ROOM_USERS = 'users'
58
	WEBRTC_OPPONENT_ID = 'opponentWsId'
59
	GET_MESSAGES_COUNT = 'count'
60
	GET_MESSAGES_HEADER_ID = 'headerId'
61
	IS_ROOM_PRIVATE = 'private'
62
	CONNECTION_ID = 'connId'
63
	HANDLER_NAME = 'handler'
64
	GIPHY = 'giphy'
65
	SYMBOL = 'symbol'
66
	LOAD_MESSAGES_HISTORY = 'history'
67
	LOAD_MESSAGES_OFFLINE = 'offline'
68
	ONLINE = 'online'
69
	EDITED_TIMES = 'edited'
70
	PREVIEW = 'preview'
71
	DELETED = 'deleted'
72
73
74
class HandlerNames:
75
	CHANNELS = 'channels'
76
	CHAT = 'chat'
77
	GROWL = 'growl'
78
	WEBRTC = 'webrtc'
79
	PEER_CONNECTION = 'peerConnection'
80
	WEBRTC_TRANSFER = 'webrtcTransfer'
81
	WS = 'ws'
82
83
84
class WebRtcRedisStates:
85
	RESPONDED = 'responded'
86
	READY = 'ready'
87
	OFFERED = 'offered'
88
	CLOSED = 'closed'
89
90
91
class RedisPrefix:
92
	USER_ID_CHANNEL_PREFIX = 'u'
93
	PARSABLE_PREFIX = 'p'
94
	ONLINE_VAR = 'online'
95
	CONNECTION_ID_LENGTH = 8  # should be secure
96
97
	@staticmethod
98
	def set_js_user_structure(name, sex):
99
		return {
100
			VarNames.USER: name,
101
			VarNames.GENDER: settings.GENDERS[sex]
102
		}
103
104
	@classmethod
105
	def generate_user(cls, key):
106
		return cls.USER_ID_CHANNEL_PREFIX + str(key)