mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	Compare commits
	
		
			1698 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 10ce26799d | ||
|  | 91a2bb9b26 | ||
|  | 287ef9b522 | ||
|  | 32d609e796 | ||
|  | 8a435a2149 | ||
|  | 8855f29a49 | ||
|  | 384a9474c0 | ||
|  | a7f510783d | ||
|  | 1a262fe680 | ||
|  | 0c4deda091 | ||
|  | 71894c34aa | ||
|  | 8313116b7f | ||
|  | 90622d71f8 | ||
|  | 620e896a89 | ||
|  | a9a9edf658 | ||
|  | 5e2077e6ae | ||
|  | a0e4a416cd | ||
|  | 8f018cc7c6 | ||
|  | 4a470ff9e5 | ||
|  | 03e4c49f89 | ||
|  | 4f92fbf8a5 | ||
|  | dd020baee5 | ||
|  | cba9b92202 | ||
|  | d163289003 | ||
|  | c45f590e9f | ||
|  | fbb36d652f | ||
|  | 8f68b4f298 | ||
|  | 9de51c8b9e | ||
|  | 748979eafd | ||
|  | 8ad7318bd8 | ||
|  | e2fcc6711a | ||
|  | 5f6dd18489 | ||
|  | a577485e42 | ||
|  | 1fcb99fa60 | ||
|  | bdebb35f62 | ||
|  | 2b1383205b | ||
|  | 995f4f2582 | ||
|  | 15796b6870 | ||
|  | 12943ca151 | ||
|  | 0e795b2978 | ||
|  | 0eef18a799 | ||
|  | 6518d113c6 | ||
|  | ea524403f7 | ||
|  | 1d5a53fee6 | ||
|  | 395eb92d93 | ||
|  | 71323500b7 | ||
|  | 7f9bcc162e | ||
|  | 27052143ab | ||
|  | 50d3ddbed5 | ||
|  | 7ee50113d7 | ||
|  | 07bd5129ca | ||
|  | ec7021b436 | ||
|  | c75439a4b5 | ||
|  | d21cb78baa | ||
|  | c371873b7e | ||
|  | 6220b02ef0 | ||
|  | 4e15bc0bb1 | ||
|  | 2f720df9d2 | ||
|  | d57a303251 | ||
|  | 13b9f5231c | ||
|  | 71ed24344c | ||
|  | 0c8a2a23a7 | ||
|  | 5738f2a5b3 | ||
|  | d345c4850f | ||
|  | eeacd8118f | ||
|  | f5216e4799 | ||
|  | 85d13b1d62 | ||
|  | f5f48ef6c4 | ||
|  | f1ed114167 | ||
|  | 70995a7691 | ||
|  | a82b8cdb37 | ||
|  | 33511c0c10 | ||
|  | 04c93d6736 | ||
|  | 5e11806110 | ||
|  | 1e1709ca6a | ||
|  | 37602cfcae | ||
|  | 0ca0996751 | ||
|  | 63ebb46049 | ||
|  | 847766b434 | ||
|  | 056c40c0d0 | ||
|  | bff5b015ea | ||
|  | ee4ce3ffd8 | ||
|  | a73733d0fc | ||
|  | 0c5f842626 | ||
|  | 8b4cf474bd | ||
|  | 80f269d844 | ||
|  | 75c9db6432 | ||
|  | 69e36d2677 | ||
|  | eb4d86f41d | ||
|  | b0bf88c487 | ||
|  | 032ffa8367 | ||
|  | 7400c91a4f | ||
|  | fbdf089d5d | ||
|  | a7505682ed | ||
|  | b148f3d032 | ||
|  | 874972a3d3 | ||
|  | 6d095b7250 | ||
|  | ceb762e56b | ||
|  | 0c72d29684 | ||
|  | 29efe3a492 | ||
|  | 5bdfb6e11f | ||
|  | 11c63b7778 | ||
|  | befec48506 | ||
|  | 15d94e91db | ||
|  | 7787fa1758 | ||
|  | 0bd9b849b2 | ||
|  | 918e827d91 | ||
|  | 42ecc0e15b | ||
|  | a37fa0cb3f | ||
|  | 647863b489 | ||
|  | e8114fcc4f | ||
|  | 0745d9ec0b | ||
|  | 5e75d2380a | ||
|  | 32c88c7481 | ||
|  | 0aef99b98e | ||
|  | bf548f9d38 | ||
|  | a15f8d7e11 | ||
|  | 574b71de63 | ||
|  | 408ed8dbf0 | ||
|  | 98f1bc51a5 | ||
|  | f3efb22a50 | ||
|  | 5fd58def11 | ||
|  | b793f8cb88 | ||
|  | 058edcfe15 | ||
|  | 5d500de527 | ||
|  | 81207f3d27 | ||
|  | 21575d862b | ||
|  | 9359f05335 | ||
|  | 7fb22d41a0 | ||
|  | 2823bf3488 | ||
|  | 172f3689fa | ||
|  | 5a8c3f6a2b | ||
|  | 416b7088c5 | ||
|  | 3f69a3c572 | ||
|  | 268910ed3b | ||
|  | 8259b4a32c | ||
|  | 9873dd1242 | ||
|  | f4266754d8 | ||
|  | 30e84321f9 | ||
|  | 020a8766c8 | ||
|  | dc288fb18c | ||
|  | 26dfa1ffdb | ||
|  | d4e1900f89 | ||
|  | 4cd1a0ee7d | ||
|  | 355780c595 | ||
|  | ef996f3919 | ||
|  | 445902d081 | ||
|  | 31d85ed8cc | ||
|  | c8af250caa | ||
|  | b7b13c1d8b | ||
|  | b05b9196a0 | ||
|  | fbe3995398 | ||
|  | 6aa61ca306 | ||
|  | 87161cfe0d | ||
|  | 6a3e27eb62 | ||
|  | b7947a40ea | ||
|  | 1d813c82e4 | ||
|  | 46e373e822 | ||
|  | a6c79c934c | ||
|  | 08c612c876 | ||
|  | ed6181a85e | ||
|  | 0533b95562 | ||
|  | 5b4826fd08 | ||
|  | 60e213433b | ||
|  | 153de63f4d | ||
|  | 4d4d9f2000 | ||
|  | 0b38e24185 | ||
|  | d037420acb | ||
|  | 20b4b059e3 | ||
|  | 28ebca1268 | ||
|  | a89629b3de | ||
|  | eec850c11f | ||
|  | 52e0f838a9 | ||
|  | d1f70efdb4 | ||
|  | 5b1e229d7d | ||
|  | 5c55278c59 | ||
|  | 3c224e80ee | ||
|  | 5741b380f0 | ||
|  | 7335844ae3 | ||
|  | 53c361945b | ||
|  | 03d7ee9abb | ||
|  | 3670fbff49 | ||
|  | f24e27dadd | ||
|  | 53b39e2e82 | ||
|  | c20577909c | ||
|  | a87b710626 | ||
|  | 625483a8f2 | ||
|  | 121c819b79 | ||
|  | 77a3bdce1f | ||
|  | 827f8b42a0 | ||
|  | b815e10ff3 | ||
|  | c2789bf355 | ||
|  | e8d63b5647 | ||
|  | 53c6542af6 | ||
|  | d9c246f8a7 | ||
|  | 803694d113 | ||
|  | f6f9f0d2c0 | ||
|  | 47a9516ada | ||
|  | bd8b83898f | ||
|  | 97109efb6c | ||
|  | b4d9fdaeda | ||
|  | 1810116a34 | ||
|  | 3e89855aa3 | ||
|  | eaac65142f | ||
|  | ae909d1079 | ||
|  | 935e5de493 | ||
|  | 8d0df6ddb9 | ||
|  | 3b148eb6f8 | ||
|  | 4e8d1dac67 | ||
|  | 7779fd1dfe | ||
|  | 960d7dede3 | ||
|  | e663d7da1b | ||
|  | 02cc52af66 | ||
|  | f60af1f05e | ||
|  | 224fbdc8cd | ||
|  | 8561201abc | ||
|  | 3c1a809276 | ||
|  | ddf0a89e1f | ||
|  | 4b101baf00 | ||
|  | 782127dd91 | ||
|  | 7900622f38 | ||
|  | 864271d5ef | ||
|  | 5a5ea4f474 | ||
|  | 749791f6d1 | ||
|  | 5ca3e9a0bc | ||
|  | f4a4e746bf | ||
|  | 4fc8bace94 | ||
|  | 47a22f6e8d | ||
|  | 17d7ff3ff1 | ||
|  | 3582013a33 | ||
|  | 95bbdb3b6b | ||
|  | e1dd933ec0 | ||
|  | 8a57960c6e | ||
|  | a7b62b30cb | ||
|  | c9cbc2db02 | ||
|  | c92526372c | ||
|  | 5f4a84d967 | ||
|  | ef59810f89 | ||
|  | 099e90ed64 | ||
|  | 9b15437ff6 | ||
|  | a3a2f1a2b4 | ||
|  | 3261fea67f | ||
|  | b19589033d | ||
|  | 2217c5a3e0 | ||
|  | b60efbbf5a | ||
|  | e9bfe4521e | ||
|  | 79d9d79055 | ||
|  | a36022d8c1 | ||
|  | 0eb77e43e2 | ||
|  | e1d4be814f | ||
|  | aa4a645670 | ||
|  | 2c9565b4b3 | ||
|  | c5cc6b91c1 | ||
|  | 3109233d4f | ||
|  | 60e8bd98b9 | ||
|  | 32ecb43b5c | ||
|  | f03e4bc7d7 | ||
|  | 4e5ddaf7d1 | ||
|  | 35469f6f2d | ||
|  | 4c7b1d6543 | ||
|  | df69b1d8dd | ||
|  | 9d46c7253b | ||
|  | a94ae81c30 | ||
|  | 9f527f0330 | ||
|  | 68d8b1c8a9 | ||
|  | 0ab9d02434 | ||
|  | 3d324b954d | ||
|  | f028b88cce | ||
|  | 64dc522b27 | ||
|  | 3d02f82c77 | ||
|  | 528418aecb | ||
|  | 5dd73562da | ||
|  | 62cacf85ed | ||
|  | 443f389d73 | ||
|  | 08edc521e4 | ||
|  | f54f6d09b0 | ||
|  | 3219441fdf | ||
|  | 1c97310e92 | ||
|  | 0ecb2f3662 | ||
|  | 055db32510 | ||
|  | 054420225f | ||
|  | 448a3254a3 | ||
|  | b2c0eaeaf8 | ||
|  | 1b0a2b41da | ||
|  | 50b976990c | ||
|  | 9f2545395d | ||
|  | 67bffbf30b | ||
|  | 51dae378a3 | ||
|  | a0b3bc858d | ||
|  | 2e24111c2b | ||
|  | 69d529ada1 | ||
|  | bfa69a3dc3 | ||
|  | 5b862c3d29 | ||
|  | dee4083bf3 | ||
|  | 18749092ff | ||
|  | c4cc48dfc9 | ||
|  | ef847b9904 | ||
|  | 3e189d5c10 | ||
|  | 46d3160da4 | ||
|  | 78a2c1753e | ||
|  | f0b608ddec | ||
|  | 582429e762 | ||
|  | bf073690e0 | ||
|  | c012620338 | ||
|  | 5e18e7dc67 | ||
|  | 51f094f87f | ||
|  | 262a4fa3c7 | ||
|  | c778e87683 | ||
|  | dd62b306fd | ||
|  | 1f05638609 | ||
|  | 92e49214c7 | ||
|  | 9615e25a67 | ||
|  | a574fce13f | ||
|  | 238df0fb40 | ||
|  | 89356918f1 | ||
|  | 263b65997c | ||
|  | 2b757bfccd | ||
|  | 99d66ea89f | ||
|  | c78ca4c9db | ||
|  | b245b249d3 | ||
|  | a0395e9866 | ||
|  | 89aa4fbc73 | ||
|  | 74a7802088 | ||
|  | a89b6711d1 | ||
|  | b2549b2834 | ||
|  | 959c4cbe64 | ||
|  | d03d3603d2 | ||
|  | 22302e8200 | ||
|  | f117ae4915 | ||
|  | c34a9b96e4 | ||
|  | f0acfaf147 | ||
|  | e1c2573778 | ||
|  | 56d6384ae1 | ||
|  | 5f699cc28c | ||
|  | 969f31dde2 | ||
|  | 027afab6b1 | ||
|  | 6207203b35 | ||
|  | 88348c560c | ||
|  | 30062d687f | ||
|  | ffc96ad6b2 | ||
|  | 2af2b45062 | ||
|  | eabe4775bd | ||
|  | da9b321aa0 | ||
|  | 7b0aa7ab0b | ||
|  | f700e6e12b | ||
|  | a87e59cecb | ||
|  | a04aa6fd36 | ||
|  | a7d9870846 | ||
|  | c18d8d2d1b | ||
|  | f745e21e0d | ||
|  | 5f2361ebd5 | ||
|  | 9791dab97d | ||
|  | 85d986534d | ||
|  | 00faf758e8 | ||
|  | 6ba2e5cf73 | ||
|  | fb3876d28b | ||
|  | fb975849b9 | ||
|  | 16fef78344 | ||
|  | e0b4b369dc | ||
|  | 0df7851214 | ||
|  | 5d47c2b23e | ||
|  | d09b021487 | ||
|  | 910bda860c | ||
|  | 2d92b4931a | ||
|  | 212b719ee9 | ||
|  | 1db892d22f | ||
|  | 535dcb6d12 | ||
|  | 4426362799 | ||
|  | 2c609e8136 | ||
|  | 11b73b79ed | ||
|  | 28dc6b93ca | ||
|  | e70c862e72 | ||
|  | b3e66d5a83 | ||
|  | e8cd821e57 | ||
|  | 401a3f0ecb | ||
|  | e73dffad0b | ||
|  | ef1d062745 | ||
|  | f245d51746 | ||
|  | be7ac74235 | ||
|  | ad48b59893 | ||
|  | e817acba4e | ||
|  | 4ae965c5cb | ||
|  | 58fa0832f6 | ||
|  | 1502b9ce66 | ||
|  | ed9fbae65d | ||
|  | 01a7af965c | ||
|  | 99120be46d | ||
|  | 915b1d1a45 | ||
|  | e68aed2057 | ||
|  | eedeaca37d | ||
|  | 7307ca385f | ||
|  | c1fd9825aa | ||
|  | 9de7d3fc53 | ||
|  | 3c5db844ba | ||
|  | e7330c1104 | ||
|  | ec4586b164 | ||
|  | 91e5f24798 | ||
|  | 38723e0189 | ||
|  | 8c88ce6f65 | ||
|  | 0def5f9a63 | ||
|  | 4d22959e28 | ||
|  | 50a28d8c51 | ||
|  | e25b633ec4 | ||
|  | ac10701b55 | ||
|  | 75bd395669 | ||
|  | 5e353a5612 | ||
|  | c0cd321118 | ||
|  | d65624d8d2 | ||
|  | 6b359b7796 | ||
|  | 13f9d037dc | ||
|  | 1911d64c1c | ||
|  | 1c388c9805 | ||
|  | 6a957eff17 | ||
|  | 5aaa429203 | ||
|  | d4c3f1b3f2 | ||
|  | ae934720bc | ||
|  | 753c181979 | ||
|  | 55b210d7c5 | ||
|  | dc2d5a0a79 | ||
|  | c753f228ac | ||
|  | a1a744bb00 | ||
|  | 077d19b44b | ||
|  | b5627b138a | ||
|  | cb4d0624b5 | ||
|  | e2490f9975 | ||
|  | 9ede77aead | ||
|  | 8ce2afff8a | ||
|  | a2e1fb35b8 | ||
|  | bb03a8714a | ||
|  | ae772288e2 | ||
|  | 355ffd3d02 | ||
|  | 3d12341ff1 | ||
|  | 4ea934509e | ||
|  | 3db84daf94 | ||
|  | 714881ad99 | ||
|  | ee053b9fdf | ||
|  | cd48135394 | ||
|  | a06662f4ce | ||
|  | 2e6395ad88 | ||
|  | 75d8627f1c | ||
|  | a8d12f723f | ||
|  | 08dbf90a8c | ||
|  | 32dde426fd | ||
|  | b26100479d | ||
|  | faf4daa577 | ||
|  | 2526715aa4 | ||
|  | 04c573e212 | ||
|  | 99aa481ace | ||
|  | ef37bc1a99 | ||
|  | 58f4f5d1e6 | ||
|  | b72dc977e6 | ||
|  | 81bf84f2de | ||
|  | fa5d982a55 | ||
|  | e77e0ce675 | ||
|  | 32eaafd024 | ||
|  | 60c2049729 | ||
|  | dcd371b5b1 | ||
|  | e3071e630a | ||
|  | 78ea0b4ba9 | ||
|  | f07025f741 | ||
|  | 5f1f65a3c2 | ||
|  | a3e2369599 | ||
|  | 1ec446137d | ||
|  | 108afe8896 | ||
|  | a287bb59ea | ||
|  | 7992f32d34 | ||
|  | b07accfd9d | ||
|  | ccb5f3ee18 | ||
|  | 29e6b63f82 | ||
|  | 2818854c4b | ||
|  | d75b770fb9 | ||
|  | 37da0adb8a | ||
|  | 13117d2e68 | ||
|  | 4f50864ec8 | ||
|  | 30b9ef8604 | ||
|  | b063b4c528 | ||
|  | b51f5ac6fd | ||
|  | e08b0141a4 | ||
|  | 9d8b8e26a1 | ||
|  | cb70109ee7 | ||
|  | 2e0fb8aaf1 | ||
|  | ac4e6077bd | ||
|  | 8e8fa48241 | ||
|  | e541abbd60 | ||
|  | 940a70adc5 | ||
|  | 9a662f76da | ||
|  | 88e8eb7e9c | ||
|  | b365c186a1 | ||
|  | 15bc9dce1c | ||
|  | 552fc5261a | ||
|  | 83c9e6e846 | ||
|  | 2e837642e2 | ||
|  | c70a842bc6 | ||
|  | d20415c979 | ||
|  | c3438e0f3f | ||
|  | 64c9734f05 | ||
|  | 48c843c087 | ||
|  | 1bb895bb83 | ||
|  | 0e4eec10b9 | ||
|  | a3661cb763 | ||
|  | 115879ec4a | ||
|  | f1ce0c7774 | ||
|  | df11b076bc | ||
|  | 54ecd2ee75 | ||
|  | 2369bcf9fc | ||
|  | 5d8808a2ad | ||
|  | 62b993f06f | ||
|  | 8aa5608085 | ||
|  | b452d7e5c5 | ||
|  | a0f8caeccd | ||
|  | edb9bc9229 | ||
|  | 9b9d6d86d0 | ||
|  | 7f2755d4a0 | ||
|  | 3b268cc8eb | ||
|  | 768ac83e14 | ||
|  | 6dfe335707 | ||
|  | c7125d2b50 | ||
|  | e8a33a5ee7 | ||
|  | deb0b24c4c | ||
|  | cafcb67a8a | ||
|  | 4c6e9480e4 | ||
|  | 109bead1c7 | ||
|  | ae1220b970 | ||
|  | b89a2df462 | ||
|  | 8b5536ee3a | ||
|  | 647790885d | ||
|  | 227c3e4dcc | ||
|  | 4eb2407c73 | ||
|  | 43e12fbea2 | ||
|  | 2a3091f788 | ||
|  | 742df25bc2 | ||
|  | 7ac2206e9b | ||
|  | 9be1d1f697 | ||
|  | ed52f93bbb | ||
|  | 3466a19397 | ||
|  | fe53e2351c | ||
|  | 5c35b870eb | ||
|  | 90d091aedb | ||
|  | 0a05a40186 | ||
|  | 7482ed063b | ||
|  | 70e343f2fc | ||
|  | 358f3a7291 | ||
|  | 6161b1c193 | ||
|  | 94b57dadd7 | ||
|  | 81fbefb9cd | ||
|  | 6d6695e3a9 | ||
|  | 4c308ad68f | ||
|  | 989a003d2f | ||
|  | ccdb41841e | ||
|  | 0a94622413 | ||
|  | 5769587305 | ||
|  | ffbfccb701 | ||
|  | 56ce23fc36 | ||
|  | cba7e5a59f | ||
|  | 86cf8f3202 | ||
|  | 907cdd8fcb | ||
|  | 7ea53d468e | ||
|  | 586d6b4557 | ||
|  | 8f68ff1932 | ||
|  | a1ea2c9115 | ||
|  | e8ce81a133 | ||
|  | aff12950f0 | ||
|  | 75c58cbf79 | ||
|  | 87a1e98fa2 | ||
|  | d1eacbb574 | ||
|  | 71d248cd87 | ||
|  | ac608b9334 | ||
|  | 32020d78b5 | ||
|  | ff853c7d0a | ||
|  | 8526cb2315 | ||
|  | dc89f72e75 | ||
|  | 657ff16267 | ||
|  | ed759f5585 | ||
|  | a86177bb59 | ||
|  | 9f1b3cc892 | ||
|  | 8473f72ec8 | ||
|  | 666d202a3a | ||
|  | 988fae50cb | ||
|  | 98bbd17920 | ||
|  | dadcc93ae3 | ||
|  | 48e19d0149 | ||
|  | f97c9e3619 | ||
|  | 61167f6646 | ||
|  | 29cec8112e | ||
|  | 48aadc8309 | ||
|  | b2508db9af | ||
|  | 87510fd72b | ||
|  | 339f212e4c | ||
|  | 3c311cd2a4 | ||
|  | b5bf581bd9 | ||
|  | 242f139be4 | ||
|  | 6c76d862d2 | ||
|  | 62bc05134e | ||
|  | 50d3928dd5 | ||
|  | 44d641617e | ||
|  | f3b84e5185 | ||
|  | 34b8979016 | ||
|  | 6c188982b3 | ||
|  | 1175a8ee49 | ||
|  | 9c04ef9fb7 | ||
|  | 6cc3e3cdf6 | ||
|  | f8bd55374f | ||
|  | 3ccb1c6ac1 | ||
|  | d34d265d01 | ||
|  | c063f75f48 | ||
|  | 2d1f3b7633 | ||
|  | 3772d97dfa | ||
|  | 5c0355718f | ||
|  | 081693f263 | ||
|  | 8d312515dd | ||
|  | 7bd05415fa | ||
|  | 8d7687f354 | ||
|  | 42128c007f | ||
|  | dfb97d64f7 | ||
|  | b1bed18331 | ||
|  | ae50c9847d | ||
|  | 6201dd70a0 | ||
|  | 451c408063 | ||
|  | 3bbb213f82 | ||
|  | bab657e43d | ||
|  | 4b24d9562c | ||
|  | a73739d03e | ||
|  | 4485650cbc | ||
|  | 58f610b2c6 | ||
|  | 5024454914 | ||
|  | ca0e36ea81 | ||
|  | c9b2ff05e9 | ||
|  | 0973498fe9 | ||
|  | 189202b1f6 | ||
|  | cc298b1e7a | ||
|  | f8bd6183bf | ||
|  | ef60cb5395 | ||
|  | b10c083560 | ||
|  | 8eeb395523 | ||
|  | 084882a50e | ||
|  | 7c04521e9c | ||
|  | 0a0de7312c | ||
|  | 37255243f7 | ||
|  | b4b22d9353 | ||
|  | d3eb640aa2 | ||
|  | 78d431387b | ||
|  | c4bc53da59 | ||
|  | 34de8fb874 | ||
|  | 5a6ab68144 | ||
|  | c4e5b35187 | ||
|  | 2e55d544f1 | ||
|  | b778985b5e | ||
|  | f9a79fa00f | ||
|  | ef61e22f1f | ||
|  | 8a92786012 | ||
|  | a856463173 | ||
|  | cb168218fb | ||
|  | 978575498c | ||
|  | 8584de27ab | ||
|  | a36d6bf9be | ||
|  | 9b17e9976e | ||
|  | d927865cbd | ||
|  | 6de0b19569 | ||
|  | 84d7097b1a | ||
|  | 8ccc48c25d | ||
|  | 438da7cfbb | ||
|  | af5c4b5859 | ||
|  | 04360381b6 | ||
|  | 45e2dc96fb | ||
|  | ff426fc1fc | ||
|  | 6dfc2755e7 | ||
|  | 789f12ac8f | ||
|  | 9a1a76605a | ||
|  | debce78c7f | ||
|  | 48c57c7ce7 | ||
|  | 4a89df7ebf | ||
|  | 6295a1825d | ||
|  | 280955b3a2 | ||
|  | 72cc54a83f | ||
|  | c3b44b9a91 | ||
|  | 8a9875ecfa | ||
|  | 9230b07adb | ||
|  | 5a6066dcd1 | ||
|  | d4d54c5f01 | ||
|  | 141d4593ca | ||
|  | a7ddc33b6d | ||
|  | 173030e02e | ||
|  | 8ae78a9e23 | ||
|  | babc27f824 | ||
|  | 2c7eb723d5 | ||
|  | 40247a591e | ||
|  | 3a4d32f163 | ||
|  | 7f2c859b94 | ||
|  | a5764c269f | ||
|  | 6a1bfdeab9 | ||
|  | 6de0f75931 | ||
|  | fcf72262bd | ||
|  | 114017147f | ||
|  | a717ee00fb | ||
|  | f5e27278ab | ||
|  | 2cc0442ef2 | ||
|  | 687a466a35 | ||
|  | 20c24e26cc | ||
|  | 3bafc396fc | ||
|  | 08606f7d88 | ||
|  | 3fa3e912a4 | ||
|  | 44219e7ccc | ||
|  | 48abd765c6 | ||
|  | 2d38706ba8 | ||
|  | 8d45662bee | ||
|  | dc4024b6de | ||
|  | 5b67854cbe | ||
|  | 72745aca29 | ||
|  | e6e41adad0 | ||
|  | bcbf1b79c3 | ||
|  | 1d78432df4 | ||
|  | c6d912dcb7 | ||
|  | eb287917c1 | ||
|  | da53c1eaa8 | ||
|  | c67613a557 | ||
|  | 0ca107ff48 | ||
|  | 73bf2dcb02 | ||
|  | 719f10981e | ||
|  | 1774f48d07 | ||
|  | deb67d6275 | ||
|  | bafd829ff6 | ||
|  | e7aa84435b | ||
|  | 493d088d80 | ||
|  | 5f4d963580 | ||
|  | 5114f3f782 | ||
|  | 53f5df4e88 | ||
|  | e4039ea5e1 | ||
|  | 95fef8d2e5 | ||
|  | 7105b61aab | ||
|  | 78a50be663 | ||
|  | 3d3ad3b99b | ||
|  | 0d9cdcac85 | ||
|  | c4f7bb37db | ||
|  | 81ec85083a | ||
|  | 62da383623 | ||
|  | 8513e0201c | ||
|  | abd60581be | ||
|  | aff02184f8 | ||
|  | 8909d175d0 | ||
|  | 091eb8f791 | ||
|  | e10d23289e | ||
|  | 26599f057c | ||
|  | 4e0e2e8926 | ||
|  | 9c631e4398 | ||
|  | 687539cc95 | ||
|  | 03e0c98066 | ||
|  | 77f358b846 | ||
|  | 4c82e882e0 | ||
|  | 0f4ba43463 | ||
|  | f15239c006 | ||
|  | ed1b5e3843 | ||
|  | 607bdfef92 | ||
|  | 4f744564f2 | ||
|  | f64b343d8d | ||
|  | 47b803920b | ||
|  | 8888d04878 | ||
|  | 49398f5374 | ||
|  | 95d1952896 | ||
|  | 3ab2b41e8c | ||
|  | e5155130e7 | ||
|  | 724ba352e6 | ||
|  | 1239293435 | ||
|  | 16f42dd4ab | ||
|  | 350331e2ef | ||
|  | a2d6a5c3e9 | ||
|  | cb35284d37 | ||
|  | 2af37640d8 | ||
|  | 4bd298a55b | ||
|  | cd4b1235a7 | ||
|  | 5e3c85f891 | ||
|  | b2a3e1cc04 | ||
|  | d71763aedb | ||
|  | 368d0c55da | ||
|  | 637010577b | ||
|  | 7bcae9981b | ||
|  | 3752cf8cba | ||
|  | 7270bf287d | ||
|  | d821ea4095 | ||
|  | 41d1d83dc2 | ||
|  | a2fe110400 | ||
|  | fdc99bb6f9 | ||
|  | 36eac6badd | ||
|  | 7cac2521ef | ||
|  | e8a9e49e9e | ||
|  | fb55cdaea6 | ||
|  | b9b2cc8364 | ||
|  | 8dfdd090f5 | ||
|  | fe7705524a | ||
|  | 8e77d729e5 | ||
|  | 2b1b7774f8 | ||
|  | 2d58019d6e | ||
|  | fe31f08c0d | ||
|  | d9fb36a9a6 | ||
|  | 52f4876f2d | ||
|  | ad7a55d305 | ||
|  | 2e3534dfb7 | ||
|  | d288c1b052 | ||
|  | f2cf361acf | ||
|  | e7af24c139 | ||
|  | 9797942b8e | ||
|  | 32d60a7eb9 | ||
|  | 4330dc47a0 | ||
|  | 8ca9ad3497 | ||
|  | a679fedb58 | ||
|  | 880f4ad711 | ||
|  | e000fb4579 | ||
|  | 22c042e21f | ||
|  | 2c3f07521d | ||
|  | e06f3ef97e | ||
|  | 7e41a2750c | ||
|  | b2a48a1f3a | ||
|  | e1bf4dcbc9 | ||
|  | 6d847d22d3 | ||
|  | 9337564075 | ||
|  | 2fa41b44c5 | ||
|  | 8d2c2202fa | ||
|  | 380bb0cd01 | ||
|  | 789f62267c | ||
|  | 25553c9e67 | ||
|  | 81a54cd4a0 | ||
|  | 1d2fc773c2 | ||
|  | 7767edd82f | ||
|  | 99ea238c3f | ||
|  | 826c434630 | ||
|  | 4401a8e1e8 | ||
|  | 4ce4ac9584 | ||
|  | 88bd65c679 | ||
|  | 9eab3026bb | ||
|  | 7abaedbf31 | ||
|  | 402718d293 | ||
|  | 990a84c202 | ||
|  | d8e181a828 | ||
|  | 4ec671d199 | ||
|  | 9f4a514562 | ||
|  | 18ee239362 | ||
|  | 08687b76ea | ||
|  | 60d07a6871 | ||
|  | 81f4966a1a | ||
|  | 9acf723a9a | ||
|  | 47f7f5f4d9 | ||
|  | 14d6372bd8 | ||
|  | 6d912c4897 | ||
|  | 62e1284790 | ||
|  | d79ae261e1 | ||
|  | 92f6558e55 | ||
|  | 8d49249ed7 | ||
|  | d1bb62c40e | ||
|  | 42017fde5f | ||
|  | 786bbbc160 | ||
|  | 0cc013c13f | ||
|  | c5475765e5 | ||
|  | 9ea91f821c | ||
|  | b757dfcf79 | ||
|  | 44ddcdd852 | ||
|  | 66204811cf | ||
|  | 822a8509b3 | ||
|  | 9f62490a75 | ||
|  | b63ecba695 | ||
|  | d5ae3802d1 | ||
|  | 7c6cd63a53 | ||
|  | 62a80ef016 | ||
|  | 27ab55d26a | ||
|  | 34150e7177 | ||
|  | b946599320 | ||
|  | 3cd4be4e48 | ||
|  | 96e2b9bc18 | ||
|  | adb8caa8a2 | ||
|  | 0054a32dc7 | ||
|  | 513ce1a183 | ||
|  | 9f38ea6ee7 | ||
|  | 0e13678f7c | ||
|  | f0cbca2838 | ||
|  | f6f7836b8e | ||
|  | 7651c53363 | ||
|  | 0f25c8a95f | ||
|  | 1a49894adf | ||
|  | bd8c078fb9 | ||
|  | 6e060b87b8 | ||
|  | 2375b170ba | ||
|  | eeedb91ef7 | ||
|  | 05b51c0f68 | ||
|  | 8bf794f13b | ||
|  | 48b401164a | ||
|  | b65631be7e | ||
|  | 439b45b0b8 | ||
|  | 976b2aa6f5 | ||
|  | 88213c1bbd | ||
|  | d2e3aedf7f | ||
|  | 368d3b1b97 | ||
|  | 9301679707 | ||
|  | 865f7e1ee1 | ||
|  | c243d2e85c | ||
|  | 97a35d6fba | ||
|  | 3f0974d3d2 | ||
|  | 48a7c0235f | ||
|  | ac7d5f2e81 | ||
|  | 516e6c35da | ||
|  | 7cad386a56 | ||
|  | 60c908cd63 | ||
|  | 52a907651e | ||
|  | 3254b551d8 | ||
|  | 7a62d1636b | ||
|  | 7d9b720ea8 | ||
|  | ba500a3a80 | ||
|  | 606d5afcab | ||
|  | 4b66765cc1 | ||
|  | 8651e47118 | ||
|  | 34bc02965f | ||
|  | eacefeb08b | ||
|  | 11a61325f9 | ||
|  | 370c63986d | ||
|  | d103b16d9a | ||
|  | c63bb7ce8a | ||
|  | af5c623671 | ||
|  | 55d1f9e9f0 | ||
|  | 96a7b4e45e | ||
|  | c83ca78565 | ||
|  | c5eac8f438 | ||
|  | 9bc1f5af45 | ||
|  | 423a70d102 | ||
|  | 562c729ed6 | ||
|  | 0760dc742b | ||
|  | 1098d75ce0 | ||
|  | bd8e5f255b | ||
|  | 8da094cd3c | ||
|  | 44dc3c28de | ||
|  | 828cce0d78 | ||
|  | 49c0d3199d | ||
|  | 416d733510 | ||
|  | 6de4914ea6 | ||
|  | 9f1e777e6d | ||
|  | adb9ce5e93 | ||
|  | 746181689f | ||
|  | a99c016818 | ||
|  | 37f279fab0 | ||
|  | ab535bf147 | ||
|  | 1876664dfb | ||
|  | 1690248e24 | ||
|  | cbeb8ea17e | ||
|  | e355b449c4 | ||
|  | 4fdea77c57 | ||
|  | 9a13edd490 | ||
|  | 6d276582cb | ||
|  | 493730dff6 | ||
|  | b00a9f4415 | ||
|  | b25c1d6fa8 | ||
|  | c9113ae752 | ||
|  | 0ec11d29ba | ||
|  | a6cd25071e | ||
|  | 97b13ae91d | ||
|  | 0178232f26 | ||
|  | cc138ef9f8 | ||
|  | 1552c3804d | ||
|  | 7963de0abc | ||
|  | f98a20928c | ||
|  | 209b1610f6 | ||
|  | bd0f7d3680 | ||
|  | f852e1de81 | ||
|  | c9770573b2 | ||
|  | 23701219e1 | ||
|  | c9bc4ad108 | ||
|  | 8b9c235465 | ||
|  | 20fdeee048 | ||
|  | 657d01da95 | ||
|  | 17e2627a34 | ||
|  | bf7541bfb9 | ||
|  | 9d81bf030d | ||
|  | f25d735b9d | ||
|  | 4d16018f6c | ||
|  | 5e11840137 | ||
|  | 61474defff | ||
|  | b12e38c231 | ||
|  | d1f679ab90 | ||
|  | 0f8a7bad06 | ||
|  | 9e031dcd60 | ||
|  | 51c3f98dde | ||
|  | a79a063d17 | ||
|  | 5e91b1b5e0 | ||
|  | 7877443fb4 | ||
|  | 759e47bfcf | ||
|  | 67bdffb27b | ||
|  | 3386dace3b | ||
|  | f3a2e2cbde | ||
|  | 3cf3fc13b9 | ||
|  | 2b69abf8ab | ||
|  | 3e49a7dbfa | ||
|  | 4c7c3105e8 | ||
|  | f782d2bef9 | ||
|  | ccaa9eae3a | ||
|  | 24c5388e0c | ||
|  | 1cd2711097 | ||
|  | f0dfe7d552 | ||
|  | 3b8b4da149 | ||
|  | 2150619d62 | ||
|  | acb76e0630 | ||
|  | fdb46f9329 | ||
|  | ca587cccf6 | ||
|  | 571772069a | ||
|  | 79e7762c72 | ||
|  | d025cfee1b | ||
|  | 7793552443 | ||
|  | f377a84fa1 | ||
|  | b8f2797abf | ||
|  | 54d89a9f47 | ||
|  | 1699646b39 | ||
|  | 94a0a31f17 | ||
|  | 10219fb9dd | ||
|  | 50431dd55a | ||
|  | 17b23d92ef | ||
|  | 14f3c783f2 | ||
|  | c1d0a1e07b | ||
|  | 1d3608b7bf | ||
|  | d0c655f66a | ||
|  | ac75fd2ca3 | ||
|  | 3b98428c8c | ||
|  | 7d877d0fef | ||
|  | cb79f2c7eb | ||
|  | 547a5714ae | ||
|  | 82420fe5f6 | ||
|  | 395913d1bb | ||
|  | f3a29b55ba | ||
|  | 232321f3a4 | ||
|  | 51dddb0bbb | ||
|  | 8b9bf6e46f | ||
|  | 631a75deec | ||
|  | 3f1d0e5872 | ||
|  | 0fe91d0184 | ||
|  | 2f711a12f8 | ||
|  | 64f32ba38f | ||
|  | 7db4859fb9 | ||
|  | eee9fcae5c | ||
|  | 9c4a976342 | ||
|  | e4a09c6207 | ||
|  | d467db2227 | ||
|  | b8d6ff0542 | ||
|  | a9b8e65c9b | ||
|  | bb8b563ece | ||
|  | 05a8ffb944 | ||
|  | 2502646a64 | ||
|  | 3d95d69f80 | ||
|  | df751f5d67 | ||
|  | 4f06b6de78 | ||
|  | d2177cd517 | ||
|  | 0affcf5ad2 | ||
|  | 7a416b107b | ||
|  | 1ff124dab7 | ||
|  | 4cb511bad0 | ||
|  | 73c8d145fa | ||
|  | ab79f24729 | ||
|  | cec71f65b3 | ||
|  | f75c008154 | ||
|  | 474baa7d95 | ||
|  | a155b6e8d5 | ||
|  | 229974e543 | ||
|  | 6fc19bfb93 | ||
|  | ccaa108faa | ||
|  | 0a72383495 | ||
|  | d389100611 | ||
|  | ea7257a5b2 | ||
|  | 0ebc947fbd | ||
|  | c89514f9bb | ||
|  | e0368e395c | ||
|  | 6986c201dd | ||
|  | bcf163f8a1 | ||
|  | 15aaead7b9 | ||
|  | d29c5c4758 | ||
|  | 81e2baeee5 | ||
|  | 4cececafc9 | ||
|  | 7c8e7a3f4b | ||
|  | 613d5f93e8 | ||
|  | 4f5b23fbf8 | ||
|  | a37b9cfc7b | ||
|  | 2bc18bc214 | ||
|  | f31a998c5d | ||
|  | 5552917533 | ||
|  | a9702aa6a2 | ||
|  | d1941cc650 | ||
|  | f98fa4098f | ||
|  | 5350496ed4 | ||
|  | b62d79044a | ||
|  | 0db3722ec2 | ||
|  | d47403c0e7 | ||
|  | 77311954a1 | ||
|  | b7cf4fe96b | ||
|  | 6d9b702d4c | ||
|  | 6e4c30571c | ||
|  | 5988776b7e | ||
|  | 384da60953 | ||
|  | 21fab412cb | ||
|  | eb4dfbad92 | ||
|  | aff9ce97ee | ||
|  | b0a3f828fb | ||
|  | 76f5736255 | ||
|  | a82066d899 | ||
|  | 45c5287d53 | ||
|  | dce54c7af3 | ||
|  | ee15db0ae1 | ||
|  | c48dbb0913 | ||
|  | 882ebdbd8f | ||
|  | 6f32d6fabe | ||
|  | 1e123f2390 | ||
|  | b29155775e | ||
|  | b821ed28fc | ||
|  | fdb8959aa1 | ||
|  | 7554cb057b | ||
|  | fab959539a | ||
|  | afe44a6fe8 | ||
|  | 7ed526beb7 | ||
|  | af695802e3 | ||
|  | 156f040880 | ||
|  | cf6f04defb | ||
|  | a890b91079 | ||
|  | e0aabe4f9c | ||
|  | 01cd9d8fb3 | ||
|  | af10f0f52a | ||
|  | aa5ede5039 | ||
|  | 21e77c83fc | ||
|  | b0310e34e2 | ||
|  | 9812b9c272 | ||
|  | 92d5f91aa6 | ||
|  | b0368c7f17 | ||
|  | 8e1f8c869b | ||
|  | 4688cda493 | ||
|  | 761c51069a | ||
|  | 4dc285d84f | ||
|  | 0e2f8b5734 | ||
|  | a1402c7c66 | ||
|  | 6ba3e5ab7f | ||
|  | f740e52ebf | ||
|  | e9454e4db7 | ||
|  | 749bb90713 | ||
|  | eb8c296e62 | ||
|  | dc063983ea | ||
|  | 2595c3ac31 | ||
|  | 9cb8bc5dd8 | ||
|  | 3b690f5456 | ||
|  | 7ef2e7769f | ||
|  | 4c07ac4c4c | ||
|  | 35cd7f3261 | ||
|  | 8c3e2e5eb7 | ||
|  | d57caee0d3 | ||
|  | 6e83980784 | ||
|  | 295af1f43e | ||
|  | ed2afe5c20 | ||
|  | bfc7570e14 | ||
|  | d9b9d730bb | ||
|  | ba8a8dca7b | ||
|  | 29eb5a8435 | ||
|  | 5de92171a7 | ||
|  | 29c5e394ab | ||
|  | 07b3d11fe5 | ||
|  | 67663fba50 | ||
|  | 995ebbf577 | ||
|  | d0e6be3e0c | ||
|  | 01370a5968 | ||
|  | 6c561b5764 | ||
|  | 2953f1bdb8 | ||
|  | 1c057cac75 | ||
|  | 0415efd33b | ||
|  | e58dc829f5 | ||
|  | 90d10c1ff3 | ||
|  | 5b30291601 | ||
|  | 5193f073e9 | ||
|  | 6c7d8a9667 | ||
|  | 5e9bedd903 | ||
|  | e712990c03 | ||
|  | 91487b338a | ||
|  | 3ff24d53e5 | ||
|  | 94c904fb40 | ||
|  | 5f258fbbbf | ||
|  | 56c7b7f5bd | ||
|  | bf9ad976b9 | ||
|  | 19206d1e0d | ||
|  | 420be6d8c6 | ||
|  | dbd2040bee | ||
|  | 1e979d71c7 | ||
|  | 6bbd4c59bc | ||
|  | 3a54d00e2b | ||
|  | 499c9a7381 | ||
|  | cd139bdd76 | ||
|  | 60c3b5cccc | ||
|  | 540f9f933a | ||
|  | a59943094e | ||
|  | c400a7143c | ||
|  | 1f37d00e42 | ||
|  | d21e824343 | ||
|  | ff3f0ee0a0 | ||
|  | 01ff34b5d4 | ||
|  | 0cde7ede24 | ||
|  | 92cb723d0c | ||
|  | e4bec265c1 | ||
|  | 434d8ef48c | ||
|  | c8ba07a4ae | ||
|  | 4da6234911 | ||
|  | 38e7649ac3 | ||
|  | ff0245f05f | ||
|  | 7a2c7edd7e | ||
|  | 98c81faedb | ||
|  | cfb850acb2 | ||
|  | a16aaf7a81 | ||
|  | 465c3b87a7 | ||
|  | 0e5028acd3 | ||
|  | 00c295e4bf | ||
|  | 7084ed4fb1 | ||
|  | 587134c2f8 | ||
|  | 5fac2c7633 | ||
|  | 08a518479b | ||
|  | 522f71cb91 | ||
|  | bcdfb47939 | ||
|  | 667471e7bb | ||
|  | d357943ebb | ||
|  | 07043fb177 | ||
|  | 3c4ec7fe1a | ||
|  | 1f8d382b1f | ||
|  | 4bd7438fca | ||
|  | 0ae9c8da17 | ||
|  | 61e8cbbcba | ||
|  | 86c5dd6494 | ||
|  | f921562346 | ||
|  | c5acb7fc9b | ||
|  | 643d9077fc | ||
|  | b4709e8ee5 | ||
|  | a1181623b7 | ||
|  | 73a6c66379 | ||
|  | 1d5daa8dfd | ||
|  | 834e1f7253 | ||
|  | c141f4b2c0 | ||
|  | 1a87190f43 | ||
|  | a1262aaaf3 | ||
|  | 1838f097e5 | ||
|  | 95d0ad1cad | ||
|  | 767aaa18f4 | ||
|  | 8a7228146c | ||
|  | f9b5e473f2 | ||
|  | 3d294c5163 | ||
|  | 60231de0ed | ||
|  | 35e9df6170 | ||
|  | 13c0411533 | ||
|  | c5e040c4a4 | ||
|  | e00ab5dbf9 | ||
|  | 95c37cfdd1 | ||
|  | de02e9e889 | ||
|  | e143becb7a | ||
|  | c0eb30472e | ||
|  | 8b320bb85f | ||
|  | d93b9b8a23 | ||
|  | 69b53fdfb3 | ||
|  | 920d71a5a6 | ||
|  | d4a277321c | ||
|  | 4068691078 | ||
|  | 86d7e139a4 | ||
|  | 44add751b2 | ||
|  | c49c69f824 | ||
|  | 7bd1d8feb4 | ||
|  | 4ba7e74b58 | ||
|  | 4cda661c1b | ||
|  | 5b4a2bd71c | ||
|  | a808e12d31 | ||
|  | 1f3f9a4037 | ||
|  | 77ac8df1e6 | ||
|  | b53e2a3570 | ||
|  | 7539e6a616 | ||
|  | b5a0cadcf4 | ||
|  | b8db842788 | ||
|  | dea5195223 | ||
|  | c3ea2ae1b3 | ||
|  | 1fddd6f318 | ||
|  | 466a4802b6 | ||
|  | 8f2d2b189c | ||
|  | 0837cabb41 | ||
|  | 5646218be8 | ||
|  | 169551c6a8 | ||
|  | 3a1c80c189 | ||
|  | 31bcc037f1 | ||
|  | 179d530ea9 | ||
|  | da92809299 | ||
|  | c2ebd4b308 | ||
|  | 9b24ae0600 | ||
|  | 7cd75cebfc | ||
|  | 664485ccd5 | ||
|  | 60ac1a04f4 | ||
|  | 7c7beb5502 | ||
|  | 5aa5ec3af1 | ||
|  | 58a857cf79 | ||
|  | 712f67e983 | ||
|  | 3149dff880 | ||
|  | d58e98e361 | ||
|  | 744855d4f5 | ||
|  | 8a9f2ff1d8 | ||
|  | f539aedd25 | ||
|  | 05547845cb | ||
|  | 9b905563c3 | ||
|  | 894c888d87 | ||
|  | 34d4274032 | ||
|  | b685d7ffb5 | ||
|  | d87c469fbb | ||
|  | d8730f1722 | ||
|  | 72fda89360 | ||
|  | 7075842954 | ||
|  | a2c78e2c5c | ||
|  | 9c9ef1c7b4 | ||
|  | df40accdd4 | ||
|  | b67aa99b86 | ||
|  | 5ecb881cec | ||
|  | fcb6a06d68 | ||
|  | 5b5ab0b044 | ||
|  | ab04bde5fb | ||
|  | c9e4261930 | ||
|  | 9ea8209d4e | ||
|  | 56e50cc850 | ||
|  | fc87bcf10c | ||
|  | b471d51cb4 | ||
|  | b7b583ff04 | ||
|  | 475fddeec1 | ||
|  | 2af86927b0 | ||
|  | 2e58e32112 | ||
|  | 5c05963bd9 | ||
|  | 4e5e3e4675 | ||
|  | f7c59700a5 | ||
|  | f1a7fce277 | ||
|  | cf53cbf1dd | ||
|  | 1a182d1b58 | ||
|  | 8bd52f349a | ||
|  | 68faa47c6f | ||
|  | 2f2a14d4b8 | ||
|  | a2a53deb94 | ||
|  | d50e072ea4 | ||
|  | 904eb25f64 | ||
|  | 205081c804 | ||
|  | c4d5060a0b | ||
|  | 5bba18191f | ||
|  | 5e3538669d | ||
|  | 23c449ca0c | ||
|  | b7344329f4 | ||
|  | e04845335b | ||
|  | 86a330c8c3 | ||
|  | f82e99b5ed | ||
|  | bdf42749f3 | ||
|  | 7ccbf45569 | ||
|  | c0b30e603a | ||
|  | d3c957768f | ||
|  | ed9ecf2a57 | ||
|  | 22d48b0586 | ||
|  | edc23940d0 | ||
|  | c72ea2ed60 | ||
|  | 4570319517 | ||
|  | 69d739400c | ||
|  | ec7c0f0723 | ||
|  | 3de124748d | ||
|  | 41d47c5d33 | ||
|  | 132360b46b | ||
|  | f0496cb42c | ||
|  | 1522297700 | ||
|  | 2a5ab3a5e1 | ||
|  | 358fd13c8d | ||
|  | 2305ad7405 | ||
|  | 78f5b7b288 | ||
|  | 1903c59163 | ||
|  | b16c2d19b6 | ||
|  | 00bb1236ce | ||
|  | 82bbf4173b | ||
|  | 9f4ca279aa | ||
|  | b890859025 | ||
|  | 56e4f4f5ac | ||
|  | 157bd3816d | ||
|  | 21588829c7 | ||
|  | 9689029c4b | ||
|  | 992d174b23 | ||
|  | 8886e95847 | ||
|  | 6d5762fac8 | ||
|  | e9ab044e46 | ||
|  | fda219d070 | ||
|  | 2be1aca2f3 | ||
|  | 1b318d6a30 | ||
|  | 22c4859d42 | ||
|  | 80a6361cf1 | ||
|  | 8439effeeb | ||
|  | fafab95a07 | ||
|  | 24c8e8fc2b | ||
|  | 1923bf7dda | ||
|  | 2ee94a3a69 | ||
|  | 2fb3a3eff9 | ||
|  | bcbbf4dc3e | ||
|  | 7dc793920f | ||
|  | 0b43eceb2d | ||
|  | 85f736139b | ||
|  | 98a6670cb4 | ||
|  | a15be82f00 | ||
|  | 6c3809e1db | ||
|  | 33a2cd21a3 | ||
|  | 3eebce22e7 | ||
|  | adae0625b9 | ||
|  | 5063cfb979 | ||
|  | 0835930a8a | ||
|  | c9432990b7 | ||
|  | 9ad521822d | ||
|  | 824fb08511 | ||
|  | cc4c15daf0 | ||
|  | 7718778013 | ||
|  | a25260353d | ||
|  | c1e8a4b384 | ||
|  | 3f2229d9e1 | ||
|  | 8561227622 | ||
|  | 8859e2ac40 | ||
|  | 7423b2f4fd | ||
|  | d23e9f1bc4 | ||
|  | 516277a478 | ||
|  | cbc7710d81 | ||
|  | ea71e96f72 | ||
|  | 59d1cb1833 | ||
|  | 7c54ba63ce | ||
|  | 5892b5b851 | ||
|  | 02eb737b9d | ||
|  | 144e75da9e | ||
|  | 8d14a0d687 | ||
|  | dec2c218f7 | ||
|  | dd147a7209 | ||
|  | c3fabcb666 | ||
|  | 35e825b376 | ||
|  | 334a38c493 | ||
|  | 8ec01c73cd | ||
|  | 0ef6634d41 | ||
|  | f6fc24d11d | ||
|  | ed24e32305 | ||
|  | 86df60bb74 | ||
|  | 42cf02e9a4 | ||
|  | 3add997b49 | ||
|  | 649862b01c | ||
|  | f5228f87f0 | ||
|  | 76f3e87790 | ||
|  | 30c56cd8af | ||
|  | 16be0c1014 | ||
|  | c82de8b6b2 | ||
|  | d3f2b71803 | ||
|  | f3955bcbdc | ||
|  | 90afb2a1ee | ||
|  | 2dae9b9621 | ||
|  | 521a9b0b2c | ||
|  | 2cfe9b3c03 | ||
|  | 45ee959c11 | ||
|  | 3bf8546d51 | ||
|  | ca8b603bd9 | ||
|  | faae11f070 | ||
|  | b069436039 | ||
|  | e828ef370d | ||
|  | 50a0400616 | ||
|  | 0226b1e9a8 | ||
|  | 135102d2b5 | ||
|  | a17b8a053e | ||
|  | fdc86bab50 | ||
|  | f885388bf7 | ||
|  | aa96b33bc2 | ||
|  | e36d636f93 | ||
|  | 2e05cb1764 | ||
|  | 9404e27cba | ||
|  | 494ec0b051 | ||
|  | 36b575c286 | ||
|  | d1992b061c | ||
|  | a79aec85b5 | ||
|  | 76dce5197f | ||
|  | 5d80df398b | ||
|  | a6f57d7761 | ||
|  | a981df6282 | ||
|  | ae8a2bfb1b | ||
|  | 15a2fe2570 | ||
|  | 8dadc7e518 | ||
|  | c614bc3263 | ||
|  | 1e50d88166 | ||
|  | c9cc2cb4f3 | ||
|  | c8a5c71ec2 | ||
|  | 55356963dd | ||
|  | 0e867a995f | ||
|  | 3ca37b2f42 | ||
|  | 0c78fda531 | ||
|  | 7c60080772 | ||
|  | bf5a31dcdb | ||
|  | a5e38165ef | ||
|  | fe6f19e611 | ||
|  | 576a07bcb7 | ||
|  | 4be7ac7ae1 | ||
|  | a81b00e130 | ||
|  | d4e27c1b76 | ||
|  | be477f178b | ||
|  | de95b92f90 | ||
|  | 89ed9027da | ||
|  | 1c0b55e422 | ||
|  | 10d089240a | ||
|  | 84b1f1f24e | ||
|  | c8f59ea547 | ||
|  | 9d958e1860 | ||
|  | ec06b940f4 | ||
|  | f331172c7d | ||
|  | 650d9e0b27 | ||
|  | ff1d312a43 | ||
|  | a4acbf3aea | ||
|  | 242bea236f | ||
|  | ca2f14a2d0 | ||
|  | 48a654630f | ||
|  | cf5c1c1be1 | ||
|  | 0558c30b56 | ||
|  | 36c87b7fa0 | ||
|  | d039a5f24e | ||
|  | 3e3d111d76 | ||
|  | ecb485c8bc | ||
|  | 02ab59c9e0 | ||
|  | 8e4e0bd543 | ||
|  | bbe0e9e425 | ||
|  | 24a3f814ed | ||
|  | 233a50dbb7 | ||
|  | 6d8f11d533 | ||
|  | 4e4beb26c6 | ||
|  | 1f092c2656 | ||
|  | 9622b046e0 | ||
|  | f9abea83f3 | ||
|  | b84542064c | ||
|  | 8ab2c924c4 | ||
|  | 4b9415a619 | ||
|  | c11479de58 | ||
|  | dddb02a286 | ||
|  | fab4c59f9b | ||
|  | b818f020a7 | ||
|  | 9888850c22 | ||
|  | 04209182c1 | ||
|  | 02c9dabcff | ||
|  | c9d0b8cc40 | ||
|  | 3cb421143f | ||
|  | fd9b79e115 | ||
|  | 53c4bb8a94 | ||
|  | 723fc42d88 | ||
|  | 1882b089ab | ||
|  | ad7a6c4d79 | ||
|  | 48e0e797da | ||
|  | fbb77d3e55 | ||
|  | d1d8e54d20 | ||
|  | f259c60b54 | ||
|  | aa981d3cd4 | ||
|  | f8118444f9 | ||
|  | 59da25ef55 | ||
|  | 61520bc3b3 | ||
|  | 5406b09f3a | ||
|  | 90f1bfb3e4 | ||
|  | f30eec7737 | ||
|  | 493cd1a7e0 | ||
|  | dfa1ab65c6 | ||
|  | 963ed32ce4 | ||
|  | de4733e848 | ||
|  | bfbc124e78 | ||
|  | fcd87b3e2d | ||
|  | 7bee93bb73 | ||
|  | c0c36d10e5 | ||
|  | 6e260ee563 | ||
|  | b1075d956f | ||
|  | 4dd6352aec | ||
|  | 6fe8bde720 | ||
|  | 0556ab5e66 | ||
|  | 7060700225 | ||
|  | 385b79ad34 | ||
|  | b8509c487d | ||
|  | 083dee9bdd | ||
|  | 0c2dd6aa35 | ||
|  | 743c15aacc | ||
|  | 263bff903c | ||
|  | 741dfaf2de | ||
|  | e4e4f73638 | ||
|  | 85e4bd817b | ||
|  | 78ffac8232 | ||
|  | b488adc330 | ||
|  | a06bd877c9 | ||
|  | b3834324f6 | ||
|  | d351134b75 | ||
|  | ea0835561c | ||
|  | b0c0c5f56b | ||
|  | 849fad0421 | ||
|  | eb28a3b0c9 | ||
|  | 5283b489dc | ||
|  | d54f848572 | ||
|  | 1ac0c4f874 | ||
|  | 3850f52401 | ||
|  | 6d5f8e0562 | ||
|  | 04633bdf3a | ||
|  | 97219aa12e | ||
|  | e825abf893 | ||
|  | 63b655cff4 | ||
|  | 0524942d11 | ||
|  | b5d75f183a | ||
|  | 706fc647ff | ||
|  | 13e9f9f9e7 | ||
|  | a76dcb44ae | ||
|  | b9373806cf | ||
|  | 9de2927304 | ||
|  | c3e1126489 | ||
|  | 3413c9ed64 | ||
|  | dcebcb0e73 | ||
|  | 3d7a5f20e7 | ||
|  | 6a99af64a8 | ||
|  | 7d57961ab2 | ||
|  | 95a773e5c9 | ||
|  | a912b2f23d | ||
|  | 36b581489c | ||
|  | 976684a3a8 | ||
|  | 093dfb4a39 | ||
|  | ddf381f92d | ||
|  | 2b44f3bc76 | ||
|  | 7b1fdfabf8 | ||
|  | 070e8d9647 | ||
|  | bf3360572a | ||
|  | e5036318af | ||
|  | 6d2394a9da | ||
|  | 427a266c57 | ||
|  | 196264b8c2 | ||
|  | afe24866f0 | ||
|  | d18a20cc06 | ||
|  | e94669de03 | ||
|  | 9c91b0459e | ||
|  | b161db064e | ||
|  | ec4abe0d81 | ||
|  | af21dd4463 | ||
|  | ef46727870 | ||
|  | 1ea0d283de | ||
|  | ed380e09c9 | ||
|  | b5daa83d69 | ||
|  | c4b957427d | ||
|  | 2f3b256272 | ||
|  | 6e3d8472e1 | ||
|  | 2a9f36a027 | ||
|  | cf3726289c | ||
|  | c8e4a5c9e7 | ||
|  | 3851bedb57 | ||
|  | a3951f1cce | ||
|  | 7c77ae758b | ||
|  | 20d3d61cec | ||
|  | 1b831f94a9 | ||
|  | 3f241553aa | ||
|  | 8624c83108 | ||
|  | d49cae9cea | ||
|  | 174128447b | ||
|  | 5d213eea7e | ||
|  | f45e25172b | ||
|  | ec87856ef4 | ||
|  | 6feb7ad1d5 | ||
|  | 6833e84d55 | ||
|  | 154a575701 | ||
|  | 504b2e2c4a | ||
|  | 2c5292222f | ||
|  | 989da8877b | ||
|  | 70591eadd5 | ||
|  | fead3cd7ad | ||
|  | a7cf3cdf05 | ||
|  | 5372f71faa | ||
|  | 3b76939f17 | ||
|  | c827d38f39 | ||
|  | 1e7586fae4 | ||
|  | ee89111bfb | ||
|  | 288b3077b2 | ||
|  | 5c1922ac9f | ||
|  | 93f1d46104 | ||
|  | c5daaf541a | ||
|  | 12b17b1e9e | ||
|  | ad46ba7d0f | ||
|  | 44f592c6cb | ||
|  | 943b35fb7d | ||
|  | f1967fd466 | ||
|  | ce2404b18a | ||
|  | cdd53a39f1 | ||
|  | c646019536 | ||
|  | c8049f0efe | ||
|  | f2c497049b | ||
|  | d713274ae2 | ||
|  | a72eeb9a98 | ||
|  | 41cdd5c640 | ||
|  | 4cde65d171 | ||
|  | 27659805f6 | ||
|  | 8ab081a3fd | ||
|  | ccbb2e2e12 | ||
|  | 2bf2ec5a6c | ||
|  | 4329675c60 | ||
|  | 412b0377e9 | ||
|  | 69e48ff4d7 | ||
|  | 4cacd1dfa2 | ||
|  | 0c8ad1b46e | ||
|  | d3ac7b0939 | ||
|  | e0306d4ad7 | ||
|  | 1f3d726048 | ||
|  | f3ed7e936d | ||
|  | 4b96ada781 | ||
|  | 87b16f3325 | ||
|  | 0a0663be69 | ||
|  | 7eed076674 | ||
|  | b5143c152b | ||
|  | 6ef8a4c018 | ||
|  | cfb313b60e | ||
|  | 54e37dea20 | ||
|  | e845b80e10 | ||
|  | b0303ef529 | ||
|  | 68f67ec6ee | ||
|  | 20ae67f510 | ||
|  | 33733d3ab7 | ||
|  | f08bf0be15 | 
							
								
								
									
										3
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # These are supported funding model platforms | ||||||
|  |  | ||||||
|  | github: [zadam] | ||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,9 +1,11 @@ | |||||||
| .DS_Store | .DS_Store | ||||||
| node_modules/ | node_modules/ | ||||||
| dist/ | dist/ | ||||||
|  | src/public/app-dist/ | ||||||
| npm-debug.log | npm-debug.log | ||||||
| yarn-error.log | yarn-error.log | ||||||
| *.db | *.db | ||||||
| config.ini | config.ini | ||||||
| cert.key | cert.key | ||||||
| cert.crt | cert.crt | ||||||
|  | server-package.json | ||||||
							
								
								
									
										15
									
								
								.gitpod.dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.gitpod.dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | FROM gitpod/workspace-full | ||||||
|  |  | ||||||
|  | RUN sudo apt-get update \ | ||||||
|  |     && sudo apt-get install -yq --no-install-recommends \ | ||||||
|  |         libpng16-16 \ | ||||||
|  |         libpng-dev \ | ||||||
|  |         pkg-config \ | ||||||
|  |         autoconf \ | ||||||
|  |         libtool \ | ||||||
|  |         build-essential \ | ||||||
|  |         nasm \ | ||||||
|  |         libx11-dev \ | ||||||
|  |         libxkbfile-dev \ | ||||||
|  |     && sudo rm -rf /var/lib/apt/lists/* | ||||||
|  |  | ||||||
| @@ -1,7 +1,11 @@ | |||||||
|  | image: | ||||||
|  |   file: .gitpod.dockerfile | ||||||
|  |  | ||||||
| tasks: | tasks: | ||||||
|     - before: nvm install 10 && nvm use 10 |     - before: nvm install 10 && nvm use 10 | ||||||
|       init: npm install |       init: npm install | ||||||
|       command: npm run start |       command: npm run start-server | ||||||
|  |  | ||||||
| ports: | ports: | ||||||
|     - port: 8080 |     - port: 8080 | ||||||
|       onOpen: open-preview |       onOpen: open-preview | ||||||
							
								
								
									
										6
									
								
								.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # Default ignored files | ||||||
|  | /workspace.xml | ||||||
|  |  | ||||||
|  | # Datasource local storage ignored files | ||||||
|  | /dataSources.local.xml | ||||||
|  | /dataSources/ | ||||||
							
								
								
									
										3
									
								
								.idea/codeStyles/Project.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								.idea/codeStyles/Project.xml
									
									
									
										generated
									
									
									
								
							| @@ -6,5 +6,8 @@ | |||||||
|         <option name="TAB_SIZE" value="2" /> |         <option name="TAB_SIZE" value="2" /> | ||||||
|       </value> |       </value> | ||||||
|     </option> |     </option> | ||||||
|  |     <JSCodeStyleSettings version="0"> | ||||||
|  |       <option name="USE_EXPLICIT_JS_EXTENSION" value="TRUE" /> | ||||||
|  |     </JSCodeStyleSettings> | ||||||
|   </code_scheme> |   </code_scheme> | ||||||
| </component> | </component> | ||||||
							
								
								
									
										7
									
								
								.idea/dataSources.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										7
									
								
								.idea/dataSources.xml
									
									
									
										generated
									
									
									
								
							| @@ -1,14 +1,11 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||||||
| <project version="4"> | <project version="4"> | ||||||
|   <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> |   <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> | ||||||
|     <data-source source="LOCAL" name="document.db" uuid="a2c75661-f9e2-478f-a69f-6a9409e69997"> |     <data-source source="LOCAL" name="document.db" uuid="4e69c96a-8a2b-43f5-9b40-d1608f75f7a4"> | ||||||
|       <driver-ref>sqlite.xerial</driver-ref> |       <driver-ref>sqlite.xerial</driver-ref> | ||||||
|       <synchronize>true</synchronize> |       <synchronize>true</synchronize> | ||||||
|       <jdbc-driver>org.sqlite.JDBC</jdbc-driver> |       <jdbc-driver>org.sqlite.JDBC</jdbc-driver> | ||||||
|       <jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../trilium-data/document.db</jdbc-url> |       <jdbc-url>jdbc:sqlite:$USER_HOME$/trilium-data/document.db</jdbc-url> | ||||||
|       <driver-properties> |  | ||||||
|         <property name="enable_load_extension" value="true" /> |  | ||||||
|       </driver-properties> |  | ||||||
|     </data-source> |     </data-source> | ||||||
|   </component> |   </component> | ||||||
| </project> | </project> | ||||||
| @@ -1,650 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <dataSource name="document.db"> |  | ||||||
|   <database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.15"> |  | ||||||
|     <root id="1"> |  | ||||||
|       <ServerVersion>3.25.1</ServerVersion> |  | ||||||
|     </root> |  | ||||||
|     <schema id="2" parent="1" name="main"> |  | ||||||
|       <Current>1</Current> |  | ||||||
|       <Visible>1</Visible> |  | ||||||
|     </schema> |  | ||||||
|     <collation id="3" parent="1" name="BINARY"/> |  | ||||||
|     <collation id="4" parent="1" name="NOCASE"/> |  | ||||||
|     <collation id="5" parent="1" name="RTRIM"/> |  | ||||||
|     <table id="6" parent="2" name="api_tokens"/> |  | ||||||
|     <table id="7" parent="2" name="attributes"/> |  | ||||||
|     <table id="8" parent="2" name="branches"/> |  | ||||||
|     <table id="9" parent="2" name="event_log"/> |  | ||||||
|     <table id="10" parent="2" name="links"/> |  | ||||||
|     <table id="11" parent="2" name="note_contents"/> |  | ||||||
|     <table id="12" parent="2" name="note_revisions"/> |  | ||||||
|     <table id="13" parent="2" name="notes"/> |  | ||||||
|     <table id="14" parent="2" name="options"/> |  | ||||||
|     <table id="15" parent="2" name="recent_notes"/> |  | ||||||
|     <table id="16" parent="2" name="source_ids"/> |  | ||||||
|     <table id="17" parent="2" name="sqlite_master"> |  | ||||||
|       <System>1</System> |  | ||||||
|     </table> |  | ||||||
|     <table id="18" parent="2" name="sqlite_sequence"> |  | ||||||
|       <System>1</System> |  | ||||||
|     </table> |  | ||||||
|     <table id="19" parent="2" name="sync"/> |  | ||||||
|     <column id="20" parent="6" name="apiTokenId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="21" parent="6" name="token"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="22" parent="6" name="utcDateCreated"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="23" parent="6" name="isDeleted"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="24" parent="6" name="hash"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <index id="25" parent="6" name="sqlite_autoindex_api_tokens_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>apiTokenId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="26" parent="6"> |  | ||||||
|       <ColNames>apiTokenId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_api_tokens_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="27" parent="7" name="attributeId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="28" parent="7" name="noteId"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="29" parent="7" name="type"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="30" parent="7" name="name"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="31" parent="7" name="value"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>''</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="32" parent="7" name="position"> |  | ||||||
|       <Position>6</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="33" parent="7" name="utcDateCreated"> |  | ||||||
|       <Position>7</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="34" parent="7" name="utcDateModified"> |  | ||||||
|       <Position>8</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="35" parent="7" name="isDeleted"> |  | ||||||
|       <Position>9</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="36" parent="7" name="hash"> |  | ||||||
|       <Position>10</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="37" parent="7" name="isInheritable"> |  | ||||||
|       <Position>11</Position> |  | ||||||
|       <DataType>int|0s</DataType> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <index id="38" parent="7" name="sqlite_autoindex_attributes_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>attributeId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <index id="39" parent="7" name="IDX_attributes_noteId_index"> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="40" parent="7" name="IDX_attributes_name_value"> |  | ||||||
|       <ColNames>name |  | ||||||
| value</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="41" parent="7" name="IDX_attributes_name_index"> |  | ||||||
|       <ColNames>name</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="42" parent="7" name="IDX_attributes_value_index"> |  | ||||||
|       <ColNames>value</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <key id="43" parent="7"> |  | ||||||
|       <ColNames>attributeId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_attributes_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="44" parent="8" name="branchId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="45" parent="8" name="noteId"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="46" parent="8" name="parentNoteId"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="47" parent="8" name="notePosition"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>INTEGER|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="48" parent="8" name="prefix"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="49" parent="8" name="isExpanded"> |  | ||||||
|       <Position>6</Position> |  | ||||||
|       <DataType>BOOLEAN|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="50" parent="8" name="isDeleted"> |  | ||||||
|       <Position>7</Position> |  | ||||||
|       <DataType>INTEGER|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="51" parent="8" name="utcDateModified"> |  | ||||||
|       <Position>8</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="52" parent="8" name="utcDateCreated"> |  | ||||||
|       <Position>9</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="53" parent="8" name="hash"> |  | ||||||
|       <Position>10</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <index id="54" parent="8" name="sqlite_autoindex_branches_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>branchId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <index id="55" parent="8" name="IDX_branches_noteId_parentNoteId"> |  | ||||||
|       <ColNames>noteId |  | ||||||
| parentNoteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="56" parent="8" name="IDX_branches_noteId"> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="57" parent="8" name="IDX_branches_parentNoteId"> |  | ||||||
|       <ColNames>parentNoteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <key id="58" parent="8"> |  | ||||||
|       <ColNames>branchId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_branches_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="59" parent="9" name="eventId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="60" parent="9" name="noteId"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="61" parent="9" name="comment"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="62" parent="9" name="utcDateCreated"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="63" parent="9" name="sqlite_autoindex_event_log_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>eventId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="64" parent="9"> |  | ||||||
|       <ColNames>eventId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_event_log_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="65" parent="10" name="linkId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="66" parent="10" name="noteId"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="67" parent="10" name="targetNoteId"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="68" parent="10" name="type"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="69" parent="10" name="hash"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="70" parent="10" name="isDeleted"> |  | ||||||
|       <Position>6</Position> |  | ||||||
|       <DataType>INTEGER|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="71" parent="10" name="utcDateCreated"> |  | ||||||
|       <Position>7</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="72" parent="10" name="utcDateModified"> |  | ||||||
|       <Position>8</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="73" parent="10" name="sqlite_autoindex_links_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>linkId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <index id="74" parent="10" name="IDX_links_noteId_index"> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="75" parent="10" name="IDX_links_targetNoteId_index"> |  | ||||||
|       <ColNames>targetNoteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <key id="76" parent="10"> |  | ||||||
|       <ColNames>linkId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_links_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="77" parent="11" name="noteId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="78" parent="11" name="content"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <DefaultExpression>NULL</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="79" parent="11" name="hash"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="80" parent="11" name="utcDateModified"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="81" parent="11" name="sqlite_autoindex_note_contents_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="82" parent="11"> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_note_contents_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="83" parent="12" name="noteRevisionId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="84" parent="12" name="noteId"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="85" parent="12" name="title"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="86" parent="12" name="content"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="87" parent="12" name="isProtected"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="88" parent="12" name="utcDateModifiedFrom"> |  | ||||||
|       <Position>6</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="89" parent="12" name="utcDateModifiedTo"> |  | ||||||
|       <Position>7</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="90" parent="12" name="dateModifiedFrom"> |  | ||||||
|       <Position>8</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="91" parent="12" name="dateModifiedTo"> |  | ||||||
|       <Position>9</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="92" parent="12" name="type"> |  | ||||||
|       <Position>10</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>''</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="93" parent="12" name="mime"> |  | ||||||
|       <Position>11</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>''</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="94" parent="12" name="hash"> |  | ||||||
|       <Position>12</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <index id="95" parent="12" name="sqlite_autoindex_note_revisions_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>noteRevisionId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <index id="96" parent="12" name="IDX_note_revisions_noteId"> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="97" parent="12" name="IDX_note_revisions_dateModifiedFrom"> |  | ||||||
|       <ColNames>utcDateModifiedFrom</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <index id="98" parent="12" name="IDX_note_revisions_dateModifiedTo"> |  | ||||||
|       <ColNames>utcDateModifiedTo</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <key id="99" parent="12"> |  | ||||||
|       <ColNames>noteRevisionId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="100" parent="13" name="noteId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="101" parent="13" name="title"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>"note"</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="102" parent="13" name="isProtected"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="103" parent="13" name="type"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>'text'</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="104" parent="13" name="mime"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>'text/html'</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="105" parent="13" name="hash"> |  | ||||||
|       <Position>6</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="106" parent="13" name="isDeleted"> |  | ||||||
|       <Position>7</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="107" parent="13" name="dateCreated"> |  | ||||||
|       <Position>8</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="108" parent="13" name="dateModified"> |  | ||||||
|       <Position>9</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="109" parent="13" name="utcDateCreated"> |  | ||||||
|       <Position>10</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="110" parent="13" name="utcDateModified"> |  | ||||||
|       <Position>11</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="111" parent="13" name="sqlite_autoindex_notes_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="112" parent="13"> |  | ||||||
|       <ColNames>noteId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_notes_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="113" parent="14" name="name"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="114" parent="14" name="value"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="115" parent="14" name="isSynced"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>INTEGER|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>0</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="116" parent="14" name="hash"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="117" parent="14" name="utcDateCreated"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="118" parent="14" name="utcDateModified"> |  | ||||||
|       <Position>6</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="119" parent="14" name="sqlite_autoindex_options_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>name</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="120" parent="14"> |  | ||||||
|       <ColNames>name</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_options_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="121" parent="15" name="branchId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="122" parent="15" name="notePath"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="123" parent="15" name="hash"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <DefaultExpression>""</DefaultExpression> |  | ||||||
|     </column> |  | ||||||
|     <column id="124" parent="15" name="utcDateCreated"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="125" parent="15" name="isDeleted"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>INT|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <index id="126" parent="15" name="sqlite_autoindex_recent_notes_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>branchId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="127" parent="15"> |  | ||||||
|       <ColNames>branchId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_recent_notes_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="128" parent="16" name="sourceId"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="129" parent="16" name="utcDateCreated"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="130" parent="16" name="sqlite_autoindex_source_ids_1"> |  | ||||||
|       <NameSurrogate>1</NameSurrogate> |  | ||||||
|       <ColNames>sourceId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <key id="131" parent="16"> |  | ||||||
|       <ColNames>sourceId</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|       <UnderlyingIndexName>sqlite_autoindex_source_ids_1</UnderlyingIndexName> |  | ||||||
|     </key> |  | ||||||
|     <column id="132" parent="17" name="type"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>text|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="133" parent="17" name="name"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>text|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="134" parent="17" name="tbl_name"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>text|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="135" parent="17" name="rootpage"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>int|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="136" parent="17" name="sql"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>text|0s</DataType> |  | ||||||
|     </column> |  | ||||||
|     <column id="137" parent="18" name="name"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|     </column> |  | ||||||
|     <column id="138" parent="18" name="seq"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|     </column> |  | ||||||
|     <column id="139" parent="19" name="id"> |  | ||||||
|       <Position>1</Position> |  | ||||||
|       <DataType>INTEGER|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|       <SequenceIdentity>1</SequenceIdentity> |  | ||||||
|     </column> |  | ||||||
|     <column id="140" parent="19" name="entityName"> |  | ||||||
|       <Position>2</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="141" parent="19" name="entityId"> |  | ||||||
|       <Position>3</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="142" parent="19" name="sourceId"> |  | ||||||
|       <Position>4</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <column id="143" parent="19" name="utcSyncDate"> |  | ||||||
|       <Position>5</Position> |  | ||||||
|       <DataType>TEXT|0s</DataType> |  | ||||||
|       <NotNull>1</NotNull> |  | ||||||
|     </column> |  | ||||||
|     <index id="144" parent="19" name="IDX_sync_entityName_entityId"> |  | ||||||
|       <ColNames>entityName |  | ||||||
| entityId</ColNames> |  | ||||||
|       <Unique>1</Unique> |  | ||||||
|     </index> |  | ||||||
|     <index id="145" parent="19" name="IDX_sync_utcSyncDate"> |  | ||||||
|       <ColNames>utcSyncDate</ColNames> |  | ||||||
|     </index> |  | ||||||
|     <key id="146" parent="19"> |  | ||||||
|       <ColNames>id</ColNames> |  | ||||||
|       <Primary>1</Primary> |  | ||||||
|     </key> |  | ||||||
|   </database-model> |  | ||||||
| </dataSource> |  | ||||||
| @@ -1,2 +0,0 @@ | |||||||
| #n:main |  | ||||||
| !<md> [0, 0, null, null, -2147483648, -2147483648] |  | ||||||
							
								
								
									
										1
									
								
								.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,7 @@ | |||||||
| <component name="InspectionProjectProfileManager"> | <component name="InspectionProjectProfileManager"> | ||||||
|   <profile version="1.0"> |   <profile version="1.0"> | ||||||
|     <option name="myName" value="Project Default" /> |     <option name="myName" value="Project Default" /> | ||||||
|  |     <inspection_tool class="JSUnfilteredForInLoop" enabled="false" level="WARNING" enabled_by_default="false" /> | ||||||
|     <inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false"> |     <inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false"> | ||||||
|       <option name="processCode" value="true" /> |       <option name="processCode" value="true" /> | ||||||
|       <option name="processLiterals" value="true" /> |       <option name="processLiterals" value="true" /> | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								.idea/jsLibraryMappings.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/jsLibraryMappings.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="JavaScriptLibraryMappings"> | ||||||
|  |     <file url="PROJECT" libraries="{@types/jquery}" /> | ||||||
|  |   </component> | ||||||
|  | </project> | ||||||
							
								
								
									
										1
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
								
							| @@ -2,5 +2,6 @@ | |||||||
| <project version="4"> | <project version="4"> | ||||||
|   <component name="VcsDirectoryMappings"> |   <component name="VcsDirectoryMappings"> | ||||||
|     <mapping directory="" vcs="Git" /> |     <mapping directory="" vcs="Git" /> | ||||||
|  |     <mapping directory="$PROJECT_DIR$/../.." vcs="Git" /> | ||||||
|   </component> |   </component> | ||||||
| </project> | </project> | ||||||
							
								
								
									
										18
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |     "version": "0.2.0", | ||||||
|  |     "configurations": [ | ||||||
|  |         { | ||||||
|  |             "type": "node", | ||||||
|  |             "request": "launch", | ||||||
|  |             "name": "start-server", | ||||||
|  |             "skipFiles": [ | ||||||
|  |                 "<node_internals>/**" | ||||||
|  |             ], | ||||||
|  |             "env": { | ||||||
|  |                 "TRILIUM_ENV": "dev" | ||||||
|  |             }, | ||||||
|  |             "outputCapture": "std", | ||||||
|  |             "program": "${workspaceFolder}/src/www" | ||||||
|  |         } | ||||||
|  |     ] | ||||||
|  | } | ||||||
| @@ -1,11 +1,9 @@ | |||||||
| FROM node:10.15.3-alpine | FROM node:12.16.3-alpine | ||||||
|  |  | ||||||
| # Create app directory | # Create app directory | ||||||
| WORKDIR /usr/src/app | WORKDIR /usr/src/app | ||||||
|  |  | ||||||
| # Copy both package.json and package-lock.json | COPY server-package.json package.json | ||||||
| # where available (npm@5+) |  | ||||||
| COPY package.json package-lock.json ./ |  | ||||||
|  |  | ||||||
| # Install app dependencies | # Install app dependencies | ||||||
| RUN set -x \ | RUN set -x \ | ||||||
| @@ -18,6 +16,7 @@ RUN set -x \ | |||||||
|         make \ |         make \ | ||||||
|         nasm \ |         nasm \ | ||||||
|         libpng-dev \ |         libpng-dev \ | ||||||
|  |         python \ | ||||||
|     && npm install --production \ |     && npm install --production \ | ||||||
|     && apk del .build-dependencies |     && apk del .build-dependencies | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.md
									
									
									
									
									
								
							| @@ -8,23 +8,24 @@ Trilium Notes is a hierarchical note taking application with focus on building l | |||||||
| ## Features | ## Features | ||||||
|  |  | ||||||
| * Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes)) | * Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes)) | ||||||
| * Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-editor#autoformat) | * Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-notes#autoformat) | ||||||
| * Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting | * Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting | ||||||
| * Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting) | * Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting) | ||||||
| * Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions) | * Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions) | ||||||
| * Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts) | * Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts) | ||||||
| * [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server | * [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server | ||||||
| * Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes) with per-note granularity | * Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes) with per-note granularity | ||||||
| * [Relation maps](https://github.com/zadam/trilium/wiki/Relation-map) for visualizing notes and their relations | * [Relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map) for visualizing notes and their relations | ||||||
| * [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases) | * [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases) | ||||||
| * Scales well in both usability and performance upwards of 100 000 notes | * Scales well in both usability and performance upwards of 100 000 notes | ||||||
| * Touch optimized [mobile frontend](https://github.com/zadam/trilium/wiki/Mobile-frontend) for smartphones and tablets | * Touch optimized [mobile frontend](https://github.com/zadam/trilium/wiki/Mobile-frontend) for smartphones and tablets | ||||||
| * [Night theme](https://github.com/zadam/trilium/wiki/Themes) | * [Night theme](https://github.com/zadam/trilium/wiki/Themes) | ||||||
| * [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown) | * [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown) | ||||||
|  | * [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper) for easy saving of web content | ||||||
|  |  | ||||||
| ## Builds | ## Builds | ||||||
|  |  | ||||||
| Trilium is provided as either desktop application (Linux, Windows, Mac) or web application hosted on your server (Linux). | Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is [unsupported](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support). | ||||||
|  |  | ||||||
| * If you want to use Trilium on the desktop, download binary release for your platform from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable. | * If you want to use Trilium on the desktop, download binary release for your platform from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable. | ||||||
| * If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Server-installation). | * If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Server-installation). | ||||||
| @@ -45,5 +46,12 @@ Use a browser based dev environment | |||||||
| Or clone locally and run | Or clone locally and run | ||||||
| ``` | ``` | ||||||
| npm install | npm install | ||||||
| npm run start | npm run start-server | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | ## Shoutouts | ||||||
|  |  | ||||||
|  | * [CKEditor 5](https://github.com/ckeditor/ckeditor5) - best WYSIWYG editor on the market, very interactive and listening team | ||||||
|  | * [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. Trilium Notes would not be the same without it. | ||||||
|  | * [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages | ||||||
|  | * [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map) | ||||||
							
								
								
									
										13
									
								
								SECURITY.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								SECURITY.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | # Security Policy | ||||||
|  |  | ||||||
|  | ## Supported Versions | ||||||
|  |  | ||||||
|  | In the (still active) 0.X phase of the project only the latest stable minor release is getting bugfixes (including security ones). | ||||||
|  |  | ||||||
|  | So e.g. if the latest stable version is 0.42.3 and the latest beta version is 0.43.0-beta, then 0.42 line will still get security fixes but older versions (like 0.41.X) won't get any fixes. | ||||||
|  |  | ||||||
|  | Description above is a general rule and may be altered on case by case basis. | ||||||
|  |  | ||||||
|  | ## Reporting a Vulnerability | ||||||
|  |  | ||||||
|  | You can report low severity vulnerabilities as GitHub issues, more severe vulnerabilities should be reported to the email zadam.apps@gmail.com | ||||||
							
								
								
									
										
											BIN
										
									
								
								bin/better-sqlite3/linux-desktop-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/better-sqlite3/linux-desktop-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/better-sqlite3/linux-server-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/better-sqlite3/linux-server-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/better-sqlite3/mac-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/better-sqlite3/mac-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/better-sqlite3/win-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/better-sqlite3/win-better_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -3,6 +3,8 @@ | |||||||
| VERSION=`jq -r ".version" package.json` | VERSION=`jq -r ".version" package.json` | ||||||
| SERIES=${VERSION:0:4}-latest | SERIES=${VERSION:0:4}-latest | ||||||
|  |  | ||||||
|  | cat package.json | grep -v electron > server-package.json | ||||||
|  |  | ||||||
| sudo docker build -t zadam/trilium:$VERSION -t zadam/trilium:$SERIES . | sudo docker build -t zadam/trilium:$VERSION -t zadam/trilium:$SERIES . | ||||||
|  |  | ||||||
| if [[ $VERSION != *"beta"* ]]; then | if [[ $VERSION != *"beta"* ]]; then | ||||||
|   | |||||||
| @@ -1,14 +1,25 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | SRC_DIR=./dist/trilium-linux-x64-src | ||||||
|  |  | ||||||
|  | if [ "$1" != "DONTCOPY" ] | ||||||
|  | then | ||||||
|  |     ./bin/copy-trilium.sh $SRC_DIR | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | rm -r $SRC_DIR/src/public/app-dist/*.mobile.* | ||||||
|  |  | ||||||
|  | echo "Copying required linux-x64 binaries" | ||||||
|  |  | ||||||
|  | cp -r bin/better-sqlite3/linux-desktop-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node | ||||||
|  |  | ||||||
|  | echo "Packaging linux x64 electron build" | ||||||
|  |  | ||||||
|  | ./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite | ||||||
|  |  | ||||||
| BUILD_DIR=./dist/trilium-linux-x64 | BUILD_DIR=./dist/trilium-linux-x64 | ||||||
| rm -rf $BUILD_DIR | rm -rf $BUILD_DIR | ||||||
|  |  | ||||||
| rm -r node_modules/sqlite3/lib/binding/* |  | ||||||
|  |  | ||||||
| cp -r bin/deps/linux-x64/sqlite/* node_modules/sqlite3/lib/binding/ |  | ||||||
|  |  | ||||||
| ./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite |  | ||||||
|  |  | ||||||
| mv "./dist/Trilium Notes-linux-x64" $BUILD_DIR | mv "./dist/Trilium Notes-linux-x64" $BUILD_DIR | ||||||
|  |  | ||||||
| cp images/app-icons/png/128x128.png $BUILD_DIR/icon.png | cp images/app-icons/png/128x128.png $BUILD_DIR/icon.png | ||||||
| @@ -16,9 +27,16 @@ cp images/app-icons/png/128x128.png $BUILD_DIR/icon.png | |||||||
| # removing software WebGL binaries because they are pretty huge and not necessary | # removing software WebGL binaries because they are pretty huge and not necessary | ||||||
| rm -r $BUILD_DIR/swiftshader | rm -r $BUILD_DIR/swiftshader | ||||||
|  |  | ||||||
|  | cp bin/tpl/portable-trilium.sh $BUILD_DIR/ | ||||||
|  | chmod 755 $BUILD_DIR/portable-trilium.sh | ||||||
|  |  | ||||||
| echo "Packaging linux x64 electron distribution..." | echo "Packaging linux x64 electron distribution..." | ||||||
| VERSION=`jq -r ".version" package.json` | VERSION=`jq -r ".version" package.json` | ||||||
|  |  | ||||||
| cd dist | cd dist | ||||||
|  |  | ||||||
| tar cJf trilium-linux-x64-${VERSION}.tar.xz trilium-linux-x64 | tar cJf trilium-linux-x64-${VERSION}.tar.xz trilium-linux-x64 | ||||||
|  |  | ||||||
|  | cd .. | ||||||
|  |  | ||||||
|  | bin/build-debian.sh | ||||||
|   | |||||||
| @@ -1,27 +1,28 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | SRC_DIR=./dist/trilium-mac-x64-src | ||||||
|  |  | ||||||
|  | if [ "$1" != "DONTCOPY" ] | ||||||
|  | then | ||||||
|  |     ./bin/copy-trilium.sh $SRC_DIR | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | echo "Copying required mac binaries" | ||||||
|  |  | ||||||
|  | cp -r bin/better-sqlite3/mac-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node | ||||||
|  |  | ||||||
|  | rm -r $SRC_DIR/src/public/app-dist/*.mobile.* | ||||||
|  |  | ||||||
|  | echo "Packaging mac x64 electron build" | ||||||
|  |  | ||||||
|  | ./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns | ||||||
|  |  | ||||||
| BUILD_DIR=./dist/trilium-mac-x64 | BUILD_DIR=./dist/trilium-mac-x64 | ||||||
| rm -rf $BUILD_DIR | rm -rf $BUILD_DIR | ||||||
|  |  | ||||||
| echo "Copying required mac binaries" |  | ||||||
|  |  | ||||||
| rm -r node_modules/sqlite3/lib/binding/* |  | ||||||
| rm -r node_modules/mozjpeg/vendor/* |  | ||||||
| rm -r node_modules/pngquant-bin/vendor/* |  | ||||||
| rm -r node_modules/giflossy/vendor/* |  | ||||||
|  |  | ||||||
| cp -r bin/deps/mac-x64/sqlite/* node_modules/sqlite3/lib/binding/ |  | ||||||
| cp bin/deps/mac-x64/image/cjpeg node_modules/mozjpeg/vendor/ |  | ||||||
| cp bin/deps/mac-x64/image/pngquant node_modules/pngquant-bin/vendor/ |  | ||||||
| cp bin/deps/mac-x64/image/gifsicle node_modules/giflossy/vendor/ |  | ||||||
|  |  | ||||||
| ./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns |  | ||||||
|  |  | ||||||
| # Mac build has by default useless directory level | # Mac build has by default useless directory level | ||||||
| mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR | mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR | ||||||
|  |  | ||||||
| ./bin/reset-local.sh |  | ||||||
|  |  | ||||||
| echo "Zipping mac x64 electron distribution..." | echo "Zipping mac x64 electron distribution..." | ||||||
|  |  | ||||||
| VERSION=`jq -r ".version" package.json` | VERSION=`jq -r ".version" package.json` | ||||||
|   | |||||||
| @@ -1,40 +1,33 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
| PKG_DIR=dist/trilium-linux-x64-server | PKG_DIR=dist/trilium-linux-x64-server | ||||||
| NODE_VERSION=10.15.3 | NODE_VERSION=12.18.3 | ||||||
|  |  | ||||||
| rm -r $PKG_DIR | if [ "$1" != "DONTCOPY" ] | ||||||
| mkdir $PKG_DIR | then | ||||||
| cd $PKG_DIR |     ./bin/copy-trilium.sh $PKG_DIR | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | cd dist | ||||||
| wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz | wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz | ||||||
| tar xvfJ node-v${NODE_VERSION}-linux-x64.tar.xz | tar xvfJ node-v${NODE_VERSION}-linux-x64.tar.xz | ||||||
| rm node-v${NODE_VERSION}-linux-x64.tar.xz | rm node-v${NODE_VERSION}-linux-x64.tar.xz | ||||||
|  |  | ||||||
| mv node-v${NODE_VERSION}-linux-x64 node |  | ||||||
|  |  | ||||||
| cp -r ../../node_modules/ ./ |  | ||||||
| cp -r ../../images/ ./ |  | ||||||
| cp -r ../../libraries/ ./ |  | ||||||
| cp -r ../../src/ ./ |  | ||||||
| cp -r ../../db/ ./ |  | ||||||
| cp -r ../../package.json ./ |  | ||||||
| cp -r ../../package-lock.json ./ |  | ||||||
| cp -r ../../README.md ./ |  | ||||||
| cp -r ../../LICENSE ./ |  | ||||||
| cp -r ../../config-sample.ini ./ |  | ||||||
|  |  | ||||||
| rm -r ./node_modules/electron* |  | ||||||
|  |  | ||||||
| rm -r ./node_modules/sqlite3/lib/binding/* |  | ||||||
|  |  | ||||||
| cp -r ../../bin/deps/linux-x64/sqlite/node* ./node_modules/sqlite3/lib/binding/ |  | ||||||
|  |  | ||||||
| printf "#/bin/sh\n./node/bin/node src/www" > trilium.sh |  | ||||||
| chmod 755 trilium.sh |  | ||||||
|  |  | ||||||
| cd .. | cd .. | ||||||
|  |  | ||||||
| VERSION=`jq -r ".version" ../package.json` | mv dist/node-v${NODE_VERSION}-linux-x64 $PKG_DIR/node | ||||||
|  |  | ||||||
|  | rm -r $PKG_DIR/node/lib/node_modules/npm | ||||||
|  | rm -r $PKG_DIR/node/include/node | ||||||
|  |  | ||||||
|  | rm -r $PKG_DIR/node_modules/electron* | ||||||
|  |  | ||||||
|  | cp -r bin/better-sqlite3/linux-server-better_sqlite3.node $PKG_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node | ||||||
|  |  | ||||||
|  | printf "#!/bin/sh\n./node/bin/node src/www" > $PKG_DIR/trilium.sh | ||||||
|  | chmod 755 $PKG_DIR/trilium.sh | ||||||
|  |  | ||||||
|  | VERSION=`jq -r ".version" package.json` | ||||||
|  |  | ||||||
|  | cd dist | ||||||
|  |  | ||||||
| tar cJf trilium-linux-x64-server-${VERSION}.tar.xz trilium-linux-x64-server | tar cJf trilium-linux-x64-server-${VERSION}.tar.xz trilium-linux-x64-server | ||||||
| @@ -1,28 +1,31 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
| BUILD_DIR=./dist/trilium-windows-x64 | SRC_DIR=./dist/trilium-windows-x64-src | ||||||
| rm -rf $BUILD_DIR |  | ||||||
|  | if [ "$1" != "DONTCOPY" ] | ||||||
|  | then | ||||||
|  |     ./bin/copy-trilium.sh $SRC_DIR | ||||||
|  | fi | ||||||
|  |  | ||||||
| echo "Copying required windows binaries" | echo "Copying required windows binaries" | ||||||
|  |  | ||||||
| rm -r node_modules/sqlite3/lib/binding/* | cp -r bin/better-sqlite3/win-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node | ||||||
| rm -r node_modules/mozjpeg/vendor/* |  | ||||||
| rm -r node_modules/pngquant-bin/vendor/* |  | ||||||
| rm -r node_modules/giflossy/vendor/* |  | ||||||
|  |  | ||||||
| cp -r bin/deps/win-x64/sqlite/* node_modules/sqlite3/lib/binding/ | rm -r $SRC_DIR/src/public/app-dist/*.mobile.* | ||||||
| cp bin/deps/win-x64/image/cjpeg.exe node_modules/mozjpeg/vendor/ |  | ||||||
| cp bin/deps/win-x64/image/pngquant.exe node_modules/pngquant-bin/vendor/ |  | ||||||
| cp bin/deps/win-x64/image/gifsicle.exe node_modules/giflossy/vendor/ |  | ||||||
|  |  | ||||||
| ./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=win32  --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico | echo "Packaging windows x64 electron build" | ||||||
|  |  | ||||||
|  | ./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=win32  --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico | ||||||
|  |  | ||||||
|  | BUILD_DIR=./dist/trilium-windows-x64 | ||||||
|  | rm -rf $BUILD_DIR | ||||||
|  |  | ||||||
| mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR | mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR | ||||||
|  |  | ||||||
| # removing software WebGL binaries because they are pretty huge and not necessary | # removing software WebGL binaries because they are pretty huge and not necessary | ||||||
| rm -r $BUILD_DIR/swiftshader | rm -r $BUILD_DIR/swiftshader | ||||||
|  |  | ||||||
| ./bin/reset-local.sh | cp bin/tpl/portable-trilium.bat $BUILD_DIR/ | ||||||
|  |  | ||||||
| echo "Zipping windows x64 electron distribution..." | echo "Zipping windows x64 electron distribution..." | ||||||
| VERSION=`jq -r ".version" package.json` | VERSION=`jq -r ".version" package.json` | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								bin/build.sh
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								bin/build.sh
									
									
									
									
									
								
							| @@ -1,21 +1,23 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
| rm -r node_modules |  | ||||||
|  |  | ||||||
| npm install |  | ||||||
|  |  | ||||||
| echo "Deleting existing builds" | echo "Deleting existing builds" | ||||||
|  |  | ||||||
| rm -r dist/* | rm -rf dist/* | ||||||
|  |  | ||||||
| bin/build-win-x64.sh | SRC_DIR=dist/trilium-src | ||||||
|  |  | ||||||
| bin/build-mac-x64.sh | bin/copy-trilium.sh $SRC_DIR | ||||||
|  |  | ||||||
| # building X64 linux as the last so electron-rebuild will prepare X64 binaries for local development | # we'll just copy the same SRC dir to all the builds so we don't have to do npm install in each separately | ||||||
| bin/build-linux-x64.sh | cp -r $SRC_DIR ./dist/trilium-linux-x64-src | ||||||
|  | cp -r $SRC_DIR ./dist/trilium-linux-x64-server | ||||||
|  | cp -r $SRC_DIR ./dist/trilium-windows-x64-src | ||||||
|  | cp -r $SRC_DIR ./dist/trilium-mac-x64-src | ||||||
|  |  | ||||||
| # this needs to be run after linux build | bin/build-win-x64.sh DONTCOPY | ||||||
| bin/build-debian.sh |  | ||||||
|  |  | ||||||
| bin/build-server.sh | bin/build-mac-x64.sh DONTCOPY | ||||||
|  |  | ||||||
|  | bin/build-linux-x64.sh DONTCOPY | ||||||
|  |  | ||||||
|  | bin/build-server.sh DONTCOPY | ||||||
|   | |||||||
							
								
								
									
										51
									
								
								bin/copy-trilium.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								bin/copy-trilium.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | if [[ $# -eq 0 ]] ; then | ||||||
|  |     echo "Missing argument of target directory" | ||||||
|  |     exit 1 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | npm run webpack | ||||||
|  |  | ||||||
|  | DIR=$1 | ||||||
|  |  | ||||||
|  | rm -rf $DIR | ||||||
|  | mkdir $DIR | ||||||
|  |  | ||||||
|  | echo "Copying Trilium to build directory $DIR" | ||||||
|  |  | ||||||
|  | cp -r images $DIR/ | ||||||
|  | cp -r libraries $DIR/ | ||||||
|  | cp -r src $DIR/ | ||||||
|  | cp -r db $DIR/ | ||||||
|  | cp -r package.json $DIR/ | ||||||
|  | cp -r package-lock.json $DIR/ | ||||||
|  | cp -r README.md $DIR/ | ||||||
|  | cp -r LICENSE $DIR/ | ||||||
|  | cp -r config-sample.ini $DIR/ | ||||||
|  | cp -r electron.js $DIR/ | ||||||
|  | cp webpack-* $DIR/ | ||||||
|  |  | ||||||
|  | # run in subshell (so we return to original dir) | ||||||
|  | (cd $DIR && npm install --only=prod) | ||||||
|  |  | ||||||
|  | # cleanup of useless files in dependencies | ||||||
|  | rm -r $DIR/node_modules/image-q/demo | ||||||
|  | rm -r $DIR/node_modules/better-sqlite3/Release | ||||||
|  | rm -r $DIR/node_modules/better-sqlite3/deps/sqlite3.tar.gz | ||||||
|  | rm -r $DIR/node_modules/@jimp/plugin-print/fonts | ||||||
|  | rm -r $DIR/node_modules/jimp/browser | ||||||
|  | rm -r $DIR/node_modules/jimp/fonts | ||||||
|  |  | ||||||
|  | # delete all tests (there are often large images as test file for jimp etc.) | ||||||
|  | find $DIR/node_modules -name test -exec rm -rf {} \; | ||||||
|  | find $DIR/node_modules -name docs -exec rm -rf {} \; | ||||||
|  | find $DIR/node_modules -name demo -exec rm -rf {} \; | ||||||
|  |  | ||||||
|  | find $DIR/libraries -name "*.map" -type f -delete | ||||||
|  |  | ||||||
|  | rm -r $DIR/src/public/app | ||||||
|  |  | ||||||
|  | sed -i -e 's/app\/desktop.js/app-dist\/desktop.js/g' $DIR/src/views/desktop.ejs | ||||||
|  | sed -i -e 's/app\/mobile.js/app-dist\/mobile.js/g' $DIR/src/views/mobile.ejs | ||||||
|  | sed -i -e 's/app\/setup.js/app-dist\/setup.js/g' $DIR/src/views/setup.ejs | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -12,5 +12,4 @@ fi | |||||||
| mkdir -p "$DIR" | mkdir -p "$DIR" | ||||||
| cd "$DIR" | cd "$DIR" | ||||||
|  |  | ||||||
| openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 2000 -nodes | openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out cert.crt -keyout key.key | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,7 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | export GITHUB_REPO=trilium | ||||||
|  |  | ||||||
| if [[ $# -eq 0 ]] ; then | if [[ $# -eq 0 ]] ; then | ||||||
|     echo "Missing argument of new version" |     echo "Missing argument of new version" | ||||||
|     exit 1 |     exit 1 | ||||||
|   | |||||||
| @@ -1,3 +0,0 @@ | |||||||
| #!/usr/bin/env bash |  | ||||||
|  |  | ||||||
| ./node_modules/.bin/electron-rebuild --arch=x64 |  | ||||||
							
								
								
									
										4
									
								
								bin/tpl/portable-trilium.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								bin/tpl/portable-trilium.bat
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | SET DIR=%~dp0 | ||||||
|  | SET TRILIUM_DATA_DIR=%DIR%\trilium-data | ||||||
|  | cd %DIR% | ||||||
|  | start trilium.exe | ||||||
							
								
								
									
										7
									
								
								bin/tpl/portable-trilium.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								bin/tpl/portable-trilium.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | #!/usr/bin/env sh | ||||||
|  |  | ||||||
|  | DIR=`dirname "$0"` | ||||||
|  | export TRILIUM_DATA_DIR="$DIR/trilium-data" | ||||||
|  |  | ||||||
|  | "$DIR/trilium" | ||||||
|  |  | ||||||
| @@ -2,8 +2,16 @@ | |||||||
| # Instance name can be used to distinguish between different instances | # Instance name can be used to distinguish between different instances | ||||||
| instanceName= | instanceName= | ||||||
|  |  | ||||||
|  | # set to true to allow using Trilium without authentication (makes sense for server build only, desktop build doesn't need password) | ||||||
|  | noAuthentication=false | ||||||
|  |  | ||||||
|  | # Disable automatically generating desktop icon | ||||||
|  | # noDesktopIcon=true | ||||||
|  |  | ||||||
| [Network] | [Network] | ||||||
| # port setting is relevant only for web deployments, desktop builds run on random free port | # host setting is relevant only for web deployments - set the host on which the server will listen | ||||||
|  | # host=0.0.0.0 | ||||||
|  | # port setting is relevant only for web deployments, desktop builds run on a fixed port (changeable with TRILIUM_PORT environment variable) | ||||||
| port=8080 | port=8080 | ||||||
| # true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure). | # true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure). | ||||||
| https=false | https=false | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								db/demo.tar
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								db/demo.tar
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								db/demo.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								db/demo.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| const syncTableService = require('../../src/services/sync_table'); | const syncTableService = require('../../src/services/entity_changes.js'); | ||||||
|  |  | ||||||
| // options has not been filled so far which caused problems with clean-slate sync. | // options has not been filled so far which caused problems with clean-slate sync. | ||||||
| module.exports = async () => await syncTableService.fillAllSyncRows(); | module.exports = async () => await syncTableService.fillAllSyncRows(); | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| const syncTableService = require('../../src/services/sync_table'); | const syncTableService = require('../../src/services/entity_changes.js'); | ||||||
|  |  | ||||||
| module.exports = async () => { | module.exports = async () => { | ||||||
|     await syncTableService.fillAllSyncRows(); |     await syncTableService.fillAllSyncRows(); | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								db/migrations/0137__links_to_attributes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								db/migrations/0137__links_to_attributes.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | UPDATE links SET type = 'internal-link' WHERE type = 'hyper'; | ||||||
|  | UPDATE links SET type = 'image-link' WHERE type = 'image'; | ||||||
|  | UPDATE links SET type = 'relation-map-link' WHERE type = 'relation-map'; | ||||||
|  |  | ||||||
|  | INSERT INTO attributes (attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable) | ||||||
|  | SELECT linkId, noteId, 'relation', type, targetNoteId, 0, utcDateCreated, utcDateModified, isDeleted, hash, 0 FROM links; | ||||||
|  |  | ||||||
|  | UPDATE sync SET entityName = 'attributes' WHERE entityName = 'links'; | ||||||
|  |  | ||||||
|  | DROP TABLE links; | ||||||
							
								
								
									
										5
									
								
								db/migrations/0138__sidebar_sizing.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								db/migrations/0138__sidebar_sizing.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('sidebarMinWidth', '350', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
|  |  | ||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('sidebarWidthPercent', '25', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
							
								
								
									
										2
									
								
								db/migrations/0139__show_sidebar_in_new_tab.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								db/migrations/0139__show_sidebar_in_new_tab.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('showSidebarInNewTab', 'true', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
							
								
								
									
										14
									
								
								db/migrations/0140__widget_config.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								db/migrations/0140__widget_config.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('noteInfoWidget', '{"enabled":true,"expanded":true,"position":100}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
|  |  | ||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('attributesWidget', '{"enabled":true,"expanded":true,"position":200}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
|  |  | ||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('linkMapWidget', '{"enabled":true,"expanded":true,"position":300}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
|  |  | ||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('noteRevisionsWidget', '{"enabled":true,"expanded":true,"position":400}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
|  |  | ||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('whatLinksHereWidget', '{"enabled":false,"expanded":true,"position":500}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
							
								
								
									
										5
									
								
								db/migrations/0141__add_code_note_mime_types.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								db/migrations/0141__add_code_note_mime_types.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('codeNotesMimeTypes', '["text/x-csrc","text/x-c++src","text/x-csharp","text/css","text/x-go","text/x-groovy","text/x-haskell","text/html","message/http","text/x-java","application/javascript;env=frontend","application/javascript;env=backend","application/json","text/x-kotlin","text/x-markdown","text/x-perl","text/x-php","text/x-python","text/x-ruby",null,"text/x-sql","text/x-swift","text/xml","text/x-yaml"]', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 1); | ||||||
|  |  | ||||||
|  | INSERT INTO sync (entityName, entityId, sourceId, utcSyncDate) | ||||||
|  | VALUES ('options' ,'codeNotesMimeTypes', 'SYNC_FILL', '2018-01-01T00:00:00.000Z'); | ||||||
							
								
								
									
										2
									
								
								db/migrations/0142__similar_notes_widget.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								db/migrations/0142__similar_notes_widget.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('similarNotesWidget', '{"enabled":true,"expanded":true,"position":600}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
							
								
								
									
										1
									
								
								db/migrations/0143__drop_event_log.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								db/migrations/0143__drop_event_log.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DROP TABLE event_log; | ||||||
							
								
								
									
										2
									
								
								db/migrations/0144__edited_notes_widget.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								db/migrations/0144__edited_notes_widget.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('editedNotesWidget', '{"enabled":true,"expanded":true,"position":50}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
							
								
								
									
										2
									
								
								db/migrations/0145__calendar_widget.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								db/migrations/0145__calendar_widget.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('calendarWidget', '{"enabled":true,"expanded":true,"position":20}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
							
								
								
									
										5
									
								
								db/migrations/0146__add_spell_check_options.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								db/migrations/0146__add_spell_check_options.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('spellCheckEnabled', 'true', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
|  |  | ||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | VALUES ('spellCheckLanguageCode', 'en-US', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0); | ||||||
| @@ -0,0 +1,3 @@ | |||||||
|  | INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced) | ||||||
|  | SELECT 'hideTabRowForOneTab', 'false', '2019-05-01T18:31:00.874Z', '2019-05-01T18:31:00.874Z', 0 | ||||||
|  | WHERE NOT EXISTS(SELECT 1 FROM options WHERE name = 'hideTabRowForOneTab'); | ||||||
							
								
								
									
										22
									
								
								db/migrations/0148__make_isExpanded_not_null.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								db/migrations/0148__make_isExpanded_not_null.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "mig_branches" ( | ||||||
|  |                                           `branchId`	TEXT NOT NULL, | ||||||
|  |                                           `noteId`	TEXT NOT NULL, | ||||||
|  |                                           `parentNoteId`	TEXT NOT NULL, | ||||||
|  |                                           `notePosition`	INTEGER NOT NULL, | ||||||
|  |                                           `prefix`	TEXT, | ||||||
|  |                                           `isExpanded`	INTEGER NOT NULL DEFAULT 0, | ||||||
|  |                                           `isDeleted`	INTEGER NOT NULL DEFAULT 0, | ||||||
|  |                                           `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                           utcDateCreated TEXT NOT NULL, | ||||||
|  |                                           hash TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                           PRIMARY KEY(`branchId`)); | ||||||
|  |  | ||||||
|  | INSERT INTO mig_branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash) | ||||||
|  | SELECT branchId, noteId, parentNoteId, notePosition, prefix, COALESCE(isExpanded, 0), isDeleted, utcDateModified, utcDateCreated, hash FROM branches; | ||||||
|  |  | ||||||
|  | DROP TABLE branches; | ||||||
|  | ALTER TABLE mig_branches RENAME TO branches; | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_branches_noteId` ON `branches` (`noteId`); | ||||||
|  | CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`); | ||||||
|  | CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId); | ||||||
							
								
								
									
										2
									
								
								db/migrations/0149__space_out_positions.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								db/migrations/0149__space_out_positions.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | UPDATE branches SET notePosition = notePosition * 10; | ||||||
|  | UPDATE attributes SET position = position * 10; | ||||||
							
								
								
									
										36
									
								
								db/migrations/0150__note_revision_contents.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								db/migrations/0150__note_revision_contents.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "note_revisions_mig" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY, | ||||||
|  |                                                 `noteId`	TEXT NOT NULL, | ||||||
|  |                                                 `title`	TEXT, | ||||||
|  |                                                 `contentLength`	INT NOT NULL, | ||||||
|  |                                                 `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                                 `utcDateLastEdited` TEXT NOT NULL, | ||||||
|  |                                                 `utcDateCreated` TEXT NOT NULL, | ||||||
|  |                                                 `utcDateModified` TEXT NOT NULL, | ||||||
|  |                                                 `dateLastEdited` TEXT NOT NULL, | ||||||
|  |                                                 `dateCreated` TEXT NOT NULL, | ||||||
|  |                                                 type TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                                 mime TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                                 hash TEXT DEFAULT '' NOT NULL); | ||||||
|  |  | ||||||
|  | CREATE TABLE IF NOT EXISTS "note_revision_contents" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY, | ||||||
|  |                                                  `content`	TEXT, | ||||||
|  |                                                  hash TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                                  `utcDateModified` TEXT NOT NULL); | ||||||
|  |  | ||||||
|  | INSERT INTO note_revision_contents (noteRevisionId, content, hash, utcDateModified) | ||||||
|  | SELECT noteRevisionId, content, hash, utcDateModifiedTo FROM note_revisions; | ||||||
|  |  | ||||||
|  | INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, contentLength, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash) | ||||||
|  | SELECT noteRevisionId, noteId, title, COALESCE(LENGTH(content), 0), isProtected, utcDateModifiedFrom, utcDateModifiedTo, utcDateModifiedTo, dateModifiedFrom, dateModifiedTo, type, mime, hash FROM note_revisions; | ||||||
|  |  | ||||||
|  | DROP TABLE note_revisions; | ||||||
|  | ALTER TABLE note_revisions_mig RENAME TO note_revisions; | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`); | ||||||
|  |  | ||||||
|  | INSERT INTO sync (entityName, entityId, sourceId, utcSyncDate) | ||||||
|  | SELECT 'note_revision_contents', entityId, sourceId, utcSyncDate FROM sync WHERE entityName = 'note_revisions'; | ||||||
							
								
								
									
										31
									
								
								db/migrations/0151__add_isErased_to_note.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								db/migrations/0151__add_isErased_to_note.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "notes_mig" ( | ||||||
|  |                                        `noteId`	TEXT NOT NULL, | ||||||
|  |                                        `title`	TEXT NOT NULL DEFAULT "note", | ||||||
|  |                                        `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `type` TEXT NOT NULL DEFAULT 'text', | ||||||
|  |                                        `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||||
|  |                                        `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                        `isDeleted`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `dateCreated`	TEXT NOT NULL, | ||||||
|  |                                        `dateModified`	TEXT NOT NULL, | ||||||
|  |                                        `utcDateCreated`	TEXT NOT NULL, | ||||||
|  |                                        `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                        PRIMARY KEY(`noteId`)); | ||||||
|  |  | ||||||
|  | INSERT INTO notes_mig (noteId, title, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified) | ||||||
|  | SELECT noteId, title, isProtected, type, mime, hash, isDeleted, 0, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes; | ||||||
|  |  | ||||||
|  | DROP TABLE notes; | ||||||
|  | ALTER TABLE notes_mig RENAME TO notes; | ||||||
|  |  | ||||||
|  | UPDATE notes SET isErased = 1 WHERE isDeleted = 1 | ||||||
|  | AND 1=(SELECT CASE WHEN content IS NULL THEN 1 ELSE 0 END FROM note_contents WHERE note_contents.noteId = notes.noteId); | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`); | ||||||
|  | CREATE INDEX `IDX_notes_title` ON `notes` (`title`); | ||||||
|  | CREATE INDEX `IDX_notes_type` ON `notes` (`type`); | ||||||
|  | CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`); | ||||||
							
								
								
									
										34
									
								
								db/migrations/0152__add_contentLength_to_note.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								db/migrations/0152__add_contentLength_to_note.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "notes_mig" ( | ||||||
|  |                                            `noteId`	TEXT NOT NULL, | ||||||
|  |                                            `title`	TEXT NOT NULL DEFAULT "note", | ||||||
|  |                                            `contentLength`	INT NOT NULL, | ||||||
|  |                                            `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                            `type` TEXT NOT NULL DEFAULT 'text', | ||||||
|  |                                            `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||||
|  |                                            `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                            `isDeleted`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                            `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                            `dateCreated`	TEXT NOT NULL, | ||||||
|  |                                            `dateModified`	TEXT NOT NULL, | ||||||
|  |                                            `utcDateCreated`	TEXT NOT NULL, | ||||||
|  |                                            `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                            PRIMARY KEY(`noteId`)); | ||||||
|  |  | ||||||
|  | INSERT INTO notes_mig (noteId, title, contentLength, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified) | ||||||
|  | SELECT noteId, title, -1, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes; | ||||||
|  |  | ||||||
|  | DROP TABLE notes; | ||||||
|  | ALTER TABLE notes_mig RENAME TO notes; | ||||||
|  |  | ||||||
|  | UPDATE notes SET contentLength = COALESCE((SELECT COALESCE(LENGTH(content), 0) FROM note_contents WHERE note_contents.noteId = notes.noteId), -1); | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`); | ||||||
|  | CREATE INDEX `IDX_notes_title` ON `notes` (`title`); | ||||||
|  | CREATE INDEX `IDX_notes_type` ON `notes` (`type`); | ||||||
|  | CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`); | ||||||
|  |  | ||||||
|  | -- should be OK since sync protocol changes so all instances must upgrade | ||||||
|  | UPDATE attributes SET isDeleted = 1 WHERE name = 'fileSize'; | ||||||
							
								
								
									
										28
									
								
								db/migrations/0153__add_isErased_to_note_revision.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								db/migrations/0153__add_isErased_to_note_revision.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "note_revisions_mig" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY, | ||||||
|  |                                                  `noteId`	TEXT NOT NULL, | ||||||
|  |                                                  `title`	TEXT, | ||||||
|  |                                                  `contentLength`	INT NOT NULL, | ||||||
|  |                                                  `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                                  `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                                  `utcDateLastEdited` TEXT NOT NULL, | ||||||
|  |                                                  `utcDateCreated` TEXT NOT NULL, | ||||||
|  |                                                  `utcDateModified` TEXT NOT NULL, | ||||||
|  |                                                  `dateLastEdited` TEXT NOT NULL, | ||||||
|  |                                                  `dateCreated` TEXT NOT NULL, | ||||||
|  |                                                  type TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                                  mime TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                                  hash TEXT DEFAULT '' NOT NULL); | ||||||
|  |  | ||||||
|  | INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, contentLength, isErased, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash) | ||||||
|  | SELECT noteRevisionId, noteId, title, contentLength, 0, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash FROM note_revisions; | ||||||
|  |  | ||||||
|  | DROP TABLE note_revisions; | ||||||
|  | ALTER TABLE note_revisions_mig RENAME TO note_revisions; | ||||||
|  |  | ||||||
|  | UPDATE note_revisions SET isErased = (SELECT isErased FROM notes WHERE notes.noteId = note_revisions.noteId); | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`); | ||||||
| @@ -0,0 +1,3 @@ | |||||||
|  | UPDATE attributes SET name = 'internalLink' WHERE name = 'internal-link'; | ||||||
|  | UPDATE attributes SET name = 'imageLink' WHERE name = 'image-link'; | ||||||
|  | UPDATE attributes SET name = 'relationMapLink' WHERE name = 'relation-map-link'; | ||||||
							
								
								
									
										5
									
								
								db/migrations/0155__indexes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								db/migrations/0155__indexes.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | DROP INDEX IF EXISTS IDX_attributes_name_index; | ||||||
|  | DROP INDEX IF EXISTS IDX_branches_noteId; | ||||||
|  |  | ||||||
|  | CREATE INDEX IDX_source_ids_utcDateCreated | ||||||
|  |     on source_ids (utcDateCreated); | ||||||
							
								
								
									
										81
									
								
								db/migrations/0156__add_deleteId.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								db/migrations/0156__add_deleteId.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "notes_mig" ( | ||||||
|  |                                            `noteId`	TEXT NOT NULL, | ||||||
|  |                                            `title`	TEXT NOT NULL DEFAULT "note", | ||||||
|  |                                            `contentLength`	INT NOT NULL, | ||||||
|  |                                            `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                            `type` TEXT NOT NULL DEFAULT 'text', | ||||||
|  |                                            `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||||
|  |                                            `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                            `isDeleted`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                            `deleteId`   TEXT DEFAULT NULL, | ||||||
|  |                                            `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                            `dateCreated`	TEXT NOT NULL, | ||||||
|  |                                            `dateModified`	TEXT NOT NULL, | ||||||
|  |                                            `utcDateCreated`	TEXT NOT NULL, | ||||||
|  |                                            `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                            PRIMARY KEY(`noteId`)); | ||||||
|  |  | ||||||
|  | INSERT INTO notes_mig (noteId, title, contentLength, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified) | ||||||
|  | SELECT noteId, title, -1, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes; | ||||||
|  |  | ||||||
|  | DROP TABLE notes; | ||||||
|  | ALTER TABLE notes_mig RENAME TO notes; | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`); | ||||||
|  | CREATE INDEX `IDX_notes_title` ON `notes` (`title`); | ||||||
|  | CREATE INDEX `IDX_notes_type` ON `notes` (`type`); | ||||||
|  | CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`); | ||||||
|  |  | ||||||
|  | CREATE TABLE IF NOT EXISTS "branches_mig" ( | ||||||
|  |                                           `branchId`	TEXT NOT NULL, | ||||||
|  |                                           `noteId`	TEXT NOT NULL, | ||||||
|  |                                           `parentNoteId`	TEXT NOT NULL, | ||||||
|  |                                           `notePosition`	INTEGER NOT NULL, | ||||||
|  |                                           `prefix`	TEXT, | ||||||
|  |                                           `isExpanded`	INTEGER NOT NULL DEFAULT 0, | ||||||
|  |                                           `isDeleted`	INTEGER NOT NULL DEFAULT 0, | ||||||
|  |                                           `deleteId`    TEXT DEFAULT NULL, | ||||||
|  |                                           `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                           utcDateCreated TEXT NOT NULL, | ||||||
|  |                                           hash TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                           PRIMARY KEY(`branchId`)); | ||||||
|  |  | ||||||
|  | INSERT INTO branches_mig (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash) | ||||||
|  |     SELECT branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash FROM branches; | ||||||
|  |  | ||||||
|  | DROP TABLE branches; | ||||||
|  | ALTER TABLE branches_mig RENAME TO branches; | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`); | ||||||
|  | CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId); | ||||||
|  |  | ||||||
|  | CREATE TABLE IF NOT EXISTS "attributes_mig" | ||||||
|  | ( | ||||||
|  |     attributeId      TEXT not null primary key, | ||||||
|  |     noteId       TEXT not null, | ||||||
|  |     type         TEXT not null, | ||||||
|  |     name         TEXT not null, | ||||||
|  |     value        TEXT default '' not null, | ||||||
|  |     position     INT  default 0 not null, | ||||||
|  |     utcDateCreated  TEXT not null, | ||||||
|  |     utcDateModified TEXT not null, | ||||||
|  |     isDeleted    INT  not null, | ||||||
|  |     `deleteId`    TEXT DEFAULT NULL, | ||||||
|  |     hash         TEXT default "" not null, | ||||||
|  |     isInheritable int DEFAULT 0 NULL); | ||||||
|  |  | ||||||
|  | INSERT INTO attributes_mig (attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable) | ||||||
|  | SELECT attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable FROM attributes; | ||||||
|  |  | ||||||
|  | DROP TABLE attributes; | ||||||
|  | ALTER TABLE attributes_mig RENAME TO attributes; | ||||||
|  |  | ||||||
|  | CREATE INDEX IDX_attributes_name_value | ||||||
|  |     on attributes (name, value); | ||||||
|  | CREATE INDEX IDX_attributes_noteId_index | ||||||
|  |     on attributes (noteId); | ||||||
|  | CREATE INDEX IDX_attributes_value_index | ||||||
|  |     on attributes (value); | ||||||
							
								
								
									
										1
									
								
								db/migrations/0157__fix_contentLength.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								db/migrations/0157__fix_contentLength.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | UPDATE notes SET contentLength = COALESCE((SELECT COALESCE(LENGTH(content), 0) FROM note_contents WHERE note_contents.noteId = notes.noteId), -1); | ||||||
							
								
								
									
										22
									
								
								db/migrations/0158__add_isSynced_to_sync.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								db/migrations/0158__add_isSynced_to_sync.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "sync_mig" ( | ||||||
|  |                                           `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, | ||||||
|  |                                           `entityName`	TEXT NOT NULL, | ||||||
|  |                                           `entityId`	TEXT NOT NULL, | ||||||
|  |                                           `sourceId` TEXT NOT NULL, | ||||||
|  |                                           `isSynced` INTEGER default 0 not null, | ||||||
|  |                                           `utcSyncDate`	TEXT NOT NULL); | ||||||
|  |  | ||||||
|  | INSERT INTO sync_mig (id, entityName, entityId, sourceId, isSynced, utcSyncDate) | ||||||
|  | SELECT id, entityName, entityId, sourceId, 1, utcSyncDate FROM sync; | ||||||
|  |  | ||||||
|  | DROP TABLE sync; | ||||||
|  |  | ||||||
|  | ALTER TABLE sync_mig RENAME TO sync; | ||||||
|  |  | ||||||
|  | CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` ( | ||||||
|  |                                                               `entityName`, | ||||||
|  |                                                               `entityId` | ||||||
|  |     ); | ||||||
|  | CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` ( | ||||||
|  |                                                `utcSyncDate` | ||||||
|  |     ); | ||||||
							
								
								
									
										4
									
								
								db/migrations/0159__fix_isSynced_in_sync_rows.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								db/migrations/0159__fix_isSynced_in_sync_rows.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | UPDATE sync SET isSynced = 1 WHERE entityName != 'options' OR ( | ||||||
|  |         entityName = 'options' | ||||||
|  |         AND 1 = (SELECT isSynced FROM options WHERE name = sync.entityId) | ||||||
|  |     ) | ||||||
							
								
								
									
										2
									
								
								db/migrations/0160__migrate_attr_definitions.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								db/migrations/0160__migrate_attr_definitions.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | UPDATE attributes SET type = 'label', name = 'label:' || name WHERE type = 'label-definition'; | ||||||
|  | UPDATE attributes SET type = 'label', name = 'relation:' || name WHERE type = 'relation-definition'; | ||||||
							
								
								
									
										79
									
								
								db/migrations/0161__attr_def_short.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								db/migrations/0161__attr_def_short.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | |||||||
|  | const sql = require('../../src/services/sql'); | ||||||
|  |  | ||||||
|  | module.exports = () => { | ||||||
|  |     for (const attr of sql.getRows("SELECT * FROM attributes WHERE name LIKE 'label:%'")) { | ||||||
|  |         let obj; | ||||||
|  |  | ||||||
|  |         try { | ||||||
|  |             obj = JSON.parse(attr.value); | ||||||
|  |         } | ||||||
|  |         catch (e) { | ||||||
|  |             console.log(`Parsing attribute definition "${attr.value}" of ${attr.attributeId} failed with error "${e.message}", setting to default value.`); | ||||||
|  |  | ||||||
|  |             sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?', | ||||||
|  |                 ["multi,text", attr.attributeId]); | ||||||
|  |  | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         const tokens = []; | ||||||
|  |  | ||||||
|  |         if (obj.isPromoted) { | ||||||
|  |             tokens.push('promoted'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (obj.multiplicityType === 'singlevalue') { | ||||||
|  |             tokens.push('single'); | ||||||
|  |         } else if (obj.multiplicityType === 'multivalue') { | ||||||
|  |             tokens.push('multi'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (obj.labelType) { | ||||||
|  |             tokens.push(obj.labelType); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (obj.numberPrecision) { | ||||||
|  |             tokens.push('precision='+obj.numberPrecision); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         const newValue = tokens.join(','); | ||||||
|  |  | ||||||
|  |         sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?', [newValue, attr.attributeId]); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     for (const attr of sql.getRows("SELECT * FROM attributes WHERE name LIKE 'relation:%'")) { | ||||||
|  |         let obj; | ||||||
|  |  | ||||||
|  |         try { | ||||||
|  |             obj = JSON.parse(attr.value); | ||||||
|  |         } | ||||||
|  |         catch (e) { | ||||||
|  |             console.log(`Parsing attribute definition "${attr.value}" of ${attr.attributeId} failed with error "${e.message}", setting to default value.`); | ||||||
|  |  | ||||||
|  |             sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?', | ||||||
|  |                 ["multi", attr.attributeId]); | ||||||
|  |  | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         const tokens = []; | ||||||
|  |  | ||||||
|  |         if (obj.isPromoted) { | ||||||
|  |             tokens.push('promoted'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (obj.multiplicityType === 'singlevalue') { | ||||||
|  |             tokens.push('single'); | ||||||
|  |         } else if (obj.multiplicityType === 'multivalue') { | ||||||
|  |             tokens.push('multi'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (obj.inverseRelation) { | ||||||
|  |             tokens.push('inverse=' + obj.inverseRelation); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         const newValue = tokens.join(','); | ||||||
|  |  | ||||||
|  |         sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?', [newValue, attr.attributeId]); | ||||||
|  |     } | ||||||
|  | }; | ||||||
							
								
								
									
										1
									
								
								db/migrations/0162__drop_source_ids.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								db/migrations/0162__drop_source_ids.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DROP TABLE source_ids; | ||||||
							
								
								
									
										1
									
								
								db/migrations/0163__rename_sync_to_entity_changes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								db/migrations/0163__rename_sync_to_entity_changes.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | ALTER TABLE sync RENAME TO entity_changes; | ||||||
							
								
								
									
										22
									
								
								db/migrations/0164__rename_utcSyncDate.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								db/migrations/0164__rename_utcSyncDate.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "mig_entity_changes" ( | ||||||
|  |                                                 `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, | ||||||
|  |                                                 `entityName`	TEXT NOT NULL, | ||||||
|  |                                                 `entityId`	TEXT NOT NULL, | ||||||
|  |                                                 `sourceId` TEXT NOT NULL, | ||||||
|  |                                                 `isSynced` INTEGER default 0 not null, | ||||||
|  |                                                 `utcChangedDate`	TEXT NOT NULL); | ||||||
|  |  | ||||||
|  | INSERT INTO mig_entity_changes (id, entityName, entityId, sourceId, isSynced, utcChangedDate) | ||||||
|  |     SELECT id, entityName, entityId, sourceId, isSynced, utcSyncDate FROM entity_changes; | ||||||
|  |  | ||||||
|  | DROP TABLE entity_changes; | ||||||
|  |  | ||||||
|  | ALTER TABLE mig_entity_changes RENAME TO entity_changes; | ||||||
|  |  | ||||||
|  | CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" ( | ||||||
|  |                                                                                  `entityName`, | ||||||
|  |                                                                                  `entityId` | ||||||
|  |     ); | ||||||
|  | CREATE INDEX `IDX_entityChanges_utcChangedDate` ON "entity_changes" ( | ||||||
|  |                                                                   `utcChangedDate` | ||||||
|  |     ); | ||||||
							
								
								
									
										55
									
								
								db/migrations/0165__move_contentLength.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								db/migrations/0165__move_contentLength.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "notes_mig" ( | ||||||
|  |                                        `noteId`	TEXT NOT NULL, | ||||||
|  |                                        `title`	TEXT NOT NULL DEFAULT "note", | ||||||
|  |                                        `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `type` TEXT NOT NULL DEFAULT 'text', | ||||||
|  |                                        `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||||
|  |                                        `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                        `isDeleted`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `deleteId`   TEXT DEFAULT NULL, | ||||||
|  |                                        `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `dateCreated`	TEXT NOT NULL, | ||||||
|  |                                        `dateModified`	TEXT NOT NULL, | ||||||
|  |                                        `utcDateCreated`	TEXT NOT NULL, | ||||||
|  |                                        `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                        PRIMARY KEY(`noteId`)); | ||||||
|  |  | ||||||
|  | INSERT INTO notes_mig (noteId, title, isProtected, type, mime, hash, isDeleted, deleteId, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified) | ||||||
|  |     SELECT noteId, title, isProtected, type, mime, hash, isDeleted, deleteId, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes; | ||||||
|  |  | ||||||
|  | DROP TABLE notes; | ||||||
|  | ALTER TABLE notes_mig RENAME TO notes; | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`); | ||||||
|  | CREATE INDEX `IDX_notes_title` ON `notes` (`title`); | ||||||
|  | CREATE INDEX `IDX_notes_type` ON `notes` (`type`); | ||||||
|  | CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`); | ||||||
|  |  | ||||||
|  | CREATE TABLE IF NOT EXISTS "note_revisions_mig" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY, | ||||||
|  |                                              `noteId`	TEXT NOT NULL, | ||||||
|  |                                              `title`	TEXT, | ||||||
|  |                                              `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                              `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                              `utcDateLastEdited` TEXT NOT NULL, | ||||||
|  |                                              `utcDateCreated` TEXT NOT NULL, | ||||||
|  |                                              `utcDateModified` TEXT NOT NULL, | ||||||
|  |                                              `dateLastEdited` TEXT NOT NULL, | ||||||
|  |                                              `dateCreated` TEXT NOT NULL, | ||||||
|  |                                              type TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                              mime TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                              hash TEXT DEFAULT '' NOT NULL); | ||||||
|  |  | ||||||
|  | INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, isErased, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash) | ||||||
|  | SELECT noteRevisionId, noteId, title, isErased, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash FROM note_revisions; | ||||||
|  |  | ||||||
|  | DROP TABLE note_revisions; | ||||||
|  | ALTER TABLE note_revisions_mig RENAME TO note_revisions; | ||||||
|  |  | ||||||
|  | CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`); | ||||||
							
								
								
									
										20
									
								
								db/migrations/0166__add_dateModified_to_note_content.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								db/migrations/0166__add_dateModified_to_note_content.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | CREATE TABLE IF NOT EXISTS "note_contents_mig" ( | ||||||
|  |                                                `noteId`	TEXT NOT NULL, | ||||||
|  |                                                `content`	TEXT NULL DEFAULT NULL, | ||||||
|  |                                                `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                                `dateModified` TEXT NOT NULL, | ||||||
|  |                                                `utcDateModified` TEXT NOT NULL, | ||||||
|  |                                                PRIMARY KEY(`noteId`) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | INSERT INTO note_contents_mig (noteId, content, hash, dateModified, utcDateModified) | ||||||
|  |     SELECT noteId, | ||||||
|  |            content, | ||||||
|  |            hash, | ||||||
|  |            COALESCE((SELECT dateModified FROM notes WHERE noteId = note_contents.noteId), utcDateModified), | ||||||
|  |            utcDateModified | ||||||
|  |     FROM note_contents; | ||||||
|  |  | ||||||
|  | DROP TABLE note_contents; | ||||||
|  |  | ||||||
|  | ALTER TABLE note_contents_mig RENAME TO note_contents; | ||||||
							
								
								
									
										1
									
								
								db/migrations/0167__remove_activateParentNote.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								db/migrations/0167__remove_activateParentNote.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | DELETE FROM options WHERE name = 'keyboardShortcutsActivateParentNote'; | ||||||
| @@ -0,0 +1 @@ | |||||||
|  | UPDATE attributes SET name = 'archived' WHERE name = 'hideInAutocomplete'; | ||||||
							
								
								
									
										20
									
								
								db/migrations/0169__convert_h1_to_h2.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								db/migrations/0169__convert_h1_to_h2.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | const repository = require('../../src/services/repository'); | ||||||
|  |  | ||||||
|  | module.exports = () => { | ||||||
|  |     for (const note of repository.getEntities("SELECT * FROM notes WHERE type = 'text' AND isProtected = 0")) { | ||||||
|  |         try { | ||||||
|  |             let origContent = note.getContent(); | ||||||
|  |  | ||||||
|  |             const newContent = origContent | ||||||
|  |                 .replace(/<h1/ig, "<h2") | ||||||
|  |                 .replace(/<\/h1/ig, "</h2"); | ||||||
|  |  | ||||||
|  |             if (newContent !== origContent) { | ||||||
|  |                 note.setContent(newContent); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         catch (e) { | ||||||
|  |             console.log(`Changing note content for note ${note.noteId} failed with: ${e.message} ${e.stack}`); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | }; | ||||||
							
								
								
									
										14
									
								
								db/migrations/0170__fix_branch_ordering.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								db/migrations/0170__fix_branch_ordering.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | const repository = require('../../src/services/repository'); | ||||||
|  | const sql = require('../../src/services/sql'); | ||||||
|  |  | ||||||
|  | module.exports = () => { | ||||||
|  |     for (const note of repository.getEntities("SELECT * FROM notes")) { | ||||||
|  |         let position = 0; | ||||||
|  |  | ||||||
|  |         for (const branch of note.getChildBranches()) { | ||||||
|  |             sql.execute(`UPDATE branches SET notePosition = ? WHERE branchId = ?`, [position, branch.branchId]); | ||||||
|  |  | ||||||
|  |             position += 10; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | }; | ||||||
							
								
								
									
										225
									
								
								db/schema.sql
									
									
									
									
									
								
							
							
						
						
									
										225
									
								
								db/schema.sql
									
									
									
									
									
								
							| @@ -1,27 +1,3 @@ | |||||||
| CREATE TABLE IF NOT EXISTS "sync" ( |  | ||||||
|                                     `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, |  | ||||||
|                                     `entityName`	TEXT NOT NULL, |  | ||||||
|                                     `entityId`	TEXT NOT NULL, |  | ||||||
|                                     `sourceId` TEXT NOT NULL, |  | ||||||
|                                     `utcSyncDate`	TEXT NOT NULL); |  | ||||||
| CREATE TABLE IF NOT EXISTS "source_ids" ( |  | ||||||
|                                           `sourceId`	TEXT NOT NULL, |  | ||||||
|                                           `utcDateCreated`	TEXT NOT NULL, |  | ||||||
|                                           PRIMARY KEY(`sourceId`) |  | ||||||
| ); |  | ||||||
| CREATE TABLE IF NOT EXISTS "note_revisions" ( |  | ||||||
|                                               `noteRevisionId`	TEXT NOT NULL PRIMARY KEY, |  | ||||||
|                                               `noteId`	TEXT NOT NULL, |  | ||||||
|                                               `title`	TEXT, |  | ||||||
|                                               `content`	TEXT, |  | ||||||
|                                               `isProtected`	INT NOT NULL DEFAULT 0, |  | ||||||
|                                               `utcDateModifiedFrom` TEXT NOT NULL, |  | ||||||
|                                               `utcDateModifiedTo` TEXT NOT NULL, |  | ||||||
|                                               `dateModifiedFrom` TEXT NOT NULL, |  | ||||||
|                                               `dateModifiedTo` TEXT NOT NULL, |  | ||||||
|                                               type TEXT DEFAULT '' NOT NULL, |  | ||||||
|                                               mime TEXT DEFAULT '' NOT NULL, |  | ||||||
|                                               hash TEXT DEFAULT "" NOT NULL); |  | ||||||
| CREATE TABLE IF NOT EXISTS "api_tokens" | CREATE TABLE IF NOT EXISTS "api_tokens" | ||||||
| ( | ( | ||||||
|   apiTokenId TEXT PRIMARY KEY NOT NULL, |   apiTokenId TEXT PRIMARY KEY NOT NULL, | ||||||
| @@ -29,25 +5,6 @@ CREATE TABLE IF NOT EXISTS "api_tokens" | |||||||
|   utcDateCreated TEXT NOT NULL, |   utcDateCreated TEXT NOT NULL, | ||||||
|   isDeleted INT NOT NULL DEFAULT 0, |   isDeleted INT NOT NULL DEFAULT 0, | ||||||
|   hash TEXT DEFAULT "" NOT NULL); |   hash TEXT DEFAULT "" NOT NULL); | ||||||
| CREATE TABLE IF NOT EXISTS "branches" ( |  | ||||||
|                                         `branchId`	TEXT NOT NULL, |  | ||||||
|                                         `noteId`	TEXT NOT NULL, |  | ||||||
|                                         `parentNoteId`	TEXT NOT NULL, |  | ||||||
|                                         `notePosition`	INTEGER NOT NULL, |  | ||||||
|                                         `prefix`	TEXT, |  | ||||||
|                                         `isExpanded`	BOOLEAN, |  | ||||||
|                                         `isDeleted`	INTEGER NOT NULL DEFAULT 0, |  | ||||||
|                                         `utcDateModified`	TEXT NOT NULL, |  | ||||||
|                                         utcDateCreated TEXT NOT NULL, |  | ||||||
|                                         hash TEXT DEFAULT "" NOT NULL, |  | ||||||
|                                         PRIMARY KEY(`branchId`) |  | ||||||
| ); |  | ||||||
| CREATE TABLE IF NOT EXISTS "event_log" ( |  | ||||||
|                                          `eventId`	TEXT NOT NULL PRIMARY KEY, |  | ||||||
|                                          `noteId`	TEXT, |  | ||||||
|                                          `comment`	TEXT, |  | ||||||
|                                          `utcDateCreated`	TEXT NOT NULL |  | ||||||
| ); |  | ||||||
| CREATE TABLE IF NOT EXISTS "options" | CREATE TABLE IF NOT EXISTS "options" | ||||||
| ( | ( | ||||||
|   name TEXT not null PRIMARY KEY, |   name TEXT not null PRIMARY KEY, | ||||||
| @@ -57,87 +14,6 @@ CREATE TABLE IF NOT EXISTS "options" | |||||||
|   utcDateCreated TEXT not null, |   utcDateCreated TEXT not null, | ||||||
|   utcDateModified TEXT NOT NULL |   utcDateModified TEXT NOT NULL | ||||||
| ); | ); | ||||||
| CREATE TABLE IF NOT EXISTS "attributes" |  | ||||||
| ( |  | ||||||
|   attributeId      TEXT not null primary key, |  | ||||||
|   noteId       TEXT not null, |  | ||||||
|   type         TEXT not null, |  | ||||||
|   name         TEXT not null, |  | ||||||
|   value        TEXT default '' not null, |  | ||||||
|   position     INT  default 0 not null, |  | ||||||
|   utcDateCreated  TEXT not null, |  | ||||||
|   utcDateModified TEXT not null, |  | ||||||
|   isDeleted    INT  not null, |  | ||||||
|   hash         TEXT default "" not null, |  | ||||||
|   isInheritable int DEFAULT 0 NULL); |  | ||||||
| CREATE TABLE IF NOT EXISTS "links" ( |  | ||||||
|                                      `linkId`	TEXT NOT NULL, |  | ||||||
|                                      `noteId`	TEXT NOT NULL, |  | ||||||
|                                      `targetNoteId`	TEXT NOT NULL, |  | ||||||
|                                      `type` TEXT NOT NULL, |  | ||||||
|                                      `hash` TEXT DEFAULT "" NOT NULL, |  | ||||||
|                                      `isDeleted`	INTEGER NOT NULL DEFAULT 0, |  | ||||||
|                                      `utcDateCreated`	TEXT NOT NULL, |  | ||||||
|                                      `utcDateModified`	TEXT NOT NULL, |  | ||||||
|                                      PRIMARY KEY(`linkId`) |  | ||||||
| ); |  | ||||||
| CREATE TABLE IF NOT EXISTS "notes" ( |  | ||||||
|                                      `noteId`	TEXT NOT NULL, |  | ||||||
|                                      `title`	TEXT NOT NULL DEFAULT "note", |  | ||||||
|                                      `isProtected`	INT NOT NULL DEFAULT 0, |  | ||||||
|                                      `type` TEXT NOT NULL DEFAULT 'text', |  | ||||||
|                                      `mime` TEXT NOT NULL DEFAULT 'text/html', |  | ||||||
|                                      `hash` TEXT DEFAULT "" NOT NULL, |  | ||||||
|                                      `isDeleted`	INT NOT NULL DEFAULT 0, |  | ||||||
|                                      `dateCreated`	TEXT NOT NULL, |  | ||||||
|                                      `dateModified`	TEXT NOT NULL, |  | ||||||
|                                      `utcDateCreated`	TEXT NOT NULL, |  | ||||||
|                                      `utcDateModified`	TEXT NOT NULL, |  | ||||||
|                                      PRIMARY KEY(`noteId`) |  | ||||||
| ); |  | ||||||
| CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` ( |  | ||||||
|                                                               `entityName`, |  | ||||||
|                                                               `entityId` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` ( |  | ||||||
|                                             `utcSyncDate` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` ( |  | ||||||
|                                                               `noteId` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX `IDX_note_revisions_dateModifiedFrom` ON `note_revisions` ( |  | ||||||
|                                                                         `utcDateModifiedFrom` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` ( |  | ||||||
|                                                                       `utcDateModifiedTo` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX `IDX_branches_noteId` ON `branches` ( |  | ||||||
|                                                   `noteId` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` ( |  | ||||||
|                                                                `noteId`, |  | ||||||
|                                                                `parentNoteId` |  | ||||||
|   ); |  | ||||||
| CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId); |  | ||||||
| CREATE INDEX IDX_attributes_name_value |  | ||||||
|   on attributes (name, value); |  | ||||||
| CREATE INDEX IDX_links_noteId_index |  | ||||||
|   on links (noteId); |  | ||||||
| CREATE INDEX IDX_links_targetNoteId_index |  | ||||||
|   on links (targetNoteId); |  | ||||||
| CREATE INDEX IDX_attributes_name_index |  | ||||||
|   on attributes (name); |  | ||||||
| CREATE INDEX IDX_attributes_noteId_index |  | ||||||
|   on attributes (noteId); |  | ||||||
| CREATE INDEX IDX_attributes_value_index |  | ||||||
|   on attributes (value); |  | ||||||
| CREATE TABLE IF NOT EXISTS "note_contents" ( |  | ||||||
|                                                    `noteId`	TEXT NOT NULL, |  | ||||||
|                                                    `content`	TEXT NULL DEFAULT NULL, |  | ||||||
|                                                    `hash` TEXT DEFAULT "" NOT NULL, |  | ||||||
|                                                    `utcDateModified` TEXT NOT NULL, |  | ||||||
|                                                    PRIMARY KEY(`noteId`) |  | ||||||
| ); |  | ||||||
| CREATE TABLE recent_notes | CREATE TABLE recent_notes | ||||||
| ( | ( | ||||||
|     noteId TEXT not null primary key, |     noteId TEXT not null primary key, | ||||||
| @@ -146,3 +22,104 @@ CREATE TABLE recent_notes | |||||||
|     utcDateCreated TEXT not null, |     utcDateCreated TEXT not null, | ||||||
|     isDeleted INT |     isDeleted INT | ||||||
| ); | ); | ||||||
|  | CREATE TABLE IF NOT EXISTS "note_revision_contents" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY, | ||||||
|  |                                                  `content`	TEXT, | ||||||
|  |                                                  hash TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                                  `utcDateModified` TEXT NOT NULL); | ||||||
|  | CREATE TABLE IF NOT EXISTS "branches" ( | ||||||
|  |                                           `branchId`	TEXT NOT NULL, | ||||||
|  |                                           `noteId`	TEXT NOT NULL, | ||||||
|  |                                           `parentNoteId`	TEXT NOT NULL, | ||||||
|  |                                           `notePosition`	INTEGER NOT NULL, | ||||||
|  |                                           `prefix`	TEXT, | ||||||
|  |                                           `isExpanded`	INTEGER NOT NULL DEFAULT 0, | ||||||
|  |                                           `isDeleted`	INTEGER NOT NULL DEFAULT 0, | ||||||
|  |                                           `deleteId`    TEXT DEFAULT NULL, | ||||||
|  |                                           `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                           utcDateCreated TEXT NOT NULL, | ||||||
|  |                                           hash TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                           PRIMARY KEY(`branchId`)); | ||||||
|  | CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`); | ||||||
|  | CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId); | ||||||
|  | CREATE TABLE IF NOT EXISTS "attributes" | ||||||
|  | ( | ||||||
|  |     attributeId      TEXT not null primary key, | ||||||
|  |     noteId       TEXT not null, | ||||||
|  |     type         TEXT not null, | ||||||
|  |     name         TEXT not null, | ||||||
|  |     value        TEXT default '' not null, | ||||||
|  |     position     INT  default 0 not null, | ||||||
|  |     utcDateCreated  TEXT not null, | ||||||
|  |     utcDateModified TEXT not null, | ||||||
|  |     isDeleted    INT  not null, | ||||||
|  |     `deleteId`    TEXT DEFAULT NULL, | ||||||
|  |     hash         TEXT default "" not null, | ||||||
|  |     isInheritable int DEFAULT 0 NULL); | ||||||
|  | CREATE INDEX IDX_attributes_name_value | ||||||
|  |     on attributes (name, value); | ||||||
|  | CREATE INDEX IDX_attributes_noteId_index | ||||||
|  |     on attributes (noteId); | ||||||
|  | CREATE INDEX IDX_attributes_value_index | ||||||
|  |     on attributes (value); | ||||||
|  | CREATE TABLE IF NOT EXISTS "entity_changes" ( | ||||||
|  |                                                 `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, | ||||||
|  |                                                 `entityName`	TEXT NOT NULL, | ||||||
|  |                                                 `entityId`	TEXT NOT NULL, | ||||||
|  |                                                 `sourceId` TEXT NOT NULL, | ||||||
|  |                                                 `isSynced` INTEGER default 0 not null, | ||||||
|  |                                                 `utcChangedDate`	TEXT NOT NULL); | ||||||
|  | CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" ( | ||||||
|  |                                                                                  `entityName`, | ||||||
|  |                                                                                  `entityId` | ||||||
|  |     ); | ||||||
|  | CREATE INDEX `IDX_entityChanges_utcChangedDate` ON "entity_changes" ( | ||||||
|  |                                                                   `utcChangedDate` | ||||||
|  |     ); | ||||||
|  | CREATE TABLE IF NOT EXISTS "notes" ( | ||||||
|  |                                        `noteId`	TEXT NOT NULL, | ||||||
|  |                                        `title`	TEXT NOT NULL DEFAULT "note", | ||||||
|  |                                        `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `type` TEXT NOT NULL DEFAULT 'text', | ||||||
|  |                                        `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||||
|  |                                        `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                        `isDeleted`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `deleteId`   TEXT DEFAULT NULL, | ||||||
|  |                                        `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                        `dateCreated`	TEXT NOT NULL, | ||||||
|  |                                        `dateModified`	TEXT NOT NULL, | ||||||
|  |                                        `utcDateCreated`	TEXT NOT NULL, | ||||||
|  |                                        `utcDateModified`	TEXT NOT NULL, | ||||||
|  |                                        PRIMARY KEY(`noteId`)); | ||||||
|  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`); | ||||||
|  | CREATE INDEX `IDX_notes_title` ON `notes` (`title`); | ||||||
|  | CREATE INDEX `IDX_notes_type` ON `notes` (`type`); | ||||||
|  | CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`); | ||||||
|  | CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`); | ||||||
|  | CREATE TABLE IF NOT EXISTS "note_revisions" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY, | ||||||
|  |                                              `noteId`	TEXT NOT NULL, | ||||||
|  |                                              `title`	TEXT, | ||||||
|  |                                              `isErased`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                              `isProtected`	INT NOT NULL DEFAULT 0, | ||||||
|  |                                              `utcDateLastEdited` TEXT NOT NULL, | ||||||
|  |                                              `utcDateCreated` TEXT NOT NULL, | ||||||
|  |                                              `utcDateModified` TEXT NOT NULL, | ||||||
|  |                                              `dateLastEdited` TEXT NOT NULL, | ||||||
|  |                                              `dateCreated` TEXT NOT NULL, | ||||||
|  |                                              type TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                              mime TEXT DEFAULT '' NOT NULL, | ||||||
|  |                                              hash TEXT DEFAULT '' NOT NULL); | ||||||
|  | CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`); | ||||||
|  | CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`); | ||||||
|  | CREATE TABLE IF NOT EXISTS "note_contents" ( | ||||||
|  |                                                `noteId`	TEXT NOT NULL, | ||||||
|  |                                                `content`	TEXT NULL DEFAULT NULL, | ||||||
|  |                                                `hash` TEXT DEFAULT "" NOT NULL, | ||||||
|  |                                                `dateModified` TEXT NOT NULL, | ||||||
|  |                                                `utcDateModified` TEXT NOT NULL, | ||||||
|  |                                                PRIMARY KEY(`noteId`) | ||||||
|  | ); | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ | |||||||
|  |  | ||||||
| <header> | <header> | ||||||
|      |      | ||||||
|         <h2><span class="attribs"><span class="type-signature"></span></span>ApiToken<span class="signature">(apiTokenId, token, isDeleted, utcDateCreated)</span><span class="type-signature"></span></h2> |         <h2><span class="attribs"><span class="type-signature"></span></span>ApiToken<span class="signature">()</span><span class="type-signature"></span></h2> | ||||||
|          |          | ||||||
|             <div class="class-description">ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.</div> |             <div class="class-description">ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.</div> | ||||||
|          |          | ||||||
| @@ -45,7 +45,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="ApiToken"><span class="type-signature"></span>new ApiToken<span class="signature">(apiTokenId, token, isDeleted, utcDateCreated)</span><span class="type-signature"></span></h4> |     <h4 class="name" id="ApiToken"><span class="type-signature"></span>new ApiToken<span class="signature">()</span><span class="type-signature"></span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -60,10 +60,15 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <h5>Parameters:</h5> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <table class="params"> |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|          |          | ||||||
| @@ -180,8 +185,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <dl class="details"> | <dl class="details"> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -239,6 +242,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -282,13 +287,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ | |||||||
|  |  | ||||||
| <header> | <header> | ||||||
|      |      | ||||||
|         <h2><span class="attribs"><span class="type-signature"></span></span>Attribute<span class="signature">(attributeId, noteId, type, name, value, position, isInheritable, isDeleted, utcDateCreated, utcDateModified)</span><span class="type-signature"></span></h2> |         <h2><span class="attribs"><span class="type-signature"></span></span>Attribute<span class="signature">()</span><span class="type-signature"></span></h2> | ||||||
|          |          | ||||||
|             <div class="class-description">Attribute is key value pair owned by a note.</div> |             <div class="class-description">Attribute is key value pair owned by a note.</div> | ||||||
|          |          | ||||||
| @@ -45,7 +45,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="Attribute"><span class="type-signature"></span>new Attribute<span class="signature">(attributeId, noteId, type, name, value, position, isInheritable, isDeleted, utcDateCreated, utcDateModified)</span><span class="type-signature"></span></h4> |     <h4 class="name" id="Attribute"><span class="type-signature"></span>new Attribute<span class="signature">()</span><span class="type-signature"></span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -60,10 +60,15 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <h5>Parameters:</h5> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <table class="params"> |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|          |          | ||||||
| @@ -101,7 +106,7 @@ | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -124,7 +129,7 @@ | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -147,7 +152,7 @@ | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -170,7 +175,7 @@ | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -239,7 +244,7 @@ | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -267,6 +272,32 @@ | |||||||
|  |  | ||||||
|      |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>deleteId</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  | | | ||||||
|  |  | ||||||
|  | <span class="param-type">null</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">ID identifying delete transaction</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>utcDateCreated</code></td> |                 <td class="name"><code>utcDateCreated</code></td> | ||||||
| @@ -318,8 +349,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <dl class="details"> | <dl class="details"> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -349,7 +378,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line24">line 24</a> |         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line26">line 26</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -377,6 +406,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -414,7 +445,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="getNote"><span class="type-signature">(async) </span>getNote<span class="signature">()</span><span class="type-signature"> → {Promise.<(<a href="Note.html">Note</a>|null)>}</span></h4> |     <h4 class="name" id="getNote"><span class="type-signature"></span>getNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -462,7 +493,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line46">line 46</a> |         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line40">line 40</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -485,6 +516,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <h5>Returns:</h5> | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|          |          | ||||||
| @@ -496,7 +529,10 @@ | |||||||
|     </dt> |     </dt> | ||||||
|     <dd> |     <dd> | ||||||
|          |          | ||||||
| <span class="param-type">Promise.<(<a href="Note.html">Note</a>|null)></span> | <span class="param-type"><a href="Note.html">Note</a></span> | ||||||
|  | | | ||||||
|  |  | ||||||
|  | <span class="param-type">null</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|     </dd> |     </dd> | ||||||
| @@ -514,7 +550,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="getTargetNote"><span class="type-signature">(async) </span>getTargetNote<span class="signature">()</span><span class="type-signature"> → {Promise.<(<a href="Note.html">Note</a>|null)>}</span></h4> |     <h4 class="name" id="getTargetNote"><span class="type-signature"></span>getTargetNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -562,7 +598,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line57">line 57</a> |         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line47">line 47</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -585,6 +621,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <h5>Returns:</h5> | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|          |          | ||||||
| @@ -596,7 +634,10 @@ | |||||||
|     </dt> |     </dt> | ||||||
|     <dd> |     <dd> | ||||||
|          |          | ||||||
| <span class="param-type">Promise.<(<a href="Note.html">Note</a>|null)></span> | <span class="param-type"><a href="Note.html">Note</a></span> | ||||||
|  | | | ||||||
|  |  | ||||||
|  | <span class="param-type">null</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|     </dd> |     </dd> | ||||||
| @@ -662,7 +703,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line76">line 76</a> |         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line62">line 62</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -685,6 +726,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <h5>Returns:</h5> | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|          |          | ||||||
| @@ -724,13 +767,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -28,7 +28,7 @@ | |||||||
|  |  | ||||||
| <header> | <header> | ||||||
|      |      | ||||||
|         <h2><span class="attribs"><span class="type-signature"></span></span>Branch<span class="signature">(branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h2> |         <h2><span class="attribs"><span class="type-signature"></span></span>Branch<span class="signature">()</span><span class="type-signature"></span></h2> | ||||||
|          |          | ||||||
|             <div class="class-description">Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId. |             <div class="class-description">Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId. | ||||||
| Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree.</div> | Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree.</div> | ||||||
| @@ -46,7 +46,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="Branch"><span class="type-signature"></span>new Branch<span class="signature">(branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h4> |     <h4 class="name" id="Branch"><span class="type-signature"></span>new Branch<span class="signature">()</span><span class="type-signature"></span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -61,10 +61,15 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <h5>Parameters:</h5> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <table class="params"> |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|          |          | ||||||
| @@ -102,7 +107,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last">primary key</td> |             <td class="description last">primary key, immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -125,7 +130,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -148,7 +153,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="description last"></td> |             <td class="description last">immutable</td> | ||||||
|         </tr> |         </tr> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -245,6 +250,32 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|      |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>deleteId</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  | | | ||||||
|  |  | ||||||
|  | <span class="param-type">null</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">ID identifying delete transaction</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>utcDateModified</code></td> |                 <td class="name"><code>utcDateModified</code></td> | ||||||
| @@ -296,8 +327,6 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <dl class="details"> | <dl class="details"> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -355,6 +384,8 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -392,7 +423,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="getNote"><span class="type-signature">(async) </span>getNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4> |     <h4 class="name" id="getNote"><span class="type-signature"></span>getNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -440,7 +471,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line38">line 38</a> |         <a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line31">line 31</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -463,6 +494,113 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|  |          | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl> | ||||||
|  |     <dt> | ||||||
|  |         Type | ||||||
|  |     </dt> | ||||||
|  |     <dd> | ||||||
|  |          | ||||||
|  | <span class="param-type"><a href="Note.html">Note</a></span> | ||||||
|  | | | ||||||
|  |  | ||||||
|  | <span class="param-type">null</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     </dd> | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |          | ||||||
|  |              | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <h4 class="name" id="getParentNote"><span class="type-signature"></span>getParentNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl class="details"> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <dt class="tag-source">Source:</dt> | ||||||
|  |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|  |         <a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line36">line 36</a> | ||||||
|  |     </li></ul></dd> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <h5>Returns:</h5> | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|          |          | ||||||
| @@ -505,13 +643,13 @@ Each note can have multiple (at least one) branches, meaning it can be placed in | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -150,7 +150,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_entity.js.html">entities/entity.js</a>, <a href="entities_entity.js.html#line9">line 9</a> |         <a href="entities_entity.js.html">entities/entity.js</a>, <a href="entities_entity.js.html#line10">line 10</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -178,6 +178,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -210,13 +212,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -28,7 +28,7 @@ | |||||||
|  |  | ||||||
| <header> | <header> | ||||||
|      |      | ||||||
|         <h2><span class="attribs"><span class="type-signature"></span></span>NoteRevision<span class="signature">(noteRevisionId, noteId, type, mime, title, content, isProtected, dateModifiedFrom, dateModifiedTo, utcDateModifiedFrom, utcDateModifiedTo)</span><span class="type-signature"></span></h2> |         <h2><span class="attribs"><span class="type-signature"></span></span>NoteRevision<span class="signature">()</span><span class="type-signature"></span></h2> | ||||||
|          |          | ||||||
|             <div class="class-description">NoteRevision represents snapshot of note's title and content at some point in the past. It's used for seamless note versioning.</div> |             <div class="class-description">NoteRevision represents snapshot of note's title and content at some point in the past. It's used for seamless note versioning.</div> | ||||||
|          |          | ||||||
| @@ -45,7 +45,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="NoteRevision"><span class="type-signature"></span>new NoteRevision<span class="signature">(noteRevisionId, noteId, type, mime, title, content, isProtected, dateModifiedFrom, dateModifiedTo, utcDateModifiedFrom, utcDateModifiedTo)</span><span class="type-signature"></span></h4> |     <h4 class="name" id="NoteRevision"><span class="type-signature"></span>new NoteRevision<span class="signature">()</span><span class="type-signature"></span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -60,10 +60,15 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <h5>Parameters:</h5> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <table class="params"> |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|          |          | ||||||
| @@ -200,13 +205,13 @@ | |||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>content</code></td> |                 <td class="name"><code>isErased</code></td> | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="type"> |             <td class="type"> | ||||||
|              |              | ||||||
|                  |                  | ||||||
| <span class="param-type">string</span> | <span class="param-type">boolean</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|              |              | ||||||
| @@ -229,7 +234,7 @@ | |||||||
|             <td class="type"> |             <td class="type"> | ||||||
|              |              | ||||||
|                  |                  | ||||||
| <span class="param-type">string</span> | <span class="param-type">boolean</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|              |              | ||||||
| @@ -246,7 +251,7 @@ | |||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>dateModifiedFrom</code></td> |                 <td class="name"><code>dateLastEdited</code></td> | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="type"> |             <td class="type"> | ||||||
| @@ -269,7 +274,7 @@ | |||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>dateModifiedTo</code></td> |                 <td class="name"><code>dateCreated</code></td> | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="type"> |             <td class="type"> | ||||||
| @@ -292,7 +297,7 @@ | |||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>utcDateModifiedFrom</code></td> |                 <td class="name"><code>utcDateLastEdited</code></td> | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="type"> |             <td class="type"> | ||||||
| @@ -315,7 +320,30 @@ | |||||||
|  |  | ||||||
|         <tr> |         <tr> | ||||||
|              |              | ||||||
|                 <td class="name"><code>utcDateModifiedTo</code></td> |                 <td class="name"><code>utcDateCreated</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last"></td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>utcDateModified</code></td> | ||||||
|              |              | ||||||
|  |  | ||||||
|             <td class="type"> |             <td class="type"> | ||||||
| @@ -341,8 +369,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <dl class="details"> | <dl class="details"> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -372,7 +398,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="entities_note_revision.js.html">entities/note_revision.js</a>, <a href="entities_note_revision.js.html#line24">line 24</a> |         <a href="entities_note_revision.js.html">entities/note_revision.js</a>, <a href="entities_note_revision.js.html#line28">line 28</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -400,6 +426,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -429,6 +457,218 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|  |         <h3 class="subsection-title">Methods</h3> | ||||||
|  |  | ||||||
|  |          | ||||||
|  |              | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <h4 class="name" id="getContent"><span class="type-signature"></span>getContent<span class="signature">()</span><span class="type-signature"> → {*}</span></h4> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl class="details"> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <dt class="tag-source">Source:</dt> | ||||||
|  |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|  |         <a href="entities_note_revision.js.html">entities/note_revision.js</a>, <a href="entities_note_revision.js.html#line68">line 68</a> | ||||||
|  |     </li></ul></dd> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|  |          | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl> | ||||||
|  |     <dt> | ||||||
|  |         Type | ||||||
|  |     </dt> | ||||||
|  |     <dd> | ||||||
|  |          | ||||||
|  | <span class="param-type">*</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     </dd> | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |          | ||||||
|  |              | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <h4 class="name" id="isStringNote"><span class="type-signature"></span>isStringNote<span class="signature">()</span><span class="type-signature"> → {boolean}</span></h4> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl class="details"> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <dt class="tag-source">Source:</dt> | ||||||
|  |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|  |         <a href="entities_note_revision.js.html">entities/note_revision.js</a>, <a href="entities_note_revision.js.html#line54">line 54</a> | ||||||
|  |     </li></ul></dd> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <h5>Returns:</h5> | ||||||
|  |  | ||||||
|  |          | ||||||
|  | <div class="param-desc"> | ||||||
|  |     true if the note has string content (not binary) | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl> | ||||||
|  |     <dt> | ||||||
|  |         Type | ||||||
|  |     </dt> | ||||||
|  |     <dd> | ||||||
|  |          | ||||||
|  | <span class="param-type">boolean</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     </dd> | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |          | ||||||
|  |      | ||||||
|  |  | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -443,13 +683,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ | |||||||
|  |  | ||||||
| <header> | <header> | ||||||
|      |      | ||||||
|         <h2><span class="attribs"><span class="type-signature"></span></span>Option<span class="signature">(name, value, isSynced, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h2> |         <h2><span class="attribs"><span class="type-signature"></span></span>Option<span class="signature">()</span><span class="type-signature"></span></h2> | ||||||
|          |          | ||||||
|             <div class="class-description">Option represents name-value pair, either directly configurable by the user or some system property.</div> |             <div class="class-description">Option represents name-value pair, either directly configurable by the user or some system property.</div> | ||||||
|          |          | ||||||
| @@ -45,7 +45,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="Option"><span class="type-signature"></span>new Option<span class="signature">(name, value, isSynced, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h4> |     <h4 class="name" id="Option"><span class="type-signature"></span>new Option<span class="signature">()</span><span class="type-signature"></span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -60,10 +60,15 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <h5>Parameters:</h5> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <table class="params"> |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|          |          | ||||||
| @@ -203,8 +208,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <dl class="details"> | <dl class="details"> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -262,6 +265,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -305,13 +310,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ | |||||||
|  |  | ||||||
| <header> | <header> | ||||||
|      |      | ||||||
|         <h2><span class="attribs"><span class="type-signature"></span></span>RecentNote<span class="signature">(noteId, notePath, isDeleted, utcDateModified)</span><span class="type-signature"></span></h2> |         <h2><span class="attribs"><span class="type-signature"></span></span>RecentNote<span class="signature">()</span><span class="type-signature"></span></h2> | ||||||
|          |          | ||||||
|             <div class="class-description">RecentNote represents recently visited note.</div> |             <div class="class-description">RecentNote represents recently visited note.</div> | ||||||
|          |          | ||||||
| @@ -45,7 +45,7 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
|     <h4 class="name" id="RecentNote"><span class="type-signature"></span>new RecentNote<span class="signature">(noteId, notePath, isDeleted, utcDateModified)</span><span class="type-signature"></span></h4> |     <h4 class="name" id="RecentNote"><span class="type-signature"></span>new RecentNote<span class="signature">()</span><span class="type-signature"></span></h4> | ||||||
|      |      | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -60,10 +60,15 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <h5>Parameters:</h5> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <table class="params"> |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|     <thead> |     <thead> | ||||||
|     <tr> |     <tr> | ||||||
|          |          | ||||||
| @@ -180,8 +185,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <dl class="details"> | <dl class="details"> | ||||||
|  |  | ||||||
|      |      | ||||||
| @@ -239,6 +242,8 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|      |      | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
| @@ -282,13 +287,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -34,10 +34,10 @@ const dateUtils = require('../services/date_utils'); | |||||||
| /** | /** | ||||||
|  * ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender. |  * ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender. | ||||||
|  * |  * | ||||||
|  * @param {string} apiTokenId - primary key |  * @property {string} apiTokenId - primary key | ||||||
|  * @param {string} token |  * @property {string} token | ||||||
|  * @param {boolean} isDeleted - true if API token is deleted |  * @property {boolean} isDeleted - true if API token is deleted | ||||||
|  * @param {string} utcDateCreated |  * @property {string} utcDateCreated | ||||||
|  * |  * | ||||||
|  * @extends Entity |  * @extends Entity | ||||||
|  */ |  */ | ||||||
| @@ -69,13 +69,13 @@ module.exports = ApiToken;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -28,24 +28,26 @@ | |||||||
|         <article> |         <article> | ||||||
|             <pre class="prettyprint source linenums"><code>"use strict"; |             <pre class="prettyprint source linenums"><code>"use strict"; | ||||||
|  |  | ||||||
|  |  | ||||||
| const Entity = require('./entity'); | const Entity = require('./entity'); | ||||||
| const repository = require('../services/repository'); |  | ||||||
| const dateUtils = require('../services/date_utils'); | const dateUtils = require('../services/date_utils'); | ||||||
| const sql = require('../services/sql'); | const sql = require('../services/sql'); | ||||||
|  | const promotedAttributeDefinitionParser = require("../services/promoted_attribute_definition_parser"); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Attribute is key value pair owned by a note. |  * Attribute is key value pair owned by a note. | ||||||
|  * |  * | ||||||
|  * @param {string} attributeId |  * @property {string} attributeId - immutable | ||||||
|  * @param {string} noteId |  * @property {string} noteId - immutable | ||||||
|  * @param {string} type |  * @property {string} type - immutable | ||||||
|  * @param {string} name |  * @property {string} name - immutable | ||||||
|  * @param {string} value |  * @property {string} value | ||||||
|  * @param {int} position |  * @property {int} position | ||||||
|  * @param {boolean} isInheritable |  * @property {boolean} isInheritable - immutable | ||||||
|  * @param {boolean} isDeleted |  * @property {boolean} isDeleted | ||||||
|  * @param {string} utcDateCreated |  * @property {string|null} deleteId - ID identifying delete transaction | ||||||
|  * @param {string} utcDateModified |  * @property {string} utcDateCreated | ||||||
|  |  * @property {string} utcDateModified | ||||||
|  * |  * | ||||||
|  * @extends Entity |  * @extends Entity | ||||||
|  */ |  */ | ||||||
| @@ -58,31 +60,19 @@ class Attribute extends Entity { | |||||||
|         super(row); |         super(row); | ||||||
|  |  | ||||||
|         this.isInheritable = !!this.isInheritable; |         this.isInheritable = !!this.isInheritable; | ||||||
|  |  | ||||||
|         if (this.isDefinition()) { |  | ||||||
|             try { |  | ||||||
|                 this.value = JSON.parse(this.value); |  | ||||||
|             } |  | ||||||
|             catch (e) { |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * @returns {Promise<Note|null>} |      * @returns {Note|null} | ||||||
|      */ |      */ | ||||||
|     async getNote() { |     getNote() { | ||||||
|         if (!this.__note) { |         return this.repository.getNote(this.noteId); | ||||||
|             this.__note = await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return this.__note; |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * @returns {Promise<Note|null>} |      * @returns {Note|null} | ||||||
|      */ |      */ | ||||||
|     async getTargetNote() { |     getTargetNote() { | ||||||
|         if (this.type !== 'relation') { |         if (this.type !== 'relation') { | ||||||
|             throw new Error(`Attribute ${this.attributeId} is not relation`); |             throw new Error(`Attribute ${this.attributeId} is not relation`); | ||||||
|         } |         } | ||||||
| @@ -91,28 +81,42 @@ class Attribute extends Entity { | |||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!this.__targetNote) { |         return this.repository.getNote(this.value); | ||||||
|             this.__targetNote = await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.value]); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return this.__targetNote; |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * @return {boolean} |      * @return {boolean} | ||||||
|      */ |      */ | ||||||
|     isDefinition() { |     isDefinition() { | ||||||
|         return this.type === 'label-definition' || this.type === 'relation-definition'; |         return this.type === 'label' && (this.name.startsWith('label:') || this.name.startsWith('relation:')); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     async beforeSaving() { |     getDefinition() { | ||||||
|  |         return promotedAttributeDefinitionParser.parse(this.value); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     getDefinedName() { | ||||||
|  |         if (this.type === 'label' && this.name.startsWith('label:')) { | ||||||
|  |             return this.name.substr(6); | ||||||
|  |         } else if (this.type === 'label' && this.name.startsWith('relation:')) { | ||||||
|  |             return this.name.substr(9); | ||||||
|  |         } else { | ||||||
|  |             return this.name; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     beforeSaving() { | ||||||
|         if (!this.value) { |         if (!this.value) { | ||||||
|  |             if (this.type === 'relation') { | ||||||
|  |                 throw new Error(`Cannot save relation ${this.name} since it does not target any note.`); | ||||||
|  |             } | ||||||
|  |  | ||||||
|             // null value isn't allowed |             // null value isn't allowed | ||||||
|             this.value = ""; |             this.value = ""; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (this.position === undefined) { |         if (this.position === undefined) { | ||||||
|             this.position = 1 + await sql.getValue(`SELECT COALESCE(MAX(position), 0) FROM attributes WHERE noteId = ?`, [this.noteId]); |             this.position = 1 + sql.getValue(`SELECT COALESCE(MAX(position), 0) FROM attributes WHERE noteId = ?`, [this.noteId]); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!this.isInheritable) { |         if (!this.isInheritable) { | ||||||
| @@ -134,13 +138,23 @@ class Attribute extends Entity { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // cannot be static! |     createClone(type, name, value, isInheritable) { | ||||||
|     updatePojo(pojo) { |         return new Attribute({ | ||||||
|         delete pojo.isOwned; |             noteId: this.noteId, | ||||||
|  |             type: type, | ||||||
|  |             name: name, | ||||||
|  |             value: value, | ||||||
|  |             position: this.position, | ||||||
|  |             isInheritable: isInheritable, | ||||||
|  |             isDeleted: false, | ||||||
|  |             utcDateCreated: this.utcDateCreated, | ||||||
|  |             utcDateModified: this.utcDateModified | ||||||
|  |         }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = Attribute;</code></pre> | module.exports = Attribute; | ||||||
|  | </code></pre> | ||||||
|         </article> |         </article> | ||||||
|     </section> |     </section> | ||||||
|  |  | ||||||
| @@ -150,13 +164,13 @@ module.exports = Attribute;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -30,22 +30,22 @@ | |||||||
|  |  | ||||||
| const Entity = require('./entity'); | const Entity = require('./entity'); | ||||||
| const dateUtils = require('../services/date_utils'); | const dateUtils = require('../services/date_utils'); | ||||||
| const repository = require('../services/repository'); |  | ||||||
| const sql = require('../services/sql'); | const sql = require('../services/sql'); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId. |  * Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId. | ||||||
|  * Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree. |  * Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree. | ||||||
|  * |  * | ||||||
|  * @param {string} branchId - primary key |  * @property {string} branchId - primary key, immutable | ||||||
|  * @param {string} noteId |  * @property {string} noteId - immutable | ||||||
|  * @param {string} parentNoteId |  * @property {string} parentNoteId - immutable | ||||||
|  * @param {int} notePosition |  * @property {int} notePosition | ||||||
|  * @param {string} prefix |  * @property {string} prefix | ||||||
|  * @param {boolean} isExpanded |  * @property {boolean} isExpanded | ||||||
|  * @param {boolean} isDeleted |  * @property {boolean} isDeleted | ||||||
|  * @param {string} utcDateModified |  * @property {string|null} deleteId - ID identifying delete transaction | ||||||
|  * @param {string} utcDateCreated |  * @property {string} utcDateModified | ||||||
|  |  * @property {string} utcDateCreated | ||||||
|  * |  * | ||||||
|  * @extends Entity |  * @extends Entity | ||||||
|  */ |  */ | ||||||
| @@ -53,24 +53,26 @@ class Branch extends Entity { | |||||||
|     static get entityName() { return "branches"; } |     static get entityName() { return "branches"; } | ||||||
|     static get primaryKeyName() { return "branchId"; } |     static get primaryKeyName() { return "branchId"; } | ||||||
|     // notePosition is not part of hash because it would produce a lot of updates in case of reordering |     // notePosition is not part of hash because it would produce a lot of updates in case of reordering | ||||||
|     static get hashedProperties() { return ["branchId", "noteId", "parentNoteId", "isDeleted", "prefix"]; } |     static get hashedProperties() { return ["branchId", "noteId", "parentNoteId", "isDeleted", "deleteId", "prefix"]; } | ||||||
|  |  | ||||||
|     constructor(row = {}) { |     /** @returns {Note|null} */ | ||||||
|         super(row); |     getNote() { | ||||||
|  |         return this.repository.getNote(this.noteId); | ||||||
|         // used to detect move in note tree |  | ||||||
|         this.origParentNoteId = this.parentNoteId; |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** @returns {Note|null} */ |     /** @returns {Note|null} */ | ||||||
|     async getNote() { |     getParentNote() { | ||||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); |         return this.repository.getNote(this.parentNoteId); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     async beforeSaving() { |     beforeSaving() { | ||||||
|         if (this.notePosition === undefined) { |         if (this.notePosition === undefined) { | ||||||
|             const maxNotePos = await sql.getValue('SELECT MAX(notePosition) FROM branches WHERE parentNoteId = ? AND isDeleted = 0', [this.parentNoteId]); |             const maxNotePos = sql.getValue('SELECT MAX(notePosition) FROM branches WHERE parentNoteId = ? AND isDeleted = 0', [this.parentNoteId]); | ||||||
|             this.notePosition = maxNotePos === null ? 0 : maxNotePos + 1; |             this.notePosition = maxNotePos === null ? 0 : maxNotePos + 10; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (!this.isExpanded) { | ||||||
|  |             this.isExpanded = false; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!this.isDeleted) { |         if (!this.isDeleted) { | ||||||
| @@ -88,13 +90,22 @@ class Branch extends Entity { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // cannot be static! |     createClone(parentNoteId, notePosition) { | ||||||
|     updatePojo(pojo) { |         return new Branch({ | ||||||
|         delete pojo.origParentNoteId; |             noteId: this.noteId, | ||||||
|  |             parentNoteId: parentNoteId, | ||||||
|  |             notePosition: notePosition, | ||||||
|  |             prefix: this.prefix, | ||||||
|  |             isExpanded: this.isExpanded, | ||||||
|  |             isDeleted: false, | ||||||
|  |             utcDateCreated: this.utcDateCreated, | ||||||
|  |             utcDateModified: this.utcDateModified | ||||||
|  |         }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = Branch;</code></pre> | module.exports = Branch; | ||||||
|  | </code></pre> | ||||||
|         </article> |         </article> | ||||||
|     </section> |     </section> | ||||||
|  |  | ||||||
| @@ -104,13 +115,13 @@ module.exports = Branch;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -29,6 +29,7 @@ | |||||||
|             <pre class="prettyprint source linenums"><code>"use strict"; |             <pre class="prettyprint source linenums"><code>"use strict"; | ||||||
|  |  | ||||||
| const utils = require('../services/utils'); | const utils = require('../services/utils'); | ||||||
|  | let repo = null; | ||||||
|  |  | ||||||
| class Entity { | class Entity { | ||||||
|     /** |     /** | ||||||
| @@ -53,14 +54,7 @@ class Entity { | |||||||
|         const origHash = this.hash; |         const origHash = this.hash; | ||||||
|  |  | ||||||
|         this.hash = this.generateHash(); |         this.hash = this.generateHash(); | ||||||
|  |         this.isChanged = origHash !== this.hash; | ||||||
|         if (this.forcedChange) { |  | ||||||
|             this.isChanged = true; |  | ||||||
|             delete this.forcedChange; |  | ||||||
|         } |  | ||||||
|         else { |  | ||||||
|             this.isChanged = origHash !== this.hash; |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     generateIdIfNecessary() { |     generateIdIfNecessary() { | ||||||
| @@ -79,14 +73,23 @@ class Entity { | |||||||
|         return utils.hash(contentToHash).substr(0, 10); |         return utils.hash(contentToHash).substr(0, 10); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     async save() { |     get repository() { | ||||||
|         await require('../services/repository').updateEntity(this); |         if (!repo) { | ||||||
|  |             repo = require('../services/repository'); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return repo; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     save() { | ||||||
|  |         this.repository.updateEntity(this); | ||||||
|  |  | ||||||
|         return this; |         return this; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = Entity;</code></pre> | module.exports = Entity; | ||||||
|  | </code></pre> | ||||||
|         </article> |         </article> | ||||||
|     </section> |     </section> | ||||||
|  |  | ||||||
| @@ -96,13 +99,13 @@ module.exports = Entity;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -30,54 +30,154 @@ | |||||||
|  |  | ||||||
| const Entity = require('./entity'); | const Entity = require('./entity'); | ||||||
| const protectedSessionService = require('../services/protected_session'); | const protectedSessionService = require('../services/protected_session'); | ||||||
| const repository = require('../services/repository'); | const utils = require('../services/utils'); | ||||||
|  | const sql = require('../services/sql'); | ||||||
|  | const dateUtils = require('../services/date_utils'); | ||||||
|  | const entityChangesService = require('../services/entity_changes.js'); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * NoteRevision represents snapshot of note's title and content at some point in the past. It's used for seamless note versioning. |  * NoteRevision represents snapshot of note's title and content at some point in the past. It's used for seamless note versioning. | ||||||
|  * |  * | ||||||
|  * @param {string} noteRevisionId |  * @property {string} noteRevisionId | ||||||
|  * @param {string} noteId |  * @property {string} noteId | ||||||
|  * @param {string} type |  * @property {string} type | ||||||
|  * @param {string} mime |  * @property {string} mime | ||||||
|  * @param {string} title |  * @property {string} title | ||||||
|  * @param {string} content |  * @property {boolean} isErased | ||||||
|  * @param {string} isProtected |  * @property {boolean} isProtected | ||||||
|  * @param {string} dateModifiedFrom |  * @property {string} dateLastEdited | ||||||
|  * @param {string} dateModifiedTo |  * @property {string} dateCreated | ||||||
|  * @param {string} utcDateModifiedFrom |  * @property {string} utcDateLastEdited | ||||||
|  * @param {string} utcDateModifiedTo |  * @property {string} utcDateCreated | ||||||
|  |  * @property {string} utcDateModified | ||||||
|  * |  * | ||||||
|  * @extends Entity |  * @extends Entity | ||||||
|  */ |  */ | ||||||
| class NoteRevision extends Entity { | class NoteRevision extends Entity { | ||||||
|     static get entityName() { return "note_revisions"; } |     static get entityName() { return "note_revisions"; } | ||||||
|     static get primaryKeyName() { return "noteRevisionId"; } |     static get primaryKeyName() { return "noteRevisionId"; } | ||||||
|     static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "content", "isProtected", "dateModifiedFrom", "dateModifiedTo", "utcDateModifiedFrom", "utcDateModifiedTo"]; } |     static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "isErased", "isProtected", "dateLastEdited", "dateCreated", "utcDateLastEdited", "utcDateCreated", "utcDateModified"]; } | ||||||
|  |  | ||||||
|     constructor(row) { |     constructor(row) { | ||||||
|         super(row); |         super(row); | ||||||
|  |  | ||||||
|  |         this.isErased = !!this.isErased; | ||||||
|         this.isProtected = !!this.isProtected; |         this.isProtected = !!this.isProtected; | ||||||
|  |  | ||||||
|         if (this.isProtected) { |         if (this.isProtected) { | ||||||
|             protectedSessionService.decryptNoteRevision(this); |             if (protectedSessionService.isProtectedSessionAvailable()) { | ||||||
|  |                 this.title = protectedSessionService.decryptString(this.title); | ||||||
|  |             } | ||||||
|  |             else { | ||||||
|  |                 this.title = "[Protected]"; | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     async getNote() { |     getNote() { | ||||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); |         return this.repository.getNote(this.noteId); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** @returns {boolean} true if the note has string content (not binary) */ | ||||||
|  |     isStringNote() { | ||||||
|  |         return utils.isStringNote(this.type, this.mime); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /* | ||||||
|  |      * Note revision content has quite special handling - it's not a separate entity, but a lazily loaded | ||||||
|  |      * part of NoteRevision entity with it's own sync. Reason behind this hybrid design is that | ||||||
|  |      * content can be quite large and it's not necessary to load it / fill memory for any note access even | ||||||
|  |      * if we don't need a content, especially for bulk operations like search. | ||||||
|  |      * | ||||||
|  |      * This is the same approach as is used for Note's content. | ||||||
|  |      */ | ||||||
|  |  | ||||||
|  |     /** @returns {*} */ | ||||||
|  |     getContent(silentNotFoundError = false) { | ||||||
|  |         if (this.content === undefined) { | ||||||
|  |             const res = sql.getRow(`SELECT content, hash FROM note_revision_contents WHERE noteRevisionId = ?`, [this.noteRevisionId]); | ||||||
|  |  | ||||||
|  |             if (!res) { | ||||||
|  |                 if (silentNotFoundError) { | ||||||
|  |                     return undefined; | ||||||
|  |                 } | ||||||
|  |                 else { | ||||||
|  |                     throw new Error("Cannot find note revision content for noteRevisionId=" + this.noteRevisionId); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             this.content = res.content; | ||||||
|  |  | ||||||
|  |             if (this.isProtected) { | ||||||
|  |                 if (protectedSessionService.isProtectedSessionAvailable()) { | ||||||
|  |                     this.content = protectedSessionService.decrypt(this.content); | ||||||
|  |                 } | ||||||
|  |                 else { | ||||||
|  |                     this.content = ""; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (this.isStringNote()) { | ||||||
|  |             return this.content === null | ||||||
|  |                 ? "" | ||||||
|  |                 : this.content.toString("UTF-8"); | ||||||
|  |         } | ||||||
|  |         else { | ||||||
|  |             return this.content; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     setContent(content) { | ||||||
|  |         this.content = content; | ||||||
|  |  | ||||||
|  |         const pojo = { | ||||||
|  |             noteRevisionId: this.noteRevisionId, | ||||||
|  |             content: content, | ||||||
|  |             utcDateModified: dateUtils.utcNowDateTime(), | ||||||
|  |             hash: utils.hash(this.noteRevisionId + "|" + content) | ||||||
|  |         }; | ||||||
|  |  | ||||||
|  |         if (this.isProtected) { | ||||||
|  |             if (protectedSessionService.isProtectedSessionAvailable()) { | ||||||
|  |                 pojo.content = protectedSessionService.encrypt(pojo.content); | ||||||
|  |             } | ||||||
|  |             else { | ||||||
|  |                 throw new Error(`Cannot update content of noteRevisionId=${this.noteRevisionId} since we're out of protected session.`); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         sql.upsert("note_revision_contents", "noteRevisionId", pojo); | ||||||
|  |  | ||||||
|  |         entityChangesService.addNoteRevisionContentEntityChange(this.noteRevisionId); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     beforeSaving() { |     beforeSaving() { | ||||||
|         if (this.isProtected) { |         super.beforeSaving(); | ||||||
|             protectedSessionService.encryptNoteRevision(this); |  | ||||||
|  |         if (this.isChanged) { | ||||||
|  |             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // cannot be static! | ||||||
|  |     updatePojo(pojo) { | ||||||
|  |         if (pojo.isProtected) { | ||||||
|  |             if (protectedSessionService.isProtectedSessionAvailable()) { | ||||||
|  |                 pojo.title = protectedSessionService.encrypt(pojo.title); | ||||||
|  |             } | ||||||
|  |             else { | ||||||
|  |                 // updating protected note outside of protected session means we will keep original ciphertexts | ||||||
|  |                 delete pojo.title; | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         super.beforeSaving(); |         delete pojo.content; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = NoteRevision;</code></pre> | module.exports = NoteRevision; | ||||||
|  | </code></pre> | ||||||
|         </article> |         </article> | ||||||
|     </section> |     </section> | ||||||
|  |  | ||||||
| @@ -87,13 +187,13 @@ module.exports = NoteRevision;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -34,11 +34,11 @@ const dateUtils = require('../services/date_utils'); | |||||||
| /** | /** | ||||||
|  * Option represents name-value pair, either directly configurable by the user or some system property. |  * Option represents name-value pair, either directly configurable by the user or some system property. | ||||||
|  * |  * | ||||||
|  * @param {string} name |  * @property {string} name | ||||||
|  * @param {string} value |  * @property {string} value | ||||||
|  * @param {boolean} isSynced |  * @property {boolean} isSynced | ||||||
|  * @param {string} utcDateModified |  * @property {string} utcDateModified | ||||||
|  * @param {string} utcDateCreated |  * @property {string} utcDateCreated | ||||||
|  * |  * | ||||||
|  * @extends Entity |  * @extends Entity | ||||||
|  */ |  */ | ||||||
| @@ -76,13 +76,13 @@ module.exports = Option;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -34,10 +34,10 @@ const dateUtils = require('../services/date_utils'); | |||||||
| /** | /** | ||||||
|  * RecentNote represents recently visited note. |  * RecentNote represents recently visited note. | ||||||
|  * |  * | ||||||
|  * @param {string} noteId |  * @property {string} noteId | ||||||
|  * @param {string} notePath |  * @property {string} notePath | ||||||
|  * @param {boolean} isDeleted |  * @property {boolean} isDeleted | ||||||
|  * @param {string} utcDateModified |  * @property {string} utcDateModified | ||||||
|  * |  * | ||||||
|  * @extends Entity |  * @extends Entity | ||||||
|  */ |  */ | ||||||
| @@ -69,13 +69,13 @@ module.exports = RecentNote;</code></pre> | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
| @@ -102,6 +102,313 @@ | |||||||
|  |  | ||||||
|          |          | ||||||
|                  |                  | ||||||
|  | <h4 class="name" id="CreateNewNoteParams">CreateNewNoteParams</h4> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <h5>Type:</h5> | ||||||
|  |     <ul> | ||||||
|  |         <li> | ||||||
|  |              | ||||||
|  | <span class="param-type">object</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |         </li> | ||||||
|  |     </ul> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|  |     <thead> | ||||||
|  |     <tr> | ||||||
|  |          | ||||||
|  |         <th>Name</th> | ||||||
|  |          | ||||||
|  |  | ||||||
|  |         <th>Type</th> | ||||||
|  |  | ||||||
|  |          | ||||||
|  |  | ||||||
|  |          | ||||||
|  |  | ||||||
|  |         <th class="last">Description</th> | ||||||
|  |     </tr> | ||||||
|  |     </thead> | ||||||
|  |  | ||||||
|  |     <tbody> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>parentNoteId</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">MANDATORY</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>title</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">MANDATORY</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>content</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  | | | ||||||
|  |  | ||||||
|  | <span class="param-type">buffer</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">MANDATORY</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>type</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">text, code, file, image, search, book, relation-map - MANDATORY</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>mime</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">value is derived from default mimes for type</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>isProtected</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">boolean</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">default is false</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>isExpanded</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">boolean</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">default is false</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>prefix</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">default is empty string</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>notePosition</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">int</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">default is last existing notePosition in a parent + 10</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     </tbody> | ||||||
|  | </table> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl class="details"> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <dt class="tag-source">Source:</dt> | ||||||
|  |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|  |         <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line213">line 213</a> | ||||||
|  |     </li></ul></dd> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |                  | ||||||
| <h4 class="name" id="CreateNoteAttribute">CreateNoteAttribute</h4> | <h4 class="name" id="CreateNoteAttribute">CreateNoteAttribute</h4> | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -272,7 +579,195 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line173">line 173</a> |         <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line174">line 174</a> | ||||||
|  |     </li></ul></dd> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  | </dl> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <h4 class="name" id="CreateNoteAttribute">CreateNoteAttribute</h4> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <h5>Type:</h5> | ||||||
|  |     <ul> | ||||||
|  |         <li> | ||||||
|  |              | ||||||
|  | <span class="param-type">object</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |         </li> | ||||||
|  |     </ul> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <h5 class="subsection-title">Properties:</h5> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  | <table class="props"> | ||||||
|  |     <thead> | ||||||
|  |     <tr> | ||||||
|  |          | ||||||
|  |         <th>Name</th> | ||||||
|  |          | ||||||
|  |  | ||||||
|  |         <th>Type</th> | ||||||
|  |  | ||||||
|  |          | ||||||
|  |         <th>Attributes</th> | ||||||
|  |          | ||||||
|  |  | ||||||
|  |          | ||||||
|  |  | ||||||
|  |         <th class="last">Description</th> | ||||||
|  |     </tr> | ||||||
|  |     </thead> | ||||||
|  |  | ||||||
|  |     <tbody> | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>type</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |                 <td class="attributes"> | ||||||
|  |                  | ||||||
|  |  | ||||||
|  |                  | ||||||
|  |                 </td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">attribute type - label, relation etc.</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>name</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |                 <td class="attributes"> | ||||||
|  |                  | ||||||
|  |  | ||||||
|  |                  | ||||||
|  |                 </td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">attribute name</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |         <tr> | ||||||
|  |              | ||||||
|  |                 <td class="name"><code>value</code></td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="type"> | ||||||
|  |              | ||||||
|  |                  | ||||||
|  | <span class="param-type">string</span> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |              | ||||||
|  |             </td> | ||||||
|  |  | ||||||
|  |              | ||||||
|  |                 <td class="attributes"> | ||||||
|  |                  | ||||||
|  |                     <optional><br> | ||||||
|  |                  | ||||||
|  |  | ||||||
|  |                  | ||||||
|  |                 </td> | ||||||
|  |              | ||||||
|  |  | ||||||
|  |              | ||||||
|  |  | ||||||
|  |             <td class="description last">attribute value</td> | ||||||
|  |         </tr> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     </tbody> | ||||||
|  | </table> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <dl class="details"> | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     <dt class="tag-source">Source:</dt> | ||||||
|  |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|  |         <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line234">line 234</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -558,7 +1053,7 @@ | |||||||
|      |      | ||||||
|     <dt class="tag-source">Source:</dt> |     <dt class="tag-source">Source:</dt> | ||||||
|     <dd class="tag-source"><ul class="dummy"><li> |     <dd class="tag-source"><ul class="dummy"><li> | ||||||
|         <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line180">line 180</a> |         <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line241">line 241</a> | ||||||
|     </li></ul></dd> |     </li></ul></dd> | ||||||
|      |      | ||||||
|  |  | ||||||
| @@ -588,13 +1083,13 @@ | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <nav> | <nav> | ||||||
|     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> |     <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3> | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| <br class="clear"> | <br class="clear"> | ||||||
|  |  | ||||||
| <footer> | <footer> | ||||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> |     Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a> | ||||||
| </footer> | </footer> | ||||||
|  |  | ||||||
| <script> prettyPrint(); </script> | <script> prettyPrint(); </script> | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user