73 lines
1.7 KiB
Lua
73 lines
1.7 KiB
Lua
local CoreGui = game:GetService("CoreGui")
|
|
local Players = game:GetService("Players")
|
|
|
|
local Modules = CoreGui.RobloxGui.Modules
|
|
local LuaApp = Modules.LuaApp
|
|
local LuaChat = Modules.LuaChat
|
|
|
|
local MockId = require(LuaApp.MockId)
|
|
local DateTime = require(LuaChat.DateTime)
|
|
|
|
local Message = {}
|
|
|
|
function Message.new()
|
|
local self = {}
|
|
|
|
return self
|
|
end
|
|
|
|
function Message.mock(mergeTable)
|
|
local self = Message.new()
|
|
|
|
self.id = MockId()
|
|
self.senderTargetId = MockId()
|
|
self.conversationId = MockId()
|
|
self.senderType = "MESSAGE SENDERTYPE"
|
|
self.content = "MESSAGE CONTENT"
|
|
self.read = false
|
|
self.sent = DateTime.now()
|
|
self.previousMessageId = nil
|
|
self.filteredForReceivers = false
|
|
|
|
if mergeTable ~= nil then
|
|
for key, value in pairs(mergeTable) do
|
|
self[key] = value
|
|
end
|
|
end
|
|
|
|
return self
|
|
end
|
|
|
|
function Message.fromWeb(data, conversationId, previousMessageId)
|
|
local self = Message.new()
|
|
|
|
self.id = data.id
|
|
self.senderTargetId = tostring(data.senderTargetId)
|
|
self.senderType = data.senderType
|
|
self.content = data.content
|
|
self.read = data.read
|
|
self.sent = DateTime.fromIsoDate(data.sent)
|
|
self.conversationId = tostring(conversationId)
|
|
self.previousMessageId = previousMessageId
|
|
self.filteredForReceivers = false
|
|
|
|
return self
|
|
end
|
|
|
|
function Message.fromSentWeb(data, conversationId, previousMessageId)
|
|
local self = Message.new()
|
|
|
|
self.id = data.messageId
|
|
self.senderTargetId = tostring(Players.LocalPlayer.UserId)
|
|
self.senderType = "User"
|
|
self.content = data.content
|
|
self.read = true
|
|
self.sent = DateTime.fromIsoDate(data.sent)
|
|
self.conversationId = tostring(conversationId)
|
|
self.previousMessageId = previousMessageId
|
|
self.filteredForReceivers = data.filteredForReceivers
|
|
|
|
return self
|
|
end
|
|
|
|
return Message |