| 
									
										
										
										
											2015-09-07 14:53:43 -07:00
										 |  |  | /* | 
					
						
							|  |  |  |  * vim: ts=4:sw=4:expandtab | 
					
						
							| 
									
										
										
										
											2014-11-13 14:35:37 -08:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | (function () { | 
					
						
							|  |  |  |     'use strict'; | 
					
						
							|  |  |  |     window.Whisper             = window.Whisper             || {}; | 
					
						
							|  |  |  |     window.Whisper.Database    = window.Whisper.Database    || {}; | 
					
						
							|  |  |  |     window.Whisper.Database.id = window.Whisper.Database.id || 'signal'; | 
					
						
							| 
									
										
										
										
											2015-07-15 14:27:11 -07:00
										 |  |  |     window.Whisper.Database.nolog = true; | 
					
						
							| 
									
										
										
										
											2014-11-13 14:35:37 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Whisper.Database.migrations = [ | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             version: "1.0", | 
					
						
							|  |  |  |             migrate: function(transaction, next) { | 
					
						
							| 
									
										
										
										
											2014-12-11 19:41:40 -08:00
										 |  |  |                 console.log('migration 1.0'); | 
					
						
							| 
									
										
										
										
											2014-11-13 14:35:37 -08:00
										 |  |  |                 var messages = transaction.db.createObjectStore("messages"); | 
					
						
							| 
									
										
										
										
											2014-12-11 19:41:40 -08:00
										 |  |  |                 messages.createIndex("conversation", ["conversationId", "received_at"], { unique: false }); | 
					
						
							|  |  |  |                 messages.createIndex("receipt", "sent_at", { unique: false }); | 
					
						
							| 
									
										
										
										
											2014-11-13 14:35:37 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |                 var conversations = transaction.db.createObjectStore("conversations"); | 
					
						
							| 
									
										
										
										
											2014-12-11 19:41:40 -08:00
										 |  |  |                 conversations.createIndex("inbox", "active_at", { unique: false }); | 
					
						
							|  |  |  |                 conversations.createIndex("group", "members", { unique: false, multiEntry: true }); | 
					
						
							| 
									
										
										
										
											2015-01-28 02:17:46 -10:00
										 |  |  |                 conversations.createIndex("type", "type", { unique: false }); | 
					
						
							| 
									
										
										
										
											2015-04-01 13:08:09 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 15:09:03 -07:00
										 |  |  |                 var groups = transaction.db.createObjectStore('groups'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-04 20:26:26 -07:00
										 |  |  |                 var sessions = transaction.db.createObjectStore('sessions'); | 
					
						
							|  |  |  |                 var identityKeys = transaction.db.createObjectStore('identityKeys'); | 
					
						
							| 
									
										
										
										
											2015-04-21 14:11:29 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-01 13:08:09 -07:00
										 |  |  |                 var preKeys = transaction.db.createObjectStore("preKeys"); | 
					
						
							|  |  |  |                 var signedPreKeys = transaction.db.createObjectStore("signedPreKeys"); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-11 15:40:21 -07:00
										 |  |  |                 var items = transaction.db.createObjectStore("items"); | 
					
						
							| 
									
										
										
										
											2014-11-13 14:35:37 -08:00
										 |  |  |                 next(); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-10-15 12:10:03 -07:00
										 |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             version: "2.0", | 
					
						
							|  |  |  |             migrate: function(transaction, next) { | 
					
						
							|  |  |  |                 var conversations = transaction.objectStore("conversations"); | 
					
						
							|  |  |  |                 conversations.createIndex("search", "tokens", { unique: false, multiEntry: true }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 var all = new Whisper.ConversationCollection(); | 
					
						
							|  |  |  |                 all.fetch().then(function() { | 
					
						
							|  |  |  |                     all.each(function(model) { | 
					
						
							|  |  |  |                         model.updateTokens(); | 
					
						
							|  |  |  |                         model.save(); | 
					
						
							|  |  |  |                     }); | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2014-11-13 14:35:37 -08:00
										 |  |  |         } | 
					
						
							|  |  |  |     ]; | 
					
						
							|  |  |  | }()); |