[Event] Make Event subclass of State
This commit is contained in:
		
							parent
							
								
									1e46af6b67
								
							
						
					
					
						commit
						35b9e0db40
					
				|  | @ -21,6 +21,7 @@ | ||||||
|  * along with famedlysdk.  If not, see <http://www.gnu.org/licenses/>. |  * along with famedlysdk.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | import 'package:famedlysdk/src/State.dart'; | ||||||
| import 'package:famedlysdk/src/sync/EventUpdate.dart'; | import 'package:famedlysdk/src/sync/EventUpdate.dart'; | ||||||
| import 'package:famedlysdk/src/utils/ChatTime.dart'; | import 'package:famedlysdk/src/utils/ChatTime.dart'; | ||||||
| 
 | 
 | ||||||
|  | @ -28,7 +29,7 @@ import './Room.dart'; | ||||||
| import './RawEvent.dart'; | import './RawEvent.dart'; | ||||||
| 
 | 
 | ||||||
| /// Defines a timeline event for a room. | /// Defines a timeline event for a room. | ||||||
| class Event extends RawEvent { | class Event extends State { | ||||||
|   /// The status of this event. |   /// The status of this event. | ||||||
|   /// -1=ERROR |   /// -1=ERROR | ||||||
|   ///  0=SENDING |   ///  0=SENDING | ||||||
|  | @ -45,6 +46,8 @@ class Event extends RawEvent { | ||||||
|       String senderId, |       String senderId, | ||||||
|       ChatTime time, |       ChatTime time, | ||||||
|       dynamic unsigned, |       dynamic unsigned, | ||||||
|  |       dynamic prevContent, | ||||||
|  |       String stateKey, | ||||||
|       Room room}) |       Room room}) | ||||||
|       : super( |       : super( | ||||||
|             content: content, |             content: content, | ||||||
|  | @ -54,6 +57,8 @@ class Event extends RawEvent { | ||||||
|             senderId: senderId, |             senderId: senderId, | ||||||
|             time: time, |             time: time, | ||||||
|             unsigned: unsigned, |             unsigned: unsigned, | ||||||
|  |             prevContent: prevContent, | ||||||
|  |             stateKey: stateKey, | ||||||
|             room: room); |             room: room); | ||||||
| 
 | 
 | ||||||
|   /// Get a State event from a table row or from the event stream. |   /// Get a State event from a table row or from the event stream. | ||||||
|  | @ -62,6 +67,8 @@ class Event extends RawEvent { | ||||||
|         RawEvent.getMapFromPayload(jsonPayload['content']); |         RawEvent.getMapFromPayload(jsonPayload['content']); | ||||||
|     final Map<String, dynamic> unsigned = |     final Map<String, dynamic> unsigned = | ||||||
|         RawEvent.getMapFromPayload(jsonPayload['unsigned']); |         RawEvent.getMapFromPayload(jsonPayload['unsigned']); | ||||||
|  |     final Map<String, dynamic> prevContent = | ||||||
|  |         RawEvent.getMapFromPayload(jsonPayload['prev_content']); | ||||||
|     return Event( |     return Event( | ||||||
|         status: jsonPayload['status'] ?? 1, |         status: jsonPayload['status'] ?? 1, | ||||||
|         content: content, |         content: content, | ||||||
|  | @ -71,6 +78,8 @@ class Event extends RawEvent { | ||||||
|         senderId: jsonPayload['sender'], |         senderId: jsonPayload['sender'], | ||||||
|         time: ChatTime(jsonPayload['origin_server_ts']), |         time: ChatTime(jsonPayload['origin_server_ts']), | ||||||
|         unsigned: unsigned, |         unsigned: unsigned, | ||||||
|  |         prevContent: prevContent, | ||||||
|  |         stateKey: jsonPayload['state_key'], | ||||||
|         room: room); |         room: room); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -250,7 +250,8 @@ class Store { | ||||||
|         ]); |         ]); | ||||||
|       else |       else | ||||||
|         txn.rawInsert( |         txn.rawInsert( | ||||||
|             "INSERT OR REPLACE INTO Events VALUES(?, ?, ?, ?, ?, ?, ?, ?)", [ |             "INSERT OR REPLACE INTO Events VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", | ||||||
|  |             [ | ||||||
|               eventContent["event_id"], |               eventContent["event_id"], | ||||||
|               chat_id, |               chat_id, | ||||||
|               eventContent["origin_server_ts"], |               eventContent["origin_server_ts"], | ||||||
|  | @ -258,6 +259,8 @@ class Store { | ||||||
|               eventContent["type"], |               eventContent["type"], | ||||||
|               json.encode(eventContent["unsigned"] ?? ""), |               json.encode(eventContent["unsigned"] ?? ""), | ||||||
|               json.encode(eventContent["content"]), |               json.encode(eventContent["content"]), | ||||||
|  |               json.encode(eventContent["prevContent"]), | ||||||
|  |               eventContent["state_key"], | ||||||
|               status |               status | ||||||
|             ]); |             ]); | ||||||
| 
 | 
 | ||||||
|  | @ -474,6 +477,8 @@ class Store { | ||||||
|         'type TEXT, ' + |         'type TEXT, ' + | ||||||
|         'unsigned TEXT, ' + |         'unsigned TEXT, ' + | ||||||
|         'content TEXT, ' + |         'content TEXT, ' + | ||||||
|  |         'prev_content TEXT, ' + | ||||||
|  |         'state_key TEXT, ' + | ||||||
|         "status INTEGER, " + |         "status INTEGER, " + | ||||||
|         'UNIQUE(id))', |         'UNIQUE(id))', | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue