Compare commits
	
		
			295 Commits
		
	
	
		
			v0.30.3-be
			...
			v0.33.0-be
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					cdd53a39f1 | ||
| 
						 | 
					c646019536 | ||
| 
						 | 
					c8049f0efe | ||
| 
						 | 
					f2c497049b | ||
| 
						 | 
					d713274ae2 | ||
| 
						 | 
					a72eeb9a98 | ||
| 
						 | 
					41cdd5c640 | ||
| 
						 | 
					4cde65d171 | ||
| 
						 | 
					27659805f6 | ||
| 
						 | 
					8ab081a3fd | ||
| 
						 | 
					ccbb2e2e12 | ||
| 
						 | 
					2bf2ec5a6c | ||
| 
						 | 
					4329675c60 | ||
| 
						 | 
					412b0377e9 | ||
| 
						 | 
					69e48ff4d7 | ||
| 
						 | 
					4cacd1dfa2 | ||
| 
						 | 
					0c8ad1b46e | ||
| 
						 | 
					d3ac7b0939 | ||
| 
						 | 
					e0306d4ad7 | ||
| 
						 | 
					1f3d726048 | ||
| 
						 | 
					f3ed7e936d | ||
| 
						 | 
					547ad7221d | ||
| 
						 | 
					97a258c0c6 | ||
| 
						 | 
					19a154c2f4 | ||
| 
						 | 
					b389ec5ea3 | ||
| 
						 | 
					412375e92f | ||
| 
						 | 
					4b96ada781 | ||
| 
						 | 
					87b16f3325 | ||
| 
						 | 
					0a0663be69 | ||
| 
						 | 
					7eed076674 | ||
| 
						 | 
					b5143c152b | ||
| 
						 | 
					6ef8a4c018 | ||
| 
						 | 
					ebd26f85bd | ||
| 
						 | 
					fbfb7b3b30 | ||
| 
						 | 
					cfb313b60e | ||
| 
						 | 
					54e37dea20 | ||
| 
						 | 
					5b14358620 | ||
| 
						 | 
					c4669cbaa3 | ||
| 
						 | 
					74b41c9911 | ||
| 
						 | 
					d08a36174d | ||
| 
						 | 
					e845b80e10 | ||
| 
						 | 
					b0303ef529 | ||
| 
						 | 
					68f67ec6ee | ||
| 
						 | 
					20ae67f510 | ||
| 
						 | 
					237749e4af | ||
| 
						 | 
					15f4782947 | ||
| 
						 | 
					d48efd1925 | ||
| 
						 | 
					883d726622 | ||
| 
						 | 
					0a0cac5f41 | ||
| 
						 | 
					012a18be00 | ||
| 
						 | 
					890c00d4ba | ||
| 
						 | 
					bb43014230 | ||
| 
						 | 
					53a995fecb | ||
| 
						 | 
					8d3262d232 | ||
| 
						 | 
					373ec4ac50 | ||
| 
						 | 
					3fdecee95f | ||
| 
						 | 
					86b9f5a8b0 | ||
| 
						 | 
					873b60b00d | ||
| 
						 | 
					fc58086f6e | ||
| 
						 | 
					40cec31099 | ||
| 
						 | 
					33733d3ab7 | ||
| 
						 | 
					f08bf0be15 | ||
| 
						 | 
					296cb7236f | ||
| 
						 | 
					d614967d62 | ||
| 
						 | 
					35648b9f37 | ||
| 
						 | 
					494a980ecb | ||
| 
						 | 
					810aa8c2fb | ||
| 
						 | 
					027b3eaed8 | ||
| 
						 | 
					dedc1e708f | ||
| 
						 | 
					79956b5676 | ||
| 
						 | 
					48b1aece4d | ||
| 
						 | 
					eee75bd2e8 | ||
| 
						 | 
					29828f8e8f | ||
| 
						 | 
					ced02b42b5 | ||
| 
						 | 
					3fe9218ea8 | ||
| 
						 | 
					ff5ea8b311 | ||
| 
						 | 
					32fae5e9e8 | ||
| 
						 | 
					48b4488a58 | ||
| 
						 | 
					aead6a44de | ||
| 
						 | 
					f59f08fa0e | ||
| 
						 | 
					119d7367da | ||
| 
						 | 
					ddb99a0917 | ||
| 
						 | 
					ecfba95841 | ||
| 
						 | 
					597eb5a300 | ||
| 
						 | 
					f3e7e6bbe7 | ||
| 
						 | 
					722380e7b8 | ||
| 
						 | 
					8c46e96397 | ||
| 
						 | 
					f22cc37df7 | ||
| 
						 | 
					dd1fc23fe8 | ||
| 
						 | 
					f9f4148e8c | ||
| 
						 | 
					2178f82324 | ||
| 
						 | 
					79d779dee8 | ||
| 
						 | 
					93c0469aa0 | ||
| 
						 | 
					81d10fa605 | ||
| 
						 | 
					75ef766649 | ||
| 
						 | 
					fab8b77794 | ||
| 
						 | 
					8b030a2323 | ||
| 
						 | 
					14c420b782 | ||
| 
						 | 
					637547a3fa | ||
| 
						 | 
					c39c1baa4d | ||
| 
						 | 
					b9edd0ecc7 | ||
| 
						 | 
					2dec8f1ad6 | ||
| 
						 | 
					bd97df5ee9 | ||
| 
						 | 
					8a501521e8 | ||
| 
						 | 
					be68391c37 | ||
| 
						 | 
					89d4be504d | ||
| 
						 | 
					0a2acbe4be | ||
| 
						 | 
					a7a42ff4af | ||
| 
						 | 
					bacf163c96 | ||
| 
						 | 
					db7e083a21 | ||
| 
						 | 
					8eaf44735a | ||
| 
						 | 
					bfc61f8b36 | ||
| 
						 | 
					4ea27e604f | ||
| 
						 | 
					aef0e552a0 | ||
| 
						 | 
					d36bff2a97 | ||
| 
						 | 
					61696f0287 | ||
| 
						 | 
					9a97fe09ee | ||
| 
						 | 
					b1d0cef33b | ||
| 
						 | 
					7f0c92c56b | ||
| 
						 | 
					b21568806a | ||
| 
						 | 
					80fb89b794 | ||
| 
						 | 
					47d28b4eef | ||
| 
						 | 
					a9762c5139 | ||
| 
						 | 
					32439ed006 | ||
| 
						 | 
					ff41904d72 | ||
| 
						 | 
					39093cbc4c | ||
| 
						 | 
					c7b5784123 | ||
| 
						 | 
					3e22804a76 | ||
| 
						 | 
					7ce98b0b28 | ||
| 
						 | 
					0d11cadc18 | ||
| 
						 | 
					63ab82a076 | ||
| 
						 | 
					7e03f14e01 | ||
| 
						 | 
					c9183f8bd4 | ||
| 
						 | 
					bc2d1f1ef9 | ||
| 
						 | 
					e7c053d273 | ||
| 
						 | 
					3ccf553fda | ||
| 
						 | 
					6d2eb7b187 | ||
| 
						 | 
					7234324112 | ||
| 
						 | 
					8205cdc288 | ||
| 
						 | 
					29931bbddf | ||
| 
						 | 
					68cd4c9a31 | ||
| 
						 | 
					f4b986e1c1 | ||
| 
						 | 
					c0496ebef3 | ||
| 
						 | 
					6aa30a4c74 | ||
| 
						 | 
					3035a948b9 | ||
| 
						 | 
					7880cf62fe | ||
| 
						 | 
					ff76ba7d1b | ||
| 
						 | 
					06be593fe4 | ||
| 
						 | 
					91e3eb8ae7 | ||
| 
						 | 
					f7dd3558a7 | ||
| 
						 | 
					eac5ec6e26 | ||
| 
						 | 
					f273b4334e | ||
| 
						 | 
					15eaf67189 | ||
| 
						 | 
					983d9c4319 | ||
| 
						 | 
					a88a00b60e | ||
| 
						 | 
					a44f43b133 | ||
| 
						 | 
					69677b15fe | ||
| 
						 | 
					2573c3b8a6 | ||
| 
						 | 
					0b0e9f2953 | ||
| 
						 | 
					1990c9399e | ||
| 
						 | 
					151641b659 | ||
| 
						 | 
					36c6376220 | ||
| 
						 | 
					f0e22b70f6 | ||
| 
						 | 
					225e893461 | ||
| 
						 | 
					064a11d872 | ||
| 
						 | 
					3760835608 | ||
| 
						 | 
					e7ac2ec4ed | ||
| 
						 | 
					8da8dfc543 | ||
| 
						 | 
					6b3c8b4bac | ||
| 
						 | 
					25fe78012f | ||
| 
						 | 
					147d79c65c | ||
| 
						 | 
					6fddd2bd62 | ||
| 
						 | 
					77c9b64dc7 | ||
| 
						 | 
					47cb7c7f5e | ||
| 
						 | 
					1bd769827d | ||
| 
						 | 
					288ec88c2f | ||
| 
						 | 
					71916b5e28 | ||
| 
						 | 
					b2d4330692 | ||
| 
						 | 
					253a6ef081 | ||
| 
						 | 
					e1e020c1a4 | ||
| 
						 | 
					2b4413a1bd | ||
| 
						 | 
					dae674a7cd | ||
| 
						 | 
					751bf94758 | ||
| 
						 | 
					4b934a4a81 | ||
| 
						 | 
					7e374e795b | ||
| 
						 | 
					be378f71b0 | ||
| 
						 | 
					27f74489fd | ||
| 
						 | 
					ae8f4ffbbe | ||
| 
						 | 
					896776516b | ||
| 
						 | 
					a27525af9e | ||
| 
						 | 
					83b4382787 | ||
| 
						 | 
					ef1b32d586 | ||
| 
						 | 
					fe3a0bc756 | ||
| 
						 | 
					2259e1d44d | ||
| 
						 | 
					9ca4a016eb | ||
| 
						 | 
					2978a262f7 | ||
| 
						 | 
					f47f3461e6 | ||
| 
						 | 
					06202c31e4 | ||
| 
						 | 
					925dc258a6 | ||
| 
						 | 
					3670800a51 | ||
| 
						 | 
					90a331b989 | ||
| 
						 | 
					a4c8bdeda2 | ||
| 
						 | 
					5bda254184 | ||
| 
						 | 
					26621c0318 | ||
| 
						 | 
					c6806256fd | ||
| 
						 | 
					f00e1235f9 | ||
| 
						 | 
					51bede6541 | ||
| 
						 | 
					75dbaa4b77 | ||
| 
						 | 
					bec6576620 | ||
| 
						 | 
					44551e0e8c | ||
| 
						 | 
					67553cb40e | ||
| 
						 | 
					7cafbda7cd | ||
| 
						 | 
					9a5a085103 | ||
| 
						 | 
					cdb17ae937 | ||
| 
						 | 
					c240fb9896 | ||
| 
						 | 
					4b41eddf44 | ||
| 
						 | 
					b51ac112a2 | ||
| 
						 | 
					a1ac609b34 | ||
| 
						 | 
					66e2a12f3d | ||
| 
						 | 
					9f69294f7f | ||
| 
						 | 
					a5fc8d5329 | ||
| 
						 | 
					7bbf797caf | ||
| 
						 | 
					f479c0e10e | ||
| 
						 | 
					0f32154b91 | ||
| 
						 | 
					f2019ee5f9 | ||
| 
						 | 
					89b8e2bb08 | ||
| 
						 | 
					8fb6edad67 | ||
| 
						 | 
					c2e3a3fe04 | ||
| 
						 | 
					b2052a6ccd | ||
| 
						 | 
					a07479cd5a | ||
| 
						 | 
					3820384f51 | ||
| 
						 | 
					0610576e5a | ||
| 
						 | 
					efac7701eb | ||
| 
						 | 
					905eb303bc | ||
| 
						 | 
					27cee1cf33 | ||
| 
						 | 
					3c56d29fca | ||
| 
						 | 
					946dae72d9 | ||
| 
						 | 
					58f71c7300 | ||
| 
						 | 
					07e9013152 | ||
| 
						 | 
					29c60581a6 | ||
| 
						 | 
					4bdcf32475 | ||
| 
						 | 
					44c742e839 | ||
| 
						 | 
					001bd1d004 | ||
| 
						 | 
					6c7e2f0aa1 | ||
| 
						 | 
					9fc5d328b4 | ||
| 
						 | 
					f6413d095c | ||
| 
						 | 
					d66ad4319e | ||
| 
						 | 
					251fcaeb48 | ||
| 
						 | 
					3311c6336c | ||
| 
						 | 
					fc13e1fa6a | ||
| 
						 | 
					9ca680f842 | ||
| 
						 | 
					616829464f | ||
| 
						 | 
					0267468cd5 | ||
| 
						 | 
					ca0d17d93a | ||
| 
						 | 
					3f656ea76f | ||
| 
						 | 
					1faf2c6ecd | ||
| 
						 | 
					33f2aaa650 | ||
| 
						 | 
					177caec011 | ||
| 
						 | 
					62650a4545 | ||
| 
						 | 
					81dc907afc | ||
| 
						 | 
					3ee33e1024 | ||
| 
						 | 
					2326eb85f1 | ||
| 
						 | 
					0885e60b80 | ||
| 
						 | 
					ef40c66344 | ||
| 
						 | 
					0d0464549f | ||
| 
						 | 
					b68b0fe783 | ||
| 
						 | 
					b4c6d9f800 | ||
| 
						 | 
					24c8b39d8e | ||
| 
						 | 
					0144dc12df | ||
| 
						 | 
					65684550a8 | ||
| 
						 | 
					6d09931a39 | ||
| 
						 | 
					1c41d459f0 | ||
| 
						 | 
					f65fefe7b1 | ||
| 
						 | 
					0a906b5663 | ||
| 
						 | 
					dd9b7bbbb5 | ||
| 
						 | 
					d25a1e3ed9 | ||
| 
						 | 
					05374becfd | ||
| 
						 | 
					37d2a7939c | ||
| 
						 | 
					a432ad7483 | ||
| 
						 | 
					ae17e4dc60 | ||
| 
						 | 
					02eddc347a | ||
| 
						 | 
					ee58bf3d5c | ||
| 
						 | 
					ecbaffa5f3 | ||
| 
						 | 
					fe86c09f22 | ||
| 
						 | 
					c8e01d6cce | ||
| 
						 | 
					fd0bd5dd00 | ||
| 
						 | 
					cd6d4fb527 | ||
| 
						 | 
					8ed6851e85 | ||
| 
						 | 
					a6fd3bfb00 | ||
| 
						 | 
					610dd8a783 | ||
| 
						 | 
					7c404f03db | ||
| 
						 | 
					ed1cf6aad5 | ||
| 
						 | 
					9703fd61e2 | ||
| 
						 | 
					16790e388b | ||
| 
						 | 
					ec384fafce | 
@@ -1,8 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<dataSource name="document.db">
 | 
			
		||||
  <database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.14">
 | 
			
		||||
  <database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.15">
 | 
			
		||||
    <root id="1">
 | 
			
		||||
      <ServerVersion>3.16.1</ServerVersion>
 | 
			
		||||
      <ServerVersion>3.25.1</ServerVersion>
 | 
			
		||||
    </root>
 | 
			
		||||
    <schema id="2" parent="1" name="main">
 | 
			
		||||
      <Current>1</Current>
 | 
			
		||||
@@ -39,7 +39,7 @@
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="22" parent="6" name="dateCreated">
 | 
			
		||||
    <column id="22" parent="6" name="utcDateCreated">
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -59,7 +59,6 @@
 | 
			
		||||
    <index id="25" parent="6" name="sqlite_autoindex_api_tokens_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>apiTokenId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="26" parent="6">
 | 
			
		||||
@@ -99,12 +98,12 @@
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="33" parent="7" name="dateCreated">
 | 
			
		||||
    <column id="33" parent="7" name="utcDateCreated">
 | 
			
		||||
      <Position>7</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="34" parent="7" name="dateModified">
 | 
			
		||||
    <column id="34" parent="7" name="utcDateModified">
 | 
			
		||||
      <Position>8</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -128,25 +127,20 @@
 | 
			
		||||
    <index id="38" parent="7" name="sqlite_autoindex_attributes_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>attributeId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="39" parent="7" name="IDX_attributes_noteId_index">
 | 
			
		||||
      <ColNames>noteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="40" parent="7" name="IDX_attributes_name_value">
 | 
			
		||||
      <ColNames>name
 | 
			
		||||
value</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="41" parent="7" name="IDX_attributes_name_index">
 | 
			
		||||
      <ColNames>name</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="42" parent="7" name="IDX_attributes_value_index">
 | 
			
		||||
      <ColNames>value</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="43" parent="7">
 | 
			
		||||
      <ColNames>attributeId</ColNames>
 | 
			
		||||
@@ -187,41 +181,36 @@ value</ColNames>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="51" parent="8" name="dateModified">
 | 
			
		||||
    <column id="51" parent="8" name="utcDateModified">
 | 
			
		||||
      <Position>8</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="52" parent="8" name="hash">
 | 
			
		||||
    <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>
 | 
			
		||||
    <column id="53" parent="8" name="dateCreated">
 | 
			
		||||
      <Position>10</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>'1970-01-01T00:00:00.000Z'</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <index id="54" parent="8" name="sqlite_autoindex_branches_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>branchId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="55" parent="8" name="IDX_branches_noteId_parentNoteId">
 | 
			
		||||
      <ColNames>noteId
 | 
			
		||||
parentNoteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="56" parent="8" name="IDX_branches_noteId">
 | 
			
		||||
      <ColNames>noteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="57" parent="8" name="IDX_branches_parentNoteId">
 | 
			
		||||
      <ColNames>parentNoteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="58" parent="8">
 | 
			
		||||
      <ColNames>branchId</ColNames>
 | 
			
		||||
@@ -241,7 +230,7 @@ parentNoteId</ColNames>
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="62" parent="9" name="dateCreated">
 | 
			
		||||
    <column id="62" parent="9" name="utcDateCreated">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -249,7 +238,6 @@ parentNoteId</ColNames>
 | 
			
		||||
    <index id="63" parent="9" name="sqlite_autoindex_event_log_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>eventId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="64" parent="9">
 | 
			
		||||
@@ -289,12 +277,12 @@ parentNoteId</ColNames>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="71" parent="10" name="dateCreated">
 | 
			
		||||
    <column id="71" parent="10" name="utcDateCreated">
 | 
			
		||||
      <Position>7</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="72" parent="10" name="dateModified">
 | 
			
		||||
    <column id="72" parent="10" name="utcDateModified">
 | 
			
		||||
      <Position>8</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -302,207 +290,195 @@ parentNoteId</ColNames>
 | 
			
		||||
    <index id="73" parent="10" name="sqlite_autoindex_links_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>linkId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="74" parent="10" name="IDX_links_noteId_index">
 | 
			
		||||
      <ColNames>noteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="75" parent="10" name="IDX_links_targetNoteId_index">
 | 
			
		||||
      <ColNames>targetNoteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </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="noteContentId">
 | 
			
		||||
    <column id="77" parent="11" name="noteId">
 | 
			
		||||
      <Position>1</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="78" parent="11" name="noteId">
 | 
			
		||||
    <column id="78" parent="11" name="content">
 | 
			
		||||
      <Position>2</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="79" parent="11" name="isProtected">
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>INT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="80" parent="11" name="content">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <DefaultExpression>NULL</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="81" parent="11" name="hash">
 | 
			
		||||
      <Position>5</Position>
 | 
			
		||||
    <column id="79" parent="11" name="hash">
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>""</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="82" parent="11" name="dateCreated">
 | 
			
		||||
      <Position>6</Position>
 | 
			
		||||
    <column id="80" parent="11" name="utcDateModified">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>'2018-05-08T23:41:15.225Z'</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="83" parent="11" name="dateModified">
 | 
			
		||||
      <Position>7</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>'2018-05-08T23:41:15.225Z'</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <index id="84" parent="11" name="sqlite_autoindex_note_contents_1">
 | 
			
		||||
    <index id="81" parent="11" name="sqlite_autoindex_note_contents_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>noteContentId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="85" parent="11" name="IDX_note_contents_noteId">
 | 
			
		||||
      <ColNames>noteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="86" parent="11">
 | 
			
		||||
      <ColNames>noteContentId</ColNames>
 | 
			
		||||
    <key id="82" parent="11">
 | 
			
		||||
      <ColNames>noteId</ColNames>
 | 
			
		||||
      <Primary>1</Primary>
 | 
			
		||||
      <UnderlyingIndexName>sqlite_autoindex_note_contents_1</UnderlyingIndexName>
 | 
			
		||||
    </key>
 | 
			
		||||
    <column id="87" parent="12" name="noteRevisionId">
 | 
			
		||||
    <column id="83" parent="12" name="noteRevisionId">
 | 
			
		||||
      <Position>1</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="88" parent="12" name="noteId">
 | 
			
		||||
    <column id="84" parent="12" name="noteId">
 | 
			
		||||
      <Position>2</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="89" parent="12" name="title">
 | 
			
		||||
    <column id="85" parent="12" name="title">
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="90" parent="12" name="content">
 | 
			
		||||
    <column id="86" parent="12" name="content">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="91" parent="12" name="isProtected">
 | 
			
		||||
    <column id="87" parent="12" name="isProtected">
 | 
			
		||||
      <Position>5</Position>
 | 
			
		||||
      <DataType>INT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="92" parent="12" name="dateModifiedFrom">
 | 
			
		||||
    <column id="88" parent="12" name="utcDateModifiedFrom">
 | 
			
		||||
      <Position>6</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="93" parent="12" name="dateModifiedTo">
 | 
			
		||||
    <column id="89" parent="12" name="utcDateModifiedTo">
 | 
			
		||||
      <Position>7</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="94" parent="12" name="type">
 | 
			
		||||
    <column id="90" parent="12" name="dateModifiedFrom">
 | 
			
		||||
      <Position>8</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>''</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="95" parent="12" name="mime">
 | 
			
		||||
    <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="96" parent="12" name="hash">
 | 
			
		||||
      <Position>10</Position>
 | 
			
		||||
    <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="97" parent="12" name="sqlite_autoindex_note_revisions_1">
 | 
			
		||||
    <index id="95" parent="12" name="sqlite_autoindex_note_revisions_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>noteRevisionId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="98" parent="12" name="IDX_note_revisions_noteId">
 | 
			
		||||
    <index id="96" parent="12" name="IDX_note_revisions_noteId">
 | 
			
		||||
      <ColNames>noteId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="99" parent="12" name="IDX_note_revisions_dateModifiedFrom">
 | 
			
		||||
      <ColNames>dateModifiedFrom</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    <index id="97" parent="12" name="IDX_note_revisions_dateModifiedFrom">
 | 
			
		||||
      <ColNames>utcDateModifiedFrom</ColNames>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="100" parent="12" name="IDX_note_revisions_dateModifiedTo">
 | 
			
		||||
      <ColNames>dateModifiedTo</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    <index id="98" parent="12" name="IDX_note_revisions_dateModifiedTo">
 | 
			
		||||
      <ColNames>utcDateModifiedTo</ColNames>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="101" parent="12">
 | 
			
		||||
    <key id="99" parent="12">
 | 
			
		||||
      <ColNames>noteRevisionId</ColNames>
 | 
			
		||||
      <Primary>1</Primary>
 | 
			
		||||
      <UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName>
 | 
			
		||||
    </key>
 | 
			
		||||
    <column id="102" parent="13" name="noteId">
 | 
			
		||||
    <column id="100" parent="13" name="noteId">
 | 
			
		||||
      <Position>1</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="103" parent="13" name="title">
 | 
			
		||||
    <column id="101" parent="13" name="title">
 | 
			
		||||
      <Position>2</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>"note"</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="104" parent="13" name="isProtected">
 | 
			
		||||
    <column id="102" parent="13" name="isProtected">
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>INT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="105" parent="13" name="type">
 | 
			
		||||
    <column id="103" parent="13" name="type">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>'text'</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="106" parent="13" name="mime">
 | 
			
		||||
    <column id="104" parent="13" name="mime">
 | 
			
		||||
      <Position>5</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>'text/html'</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="107" parent="13" name="hash">
 | 
			
		||||
    <column id="105" parent="13" name="hash">
 | 
			
		||||
      <Position>6</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>""</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="108" parent="13" name="isDeleted">
 | 
			
		||||
    <column id="106" parent="13" name="isDeleted">
 | 
			
		||||
      <Position>7</Position>
 | 
			
		||||
      <DataType>INT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="109" parent="13" name="dateCreated">
 | 
			
		||||
    <column id="107" parent="13" name="dateCreated">
 | 
			
		||||
      <Position>8</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="110" parent="13" name="dateModified">
 | 
			
		||||
    <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>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="112" parent="13">
 | 
			
		||||
@@ -519,32 +495,31 @@ parentNoteId</ColNames>
 | 
			
		||||
      <Position>2</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="115" parent="14" name="dateModified">
 | 
			
		||||
    <column id="115" parent="14" name="isSynced">
 | 
			
		||||
      <Position>3</Position>
 | 
			
		||||
      <DataType>INT|0s</DataType>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="116" parent="14" name="isSynced">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>INTEGER|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>0</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="117" parent="14" name="hash">
 | 
			
		||||
      <Position>5</Position>
 | 
			
		||||
    <column id="116" parent="14" name="hash">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>""</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="118" parent="14" name="dateCreated">
 | 
			
		||||
    <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>
 | 
			
		||||
      <DefaultExpression>'1970-01-01T00:00:00.000Z'</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <index id="119" parent="14" name="sqlite_autoindex_options_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>name</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="120" parent="14">
 | 
			
		||||
@@ -568,7 +543,7 @@ parentNoteId</ColNames>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
      <DefaultExpression>""</DefaultExpression>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="124" parent="15" name="dateCreated">
 | 
			
		||||
    <column id="124" parent="15" name="utcDateCreated">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -580,7 +555,6 @@ parentNoteId</ColNames>
 | 
			
		||||
    <index id="126" parent="15" name="sqlite_autoindex_recent_notes_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>branchId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="127" parent="15">
 | 
			
		||||
@@ -593,7 +567,7 @@ parentNoteId</ColNames>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="129" parent="16" name="dateCreated">
 | 
			
		||||
    <column id="129" parent="16" name="utcDateCreated">
 | 
			
		||||
      <Position>2</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -601,7 +575,6 @@ parentNoteId</ColNames>
 | 
			
		||||
    <index id="130" parent="16" name="sqlite_autoindex_source_ids_1">
 | 
			
		||||
      <NameSurrogate>1</NameSurrogate>
 | 
			
		||||
      <ColNames>sourceId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="131" parent="16">
 | 
			
		||||
@@ -623,7 +596,7 @@ parentNoteId</ColNames>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="135" parent="17" name="rootpage">
 | 
			
		||||
      <Position>4</Position>
 | 
			
		||||
      <DataType>integer|0s</DataType>
 | 
			
		||||
      <DataType>int|0s</DataType>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="136" parent="17" name="sql">
 | 
			
		||||
      <Position>5</Position>
 | 
			
		||||
@@ -656,7 +629,7 @@ parentNoteId</ColNames>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
    </column>
 | 
			
		||||
    <column id="143" parent="19" name="syncDate">
 | 
			
		||||
    <column id="143" parent="19" name="utcSyncDate">
 | 
			
		||||
      <Position>5</Position>
 | 
			
		||||
      <DataType>TEXT|0s</DataType>
 | 
			
		||||
      <NotNull>1</NotNull>
 | 
			
		||||
@@ -664,12 +637,10 @@ parentNoteId</ColNames>
 | 
			
		||||
    <index id="144" parent="19" name="IDX_sync_entityName_entityId">
 | 
			
		||||
      <ColNames>entityName
 | 
			
		||||
entityId</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
      <Unique>1</Unique>
 | 
			
		||||
    </index>
 | 
			
		||||
    <index id="145" parent="19" name="IDX_sync_syncDate">
 | 
			
		||||
      <ColNames>syncDate</ColNames>
 | 
			
		||||
      <ColumnCollations></ColumnCollations>
 | 
			
		||||
    <index id="145" parent="19" name="IDX_sync_utcSyncDate">
 | 
			
		||||
      <ColNames>utcSyncDate</ColNames>
 | 
			
		||||
    </index>
 | 
			
		||||
    <key id="146" parent="19">
 | 
			
		||||
      <ColNames>id</ColNames>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
FROM node:10.15.0-alpine
 | 
			
		||||
FROM node:12.4.0-alpine
 | 
			
		||||
 | 
			
		||||
# Create app directory
 | 
			
		||||
WORKDIR /usr/src/app
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,10 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
VERSION=`jq -r ".version" package.json`
 | 
			
		||||
SERIES=${VERSION:0:4}-latest
 | 
			
		||||
 | 
			
		||||
sudo docker build -t zadam/trilium:latest -t zadam/trilium:$VERSION .
 | 
			
		||||
sudo docker build -t zadam/trilium:$VERSION -t zadam/trilium:$SERIES .
 | 
			
		||||
 | 
			
		||||
if [[ $VERSION != *"beta"* ]]; then
 | 
			
		||||
  sudo docker tag zadam/trilium:$VERSION zadam/trilium:latest
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ cp -r bin/deps/linux-x64/sqlite/* node_modules/sqlite3/lib/binding/
 | 
			
		||||
 | 
			
		||||
mv "./dist/Trilium Notes-linux-x64" $BUILD_DIR
 | 
			
		||||
 | 
			
		||||
cp src/public/images/app-icons/png/128x128.png $BUILD_DIR/icon.png
 | 
			
		||||
cp images/app-icons/png/128x128.png $BUILD_DIR/icon.png
 | 
			
		||||
 | 
			
		||||
# removing software WebGL binaries because they are pretty huge and not necessary
 | 
			
		||||
rm -r $BUILD_DIR/swiftshader
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ 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=src/public/images/app-icons/mac/icon.icns
 | 
			
		||||
./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
 | 
			
		||||
mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
PKG_DIR=dist/trilium-linux-x64-server
 | 
			
		||||
NODE_VERSION=10.15.0
 | 
			
		||||
NODE_VERSION=12.4.0
 | 
			
		||||
 | 
			
		||||
rm -r $PKG_DIR
 | 
			
		||||
mkdir $PKG_DIR
 | 
			
		||||
@@ -14,6 +14,8 @@ 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 ./
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ 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=src/public/images/app-icons/win/icon.ico
 | 
			
		||||
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=win32  --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico
 | 
			
		||||
 | 
			
		||||
mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								bin/deps/linux-x64/sqlite/electron-v6.0-linux-x64/node_sqlite3.node
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								bin/deps/linux-x64/sqlite/node-v72-linux-x64/node_sqlite3.node
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								bin/deps/mac-x64/sqlite/electron-v6.0-darwin-x64/node_sqlite3.node
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -5,5 +5,12 @@ if [[ $# -eq 0 ]] ; then
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
sudo docker push zadam/trilium:latest
 | 
			
		||||
sudo docker push zadam/trilium:$1
 | 
			
		||||
VERSION=$1
 | 
			
		||||
SERIES=${VERSION:0:4}-latest
 | 
			
		||||
 | 
			
		||||
sudo docker push zadam/trilium:$VERSION
 | 
			
		||||
sudo docker push zadam/trilium:$SERIES
 | 
			
		||||
 | 
			
		||||
if [[ $1 != *"beta"* ]]; then
 | 
			
		||||
  sudo docker push zadam/trilium:latest
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								db/demo.tar
									
									
									
									
									
								
							
							
						
						
							
								
								
									
										6
									
								
								db/migrations/0127__fix_inconsistent_isProtected.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
			
		||||
UPDATE notes SET title = 'Recovered protected note', isProtected = 0 WHERE noteId IN (
 | 
			
		||||
    SELECT noteId FROM notes JOIN note_contents USING(noteId)
 | 
			
		||||
    WHERE notes.isProtected = 1
 | 
			
		||||
      AND note_contents.isProtected = 0
 | 
			
		||||
      AND notes.isDeleted = 0
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										0
									
								
								db/migrations/0128__add_note_fulltext.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								db/migrations/0129__fill_note_fulltext.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
module.exports = async () => {};
 | 
			
		||||
							
								
								
									
										236
									
								
								db/migrations/0130__rename_dates_to_utc.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,236 @@
 | 
			
		||||
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,
 | 
			
		||||
                                    `utcSyncDate`	TEXT NOT NULL);
 | 
			
		||||
 | 
			
		||||
INSERT INTO sync_mig (id, entityName, entityId, sourceId, utcSyncDate)
 | 
			
		||||
  SELECT id, entityName, entityId, sourceId, REPLACE(syncDate, 'T', ' ') FROM sync;
 | 
			
		||||
 | 
			
		||||
DROP TABLE sync;
 | 
			
		||||
ALTER TABLE sync_mig RENAME TO sync;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "source_ids_mig" (
 | 
			
		||||
                                          `sourceId`	TEXT NOT NULL,
 | 
			
		||||
                                          `utcDateCreated`	TEXT NOT NULL,
 | 
			
		||||
                                          PRIMARY KEY(`sourceId`)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO source_ids_mig (sourceId, utcDateCreated)
 | 
			
		||||
  SELECT sourceId, REPLACE(dateCreated, 'T', ' ') FROM source_ids;
 | 
			
		||||
 | 
			
		||||
DROP TABLE source_ids;
 | 
			
		||||
ALTER TABLE source_ids_mig RENAME TO source_ids;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "note_revisions_mig" (
 | 
			
		||||
                                              `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);
 | 
			
		||||
 | 
			
		||||
INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, content, isProtected, utcDateModifiedFrom, utcDateModifiedTo, dateModifiedFrom, dateModifiedTo, type, mime, hash)
 | 
			
		||||
SELECT noteRevisionId, noteId, title, content, isProtected, REPLACE(dateModifiedFrom, 'T', ' '), REPLACE(dateModifiedTo, 'T', ' '), REPLACE(REPLACE(dateModifiedFrom, 'T', ' '), 'Z', '+0000'), REPLACE(REPLACE(dateModifiedTo, 'T', ' '), 'Z', '+0000'), type, mime, hash FROM note_revisions;
 | 
			
		||||
 | 
			
		||||
DROP TABLE note_revisions;
 | 
			
		||||
ALTER TABLE note_revisions_mig RENAME TO note_revisions;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "api_tokens_mig"
 | 
			
		||||
(
 | 
			
		||||
  apiTokenId TEXT PRIMARY KEY NOT NULL,
 | 
			
		||||
  token TEXT NOT NULL,
 | 
			
		||||
  utcDateCreated TEXT NOT NULL,
 | 
			
		||||
  isDeleted INT NOT NULL DEFAULT 0,
 | 
			
		||||
  hash TEXT DEFAULT "" NOT NULL);
 | 
			
		||||
 | 
			
		||||
INSERT INTO api_tokens_mig (apiTokenId, token, utcDateCreated, isDeleted, hash)
 | 
			
		||||
  SELECT apiTokenId, token, REPLACE(dateCreated, 'T', ' '), isDeleted, hash FROM api_tokens;
 | 
			
		||||
 | 
			
		||||
DROP TABLE api_tokens;
 | 
			
		||||
ALTER TABLE api_tokens_mig RENAME TO api_tokens;
 | 
			
		||||
 | 
			
		||||
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`	BOOLEAN,
 | 
			
		||||
                                        `isDeleted`	INTEGER NOT NULL DEFAULT 0,
 | 
			
		||||
                                        `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, REPLACE(dateModified, 'T', ' '), REPLACE(dateCreated, 'T', ' '), hash FROM branches;
 | 
			
		||||
 | 
			
		||||
DROP TABLE branches;
 | 
			
		||||
ALTER TABLE branches_mig RENAME TO branches;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "recent_notes_mig" (
 | 
			
		||||
                                            `branchId` TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
                                            `notePath` TEXT NOT NULL,
 | 
			
		||||
                                            hash TEXT DEFAULT "" NOT NULL,
 | 
			
		||||
                                            `utcDateCreated` TEXT NOT NULL,
 | 
			
		||||
                                            isDeleted INT
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO recent_notes_mig (branchId, notePath, hash, utcDateCreated, isDeleted)
 | 
			
		||||
  SELECT branchId, notePath, hash, REPLACE(dateCreated, 'T', ' '), isDeleted FROM recent_notes;
 | 
			
		||||
 | 
			
		||||
DROP TABLE recent_notes;
 | 
			
		||||
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "event_log_mig" (
 | 
			
		||||
                                         `eventId`	TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
                                         `noteId`	TEXT,
 | 
			
		||||
                                         `comment`	TEXT,
 | 
			
		||||
                                         `utcDateCreated`	TEXT NOT NULL
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO event_log_mig (eventId, noteId, comment, utcDateCreated)
 | 
			
		||||
  SELECT eventId, noteId, comment, REPLACE(dateCreated, 'T', ' ') FROM event_log;
 | 
			
		||||
 | 
			
		||||
DROP TABLE event_log;
 | 
			
		||||
ALTER TABLE event_log_mig RENAME TO event_log;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "options_mig"
 | 
			
		||||
(
 | 
			
		||||
  name TEXT not null PRIMARY KEY,
 | 
			
		||||
  value TEXT,
 | 
			
		||||
  isSynced INTEGER default 0 not null,
 | 
			
		||||
  hash TEXT default "" not null,
 | 
			
		||||
  utcDateCreated TEXT not null,
 | 
			
		||||
  utcDateModified TEXT NOT NULL
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO options_mig (name, value, isSynced, hash, utcDateCreated, utcDateModified)
 | 
			
		||||
  SELECT name, value, isSynced, hash, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM options;
 | 
			
		||||
 | 
			
		||||
DROP TABLE options;
 | 
			
		||||
ALTER TABLE options_mig RENAME TO options;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE 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,
 | 
			
		||||
  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, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' '), isDeleted, hash, isInheritable FROM attributes;
 | 
			
		||||
 | 
			
		||||
DROP TABLE attributes;
 | 
			
		||||
ALTER TABLE attributes_mig RENAME TO attributes;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "links_mig" (
 | 
			
		||||
                                     `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`)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO links_mig (linkId, noteId, targetNoteId, type, hash, isDeleted, utcDateCreated, utcDateModified)
 | 
			
		||||
  SELECT linkId, noteId, targetNoteId, type, hash, isDeleted, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM links;
 | 
			
		||||
 | 
			
		||||
DROP TABLE links;
 | 
			
		||||
ALTER TABLE links_mig RENAME TO links;
 | 
			
		||||
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "note_contents_mig" (
 | 
			
		||||
                                             `noteContentId`	TEXT NOT NULL,
 | 
			
		||||
                                             `noteId`	TEXT NOT NULL,
 | 
			
		||||
                                             `isProtected`	INT NOT NULL DEFAULT 0,
 | 
			
		||||
                                             `content`	TEXT NULL DEFAULT NULL,
 | 
			
		||||
                                             `hash` TEXT DEFAULT "" NOT NULL,
 | 
			
		||||
                                             `utcDateCreated`	TEXT NOT NULL,
 | 
			
		||||
                                             `utcDateModified` TEXT NOT NULL,
 | 
			
		||||
                                             PRIMARY KEY(`noteContentId`)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO note_contents_mig (noteContentId, noteId, isProtected, content, hash, utcDateCreated, utcDateModified)
 | 
			
		||||
  SELECT noteContentId, noteId, isProtected, content, hash, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM note_contents;
 | 
			
		||||
 | 
			
		||||
DROP TABLE note_contents;
 | 
			
		||||
ALTER TABLE note_contents_mig RENAME TO note_contents;
 | 
			
		||||
 | 
			
		||||
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,
 | 
			
		||||
                                     `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, dateCreated, dateModified, utcDateCreated, utcDateModified)
 | 
			
		||||
  SELECT noteId, title, isProtected, type, mime, hash, isDeleted, REPLACE(REPLACE(dateCreated, 'T', ' '), 'Z', '+0000'), REPLACE(REPLACE(dateModified, 'T', ' '), 'Z', '+0000'), REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM notes;
 | 
			
		||||
 | 
			
		||||
DROP TABLE notes;
 | 
			
		||||
ALTER TABLE notes_mig RENAME TO notes;
 | 
			
		||||
 | 
			
		||||
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 UNIQUE INDEX `IDX_note_contents_noteId` ON `note_contents` (`noteId`);
 | 
			
		||||
							
								
								
									
										13
									
								
								db/migrations/0131__cleanup_note_contents.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,13 @@
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "note_contents_mig" (
 | 
			
		||||
                                                   `noteId`	TEXT NOT NULL,
 | 
			
		||||
                                                   `content`	TEXT NULL DEFAULT NULL,
 | 
			
		||||
                                                   `hash` TEXT DEFAULT "" NOT NULL,
 | 
			
		||||
                                                   `utcDateModified` TEXT NOT NULL,
 | 
			
		||||
                                                   PRIMARY KEY(`noteId`)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
INSERT INTO note_contents_mig (noteId, content, hash, utcDateModified)
 | 
			
		||||
SELECT noteId, content, hash, utcDateModified FROM note_contents;
 | 
			
		||||
 | 
			
		||||
DROP TABLE note_contents;
 | 
			
		||||
ALTER TABLE note_contents_mig RENAME TO note_contents;
 | 
			
		||||
							
								
								
									
										5
									
								
								db/migrations/0132__fill_sync.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
const syncTableService = require('../../src/services/sync_table');
 | 
			
		||||
 | 
			
		||||
module.exports = async () => {
 | 
			
		||||
    await syncTableService.fillAllSyncRows();
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										1
									
								
								db/migrations/0133__drop_note_fulltext.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
DROP TABLE IF EXISTS note_fulltext;
 | 
			
		||||
							
								
								
									
										4
									
								
								db/migrations/0134__create_openTabs_option.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
			
		||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
 | 
			
		||||
    SELECT 'openTabs', '[{"notePath":"' || value || '","active": true,"tabId":"1111"}]', '2019-05-01T18:31:00.874Z', '2019-05-01T18:31:00.874Z', 0 FROM options WHERE name = 'startNotePath';
 | 
			
		||||
 | 
			
		||||
DELETE FROM options WHERE name = 'startNotePath';
 | 
			
		||||
							
								
								
									
										2
									
								
								db/migrations/0135__add_hideTabRowForOneTab_option.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,2 @@
 | 
			
		||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
 | 
			
		||||
    VALUES ('hideTabRowForOneTab', 'false', '2019-05-01T18:31:00.874Z', '2019-05-01T18:31:00.874Z', 0);
 | 
			
		||||
							
								
								
									
										12
									
								
								db/migrations/0136__update_recent_notes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,12 @@
 | 
			
		||||
drop table recent_notes;
 | 
			
		||||
 | 
			
		||||
create table recent_notes
 | 
			
		||||
(
 | 
			
		||||
    noteId TEXT not null primary key,
 | 
			
		||||
    notePath TEXT not null,
 | 
			
		||||
    hash TEXT default "" not null,
 | 
			
		||||
    utcDateCreated TEXT not null,
 | 
			
		||||
    isDeleted INT
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
delete from sync where entityName = 'recent_notes';
 | 
			
		||||
							
								
								
									
										206
									
								
								db/schema.sql
									
									
									
									
									
								
							
							
						
						@@ -1,88 +1,63 @@
 | 
			
		||||
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,
 | 
			
		||||
  `syncDate`	TEXT NOT NULL);
 | 
			
		||||
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
 | 
			
		||||
  `entityName`,
 | 
			
		||||
  `entityId`
 | 
			
		||||
);
 | 
			
		||||
CREATE INDEX `IDX_sync_syncDate` ON `sync` (
 | 
			
		||||
  `syncDate`
 | 
			
		||||
);
 | 
			
		||||
                                    `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,
 | 
			
		||||
  `dateCreated`	TEXT NOT NULL,
 | 
			
		||||
  PRIMARY KEY(`sourceId`)
 | 
			
		||||
                                          `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,
 | 
			
		||||
  `dateModifiedFrom` TEXT NOT NULL,
 | 
			
		||||
  `dateModifiedTo` 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_dateModifiedFrom` ON `note_revisions` (
 | 
			
		||||
  `dateModifiedFrom`
 | 
			
		||||
);
 | 
			
		||||
CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` (
 | 
			
		||||
  `dateModifiedTo`
 | 
			
		||||
);
 | 
			
		||||
                                              `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"
 | 
			
		||||
(
 | 
			
		||||
  apiTokenId TEXT PRIMARY KEY NOT NULL,
 | 
			
		||||
  token TEXT NOT NULL,
 | 
			
		||||
  dateCreated TEXT NOT NULL,
 | 
			
		||||
  isDeleted INT NOT NULL DEFAULT 0
 | 
			
		||||
, hash TEXT DEFAULT "" NOT NULL);
 | 
			
		||||
  utcDateCreated TEXT NOT NULL,
 | 
			
		||||
  isDeleted INT NOT NULL DEFAULT 0,
 | 
			
		||||
  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,
 | 
			
		||||
  `dateModified`	TEXT NOT NULL, hash TEXT DEFAULT "" NOT NULL, dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z',
 | 
			
		||||
  PRIMARY KEY(`branchId`)
 | 
			
		||||
);
 | 
			
		||||
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 TABLE IF NOT EXISTS "recent_notes" (
 | 
			
		||||
  `branchId` TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
  `notePath` TEXT NOT NULL,
 | 
			
		||||
  hash TEXT DEFAULT "" NOT NULL,
 | 
			
		||||
  `dateCreated` TEXT NOT NULL,
 | 
			
		||||
  isDeleted INT
 | 
			
		||||
                                        `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,
 | 
			
		||||
  `dateCreated`	TEXT NOT NULL
 | 
			
		||||
                                         `eventId`	TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
                                         `noteId`	TEXT,
 | 
			
		||||
                                         `comment`	TEXT,
 | 
			
		||||
                                         `utcDateCreated`	TEXT NOT NULL
 | 
			
		||||
);
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "options"
 | 
			
		||||
(
 | 
			
		||||
  name TEXT not null PRIMARY KEY,
 | 
			
		||||
  value TEXT,
 | 
			
		||||
  dateModified INT,
 | 
			
		||||
  isSynced INTEGER default 0 not null,
 | 
			
		||||
  hash TEXT default "" not null,
 | 
			
		||||
  dateCreated TEXT default '1970-01-01T00:00:00.000Z' not null
 | 
			
		||||
  utcDateCreated TEXT not null,
 | 
			
		||||
  utcDateModified TEXT NOT NULL
 | 
			
		||||
);
 | 
			
		||||
CREATE TABLE attributes
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "attributes"
 | 
			
		||||
(
 | 
			
		||||
  attributeId      TEXT not null primary key,
 | 
			
		||||
  noteId       TEXT not null,
 | 
			
		||||
@@ -90,23 +65,62 @@ CREATE TABLE attributes
 | 
			
		||||
  name         TEXT not null,
 | 
			
		||||
  value        TEXT default '' not null,
 | 
			
		||||
  position     INT  default 0 not null,
 | 
			
		||||
  dateCreated  TEXT not null,
 | 
			
		||||
  dateModified TEXT not null,
 | 
			
		||||
  utcDateCreated  TEXT not null,
 | 
			
		||||
  utcDateModified TEXT not null,
 | 
			
		||||
  isDeleted    INT  not null,
 | 
			
		||||
  hash         TEXT default "" not null, isInheritable int DEFAULT 0 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 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,
 | 
			
		||||
  `dateCreated`	TEXT NOT NULL,
 | 
			
		||||
  `dateModified`	TEXT NOT NULL,
 | 
			
		||||
  PRIMARY KEY(`linkId`)
 | 
			
		||||
);
 | 
			
		||||
CREATE INDEX IDX_links_noteId_index
 | 
			
		||||
  on links (noteId);
 | 
			
		||||
CREATE INDEX IDX_links_targetNoteId_index
 | 
			
		||||
@@ -118,25 +132,17 @@ CREATE INDEX IDX_attributes_noteId_index
 | 
			
		||||
CREATE INDEX IDX_attributes_value_index
 | 
			
		||||
  on attributes (value);
 | 
			
		||||
CREATE TABLE IF NOT EXISTS "note_contents" (
 | 
			
		||||
  `noteContentId`	TEXT NOT NULL,
 | 
			
		||||
  `noteId`	TEXT NOT NULL,
 | 
			
		||||
  `isProtected`	INT NOT NULL DEFAULT 0,
 | 
			
		||||
  `content`	TEXT NULL DEFAULT NULL,
 | 
			
		||||
  `hash` TEXT DEFAULT "" NOT NULL,
 | 
			
		||||
  `dateCreated`	TEXT NOT NULL,
 | 
			
		||||
  `dateModified` TEXT NOT NULL,
 | 
			
		||||
  PRIMARY KEY(`noteContentId`)
 | 
			
		||||
                                                   `noteId`	TEXT NOT NULL,
 | 
			
		||||
                                                   `content`	TEXT NULL DEFAULT NULL,
 | 
			
		||||
                                                   `hash` TEXT DEFAULT "" NOT NULL,
 | 
			
		||||
                                                   `utcDateModified` TEXT NOT NULL,
 | 
			
		||||
                                                   PRIMARY KEY(`noteId`)
 | 
			
		||||
);
 | 
			
		||||
CREATE UNIQUE INDEX `IDX_note_contents_noteId` ON `note_contents` (`noteId`);
 | 
			
		||||
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,
 | 
			
		||||
  PRIMARY KEY(`noteId`)
 | 
			
		||||
CREATE TABLE recent_notes
 | 
			
		||||
(
 | 
			
		||||
    noteId TEXT not null primary key,
 | 
			
		||||
    notePath TEXT not null,
 | 
			
		||||
    hash TEXT default "" not null,
 | 
			
		||||
    utcDateCreated TEXT not null,
 | 
			
		||||
    isDeleted INT
 | 
			
		||||
);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,17 @@
 | 
			
		||||
version: '2.1'
 | 
			
		||||
services:
 | 
			
		||||
  trilium:
 | 
			
		||||
    build:
 | 
			
		||||
      context: .
 | 
			
		||||
    image: zadam/trilium
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
      - TRILIUM_DATA_DIR=/data
 | 
			
		||||
    ports:
 | 
			
		||||
      - "8080:8080"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - trilium:/data
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  trilium:
 | 
			
		||||
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>ApiToken<span class="signature">(apiTokenId, token, isDeleted, dateCreated)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <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>
 | 
			
		||||
        
 | 
			
		||||
            <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, dateCreated)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <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>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -154,7 +154,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateCreated</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateCreated</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -282,7 +282,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>Attribute<span class="signature">(attributeId, noteId, type, name, value, position, isInheritable, isDeleted, dateCreated, dateModified)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <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>
 | 
			
		||||
        
 | 
			
		||||
            <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, dateCreated, dateModified)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <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>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -269,7 +269,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateCreated</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateCreated</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -292,7 +292,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateModified</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateModified</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -724,7 +724,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -81,7 +81,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <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#line22">line 22</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line23">line 23</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -182,7 +182,7 @@
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">where script is currently executing</td>
 | 
			
		||||
            <td class="description last">where script is currently executing. Don't mix this up with concept of active note</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -221,7 +221,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <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#line26">line 26</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -331,7 +331,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <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#line28">line 28</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line29">line 29</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -394,7 +394,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line286">line 286</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line310">line 310</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -504,7 +504,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line24">line 24</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line25">line 25</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -758,7 +758,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line174">line 174</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line198">line 198</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1044,7 +1044,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line187">line 187</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line211">line 211</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1224,7 +1224,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line135">line 135</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line159">line 159</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1423,7 +1423,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line125">line 125</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line149">line 149</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1523,7 +1523,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line291">line 291</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line315">line 315</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1981,7 +1981,7 @@ the backend.
 | 
			
		||||
    
 | 
			
		||||
    <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#line215">line 215</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line239">line 239</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2739,7 +2739,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line258">line 258</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3084,7 +3084,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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#line104">line 104</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3280,7 +3280,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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#line114">line 114</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line138">line 138</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3384,7 +3384,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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#line206">line 206</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line230">line 230</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3560,7 +3560,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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#line225">line 225</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line249">line 249</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3713,7 +3713,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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#line243">line 243</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3861,7 +3861,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <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#line198">line 198</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line222">line 222</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3891,6 +3891,314 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="searchForNote"><span class="type-signature"></span>searchForNote<span class="signature">(searchString)</span><span class="type-signature"> → {Promise.<(<a href="Note.html">Note</a>|null)>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="description">
 | 
			
		||||
    This is a powerful search method - you can search by attributes and their values, e.g.:
 | 
			
		||||
"@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <h5>Parameters:</h5>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
<table class="params">
 | 
			
		||||
    <thead>
 | 
			
		||||
    <tr>
 | 
			
		||||
        
 | 
			
		||||
        <th>Name</th>
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        <th>Type</th>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        <th class="last">Description</th>
 | 
			
		||||
    </tr>
 | 
			
		||||
    </thead>
 | 
			
		||||
 | 
			
		||||
    <tbody>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>searchString</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></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#line114">line 114</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">Promise.<(<a href="Note.html">Note</a>|null)></span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="searchForNotes"><span class="type-signature"></span>searchForNotes<span class="signature">(searchString)</span><span class="type-signature"> → {Promise.<Array.<<a href="Note.html">Note</a>>>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="description">
 | 
			
		||||
    This is a powerful search method - you can search by attributes and their values, e.g.:
 | 
			
		||||
"@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <h5>Parameters:</h5>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
<table class="params">
 | 
			
		||||
    <thead>
 | 
			
		||||
    <tr>
 | 
			
		||||
        
 | 
			
		||||
        <th>Name</th>
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        <th>Type</th>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        <th class="last">Description</th>
 | 
			
		||||
    </tr>
 | 
			
		||||
    </thead>
 | 
			
		||||
 | 
			
		||||
    <tbody>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>searchString</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></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#line104">line 104</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">Promise.<Array.<<a href="Note.html">Note</a>>></span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4073,7 +4381,7 @@ This method looks similar to toggleNoteInParent() but differs because we're look
 | 
			
		||||
    
 | 
			
		||||
    <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#line263">line 263</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line287">line 287</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4204,7 +4512,7 @@ This method looks similar to toggleNoteInParent() but differs because we're look
 | 
			
		||||
    
 | 
			
		||||
    <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#line250">line 250</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line274">line 274</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4418,7 +4726,7 @@ This method looks similar to toggleNoteInParent() but differs because we're look
 | 
			
		||||
    
 | 
			
		||||
    <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#line147">line 147</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line171">line 171</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4575,7 +4883,7 @@ transactional by default.
 | 
			
		||||
    
 | 
			
		||||
    <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#line276">line 276</a>
 | 
			
		||||
        <a href="services_backend_script_api.js.html">services/backend_script_api.js</a>, <a href="services_backend_script_api.js.html#line300">line 300</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4641,7 +4949,7 @@ transactional by default.
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>Branch<span class="signature">(branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <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>
 | 
			
		||||
        
 | 
			
		||||
            <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>
 | 
			
		||||
@@ -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, dateModified, dateCreated)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <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>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -247,7 +247,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateModified</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateModified</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -270,7 +270,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateCreated</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateCreated</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -505,7 +505,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -210,7 +210,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>Link<span class="signature">(linkId, noteId, targetNoteId, type, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>Link<span class="signature">(linkId, noteId, targetNoteId, type, isDeleted, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        
 | 
			
		||||
            <div class="class-description">This class represents link from one note to another in the form of hyperlink or image reference. Note that
 | 
			
		||||
this is different concept than attribute/relation.</div>
 | 
			
		||||
@@ -46,7 +46,7 @@ this is different concept than attribute/relation.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="Link"><span class="type-signature"></span>new Link<span class="signature">(linkId, noteId, targetNoteId, type, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="Link"><span class="type-signature"></span>new Link<span class="signature">(linkId, noteId, targetNoteId, type, isDeleted, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -201,7 +201,7 @@ this is different concept than attribute/relation.</div>
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateModified</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateModified</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -224,7 +224,7 @@ this is different concept than attribute/relation.</div>
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateCreated</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateCreated</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -352,7 +352,7 @@ this is different concept than attribute/relation.</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -288,7 +288,7 @@
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
            <td class="description last">local date time (with offset)</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -311,6 +311,52 @@
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">local date time (with offset)</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <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">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
@@ -350,7 +396,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line30">line 30</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -535,7 +581,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line304">line 304</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line345">line 345</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -700,7 +746,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line173">line 173</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line214">line 214</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -876,7 +922,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line315">line 315</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line356">line 356</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -980,7 +1026,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line602">line 602</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line643">line 643</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1080,7 +1126,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line630">line 630</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line671">line 671</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1184,7 +1230,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line616">line 616</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line657">line 657</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1288,7 +1334,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line80">line 80</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1388,7 +1434,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line491">line 491</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line532">line 532</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1619,7 +1665,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line514">line 514</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line555">line 555</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -1815,7 +1861,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line552">line 552</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line593">line 593</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2011,7 +2057,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line561">line 561</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line602">line 602</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2111,7 +2157,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line87">line 87</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line109">line 109</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2260,7 +2306,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line402">line 402</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line443">line 443</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2425,7 +2471,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line198">line 198</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line239">line 239</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2590,7 +2636,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line190">line 190</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line231">line 231</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2743,7 +2789,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line414">line 414</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line455">line 455</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2851,7 +2897,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line577">line 577</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line618">line 618</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -2955,7 +3001,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line595">line 595</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line636">line 636</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3007,106 +3053,6 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getNoteContent"><span class="type-signature">(async) </span>getNoteContent<span class="signature">()</span><span class="type-signature"> → {Promise.<<a href="NoteContent.html">NoteContent</a>>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line63">line 63</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">Promise.<<a href="NoteContent.html">NoteContent</a>></span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getOwnedAttributes"><span class="type-signature">(async) </span>getOwnedAttributes<span class="signature">()</span><span class="type-signature"> → {Promise.<Array.<<a href="Attribute.html">Attribute</a>>>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3155,7 +3101,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line158">line 158</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line199">line 199</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3259,7 +3205,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line642">line 642</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line683">line 683</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3412,7 +3358,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line408">line 408</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line449">line 449</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3577,7 +3523,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line214">line 214</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line255">line 255</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3742,7 +3688,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line206">line 206</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line247">line 247</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -3895,7 +3841,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line426">line 426</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line467">line 467</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4051,7 +3997,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line420">line 420</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line461">line 461</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4159,7 +4105,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line568">line 568</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line609">line 609</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4259,7 +4205,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line139">line 139</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line180">line 180</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4367,7 +4313,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line586">line 586</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line627">line 627</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4467,7 +4413,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line165">line 165</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line206">line 206</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4643,7 +4589,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line295">line 295</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line336">line 336</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4747,7 +4693,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line609">line 609</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line650">line 650</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -4900,7 +4846,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line390">line 390</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line431">line 431</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5053,7 +4999,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line396">line 396</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line437">line 437</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5162,7 +5108,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line222">line 222</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line263">line 263</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5244,7 +5190,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line129">line 129</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line168">line 168</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5348,7 +5294,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line121">line 121</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line160">line 160</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5452,7 +5398,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line116">line 116</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line155">line 155</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5556,7 +5502,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line111">line 111</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line150">line 150</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5660,7 +5606,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line134">line 134</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line173">line 173</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5764,7 +5710,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line227">line 227</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line268">line 268</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -5991,7 +5937,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line373">line 373</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line414">line 414</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -6187,7 +6133,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line477">line 477</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line518">line 518</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -6383,7 +6329,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line486">line 486</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line527">line 527</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -6610,7 +6556,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line347">line 347</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line388">line 388</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -6710,7 +6656,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line94">line 94</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line116">line 116</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -6810,7 +6756,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line106">line 106</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line145">line 145</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -7006,7 +6952,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line459">line 459</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line500">line 500</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -7202,7 +7148,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line468">line 468</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line509">line 509</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -7460,7 +7406,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line330">line 330</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line371">line 371</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -7687,7 +7633,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line440">line 440</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line481">line 481</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -7914,7 +7860,7 @@ Cache is note instance scoped.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line450">line 450</a>
 | 
			
		||||
        <a href="entities_note.js.html">entities/note.js</a>, <a href="entities_note.js.html#line491">line 491</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -7976,7 +7922,7 @@ Cache is note instance scoped.
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,494 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="utf-8">
 | 
			
		||||
    <title>JSDoc: Class: NoteContent</title>
 | 
			
		||||
 | 
			
		||||
    <script src="scripts/prettify/prettify.js"> </script>
 | 
			
		||||
    <script src="scripts/prettify/lang-css.js"> </script>
 | 
			
		||||
    <!--[if lt IE 9]>
 | 
			
		||||
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
 | 
			
		||||
    <![endif]-->
 | 
			
		||||
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
 | 
			
		||||
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
<div id="main">
 | 
			
		||||
 | 
			
		||||
    <h1 class="page-title">Class: NoteContent</h1>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<section>
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>NoteContent<span class="signature">(row)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        
 | 
			
		||||
            <div class="class-description">This represents a Note which is a central object in the Trilium Notes project.</div>
 | 
			
		||||
        
 | 
			
		||||
    
 | 
			
		||||
</header>
 | 
			
		||||
 | 
			
		||||
<article>
 | 
			
		||||
    <div class="container-overview">
 | 
			
		||||
    
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h2>Constructor</h2>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="NoteContent"><span class="type-signature"></span>new NoteContent<span class="signature">(row)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <h5>Parameters:</h5>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
<table class="params">
 | 
			
		||||
    <thead>
 | 
			
		||||
    <tr>
 | 
			
		||||
        
 | 
			
		||||
        <th>Name</th>
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        <th>Type</th>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        <th class="last">Description</th>
 | 
			
		||||
    </tr>
 | 
			
		||||
    </thead>
 | 
			
		||||
 | 
			
		||||
    <tbody>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>row</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">object containing database row from "note_contents" table</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </tbody>
 | 
			
		||||
</table>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <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>noteContentId</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">primary key</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>noteId</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">reference to owning note</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>isProtected</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">boolean</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">true if note content is protected</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>content</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">blob</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last">note content - e.g. HTML text for text notes, file payload for files</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateCreated</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateModified</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </tbody>
 | 
			
		||||
</table>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note_content.js.html">entities/note_content.js</a>, <a href="entities_note_content.js.html#line20">line 20</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
        <h3 class="subsection-title">Extends</h3>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <ul>
 | 
			
		||||
        <li><a href="Entity.html">Entity</a></li>
 | 
			
		||||
    </ul>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
        <h3 class="subsection-title">Methods</h3>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <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>>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note_content.js.html">entities/note_content.js</a>, <a href="entities_note_content.js.html#line63">line 63</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">Promise.<<a href="Note.html">Note</a>></span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</article>
 | 
			
		||||
 | 
			
		||||
</section>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 | 
			
		||||
<footer>
 | 
			
		||||
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
 | 
			
		||||
</footer>
 | 
			
		||||
 | 
			
		||||
<script> prettyPrint(); </script>
 | 
			
		||||
<script src="scripts/linenumber.js"> </script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>NoteRevision<span class="signature">(noteRevisionId, noteId, type, mime, title, content, isProtected, dateModifiedFrom, dateModifiedTo)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <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>
 | 
			
		||||
        
 | 
			
		||||
            <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)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <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>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -285,6 +285,52 @@
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>utcDateModifiedFrom</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>utcDateModifiedTo</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
            </td>
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="description last"></td>
 | 
			
		||||
        </tr>
 | 
			
		||||
 | 
			
		||||
@@ -326,7 +372,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <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#line22">line 22</a>
 | 
			
		||||
        <a href="entities_note_revision.js.html">entities/note_revision.js</a>, <a href="entities_note_revision.js.html#line24">line 24</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -397,7 +443,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>Option<span class="signature">(name, value, isSynced, dateModified, dateCreated)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <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>
 | 
			
		||||
        
 | 
			
		||||
            <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, dateModified, dateCreated)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <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>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -154,7 +154,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateModified</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateModified</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -177,7 +177,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateCreated</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateCreated</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -305,7 +305,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
 | 
			
		||||
<header>
 | 
			
		||||
    
 | 
			
		||||
        <h2><span class="attribs"><span class="type-signature"></span></span>RecentNote<span class="signature">(branchId, notePath, isDeleted, dateModified)</span><span class="type-signature"></span></h2>
 | 
			
		||||
        <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>
 | 
			
		||||
        
 | 
			
		||||
            <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">(branchId, notePath, isDeleted, dateModified)</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <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>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -85,7 +85,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>branchId</code></td>
 | 
			
		||||
                <td class="name"><code>noteId</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -154,7 +154,7 @@
 | 
			
		||||
 | 
			
		||||
        <tr>
 | 
			
		||||
            
 | 
			
		||||
                <td class="name"><code>dateModified</code></td>
 | 
			
		||||
                <td class="name"><code>utcDateModified</code></td>
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            <td class="type">
 | 
			
		||||
@@ -282,7 +282,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -37,22 +37,22 @@ const dateUtils = require('../services/date_utils');
 | 
			
		||||
 * @param {string} apiTokenId - primary key
 | 
			
		||||
 * @param {string} token
 | 
			
		||||
 * @param {boolean} isDeleted - true if API token is deleted
 | 
			
		||||
 * @param {string} dateCreated
 | 
			
		||||
 * @param {string} utcDateCreated
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
class ApiToken extends Entity {
 | 
			
		||||
    static get entityName() { return "api_tokens"; }
 | 
			
		||||
    static get primaryKeyName() { return "apiTokenId"; }
 | 
			
		||||
    static get hashedProperties() { return ["apiTokenId", "token", "dateCreated", "isDeleted"]; }
 | 
			
		||||
    static get hashedProperties() { return ["apiTokenId", "token", "utcDateCreated", "isDeleted"]; }
 | 
			
		||||
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        if (!this.isDeleted) {
 | 
			
		||||
            this.isDeleted = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
@@ -69,7 +69,7 @@ module.exports = ApiToken;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -44,15 +44,15 @@ const sql = require('../services/sql');
 | 
			
		||||
 * @param {int} position
 | 
			
		||||
 * @param {boolean} isInheritable
 | 
			
		||||
 * @param {boolean} isDeleted
 | 
			
		||||
 * @param {string} dateCreated
 | 
			
		||||
 * @param {string} dateModified
 | 
			
		||||
 * @param {string} utcDateCreated
 | 
			
		||||
 * @param {string} utcDateModified
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
class Attribute extends Entity {
 | 
			
		||||
    static get entityName() { return "attributes"; }
 | 
			
		||||
    static get primaryKeyName() { return "attributeId"; }
 | 
			
		||||
    static get hashedProperties() { return ["attributeId", "noteId", "type", "name", "value", "isInheritable", "isDeleted", "dateCreated"]; }
 | 
			
		||||
    static get hashedProperties() { return ["attributeId", "noteId", "type", "name", "value", "isInheritable", "isDeleted", "utcDateCreated"]; }
 | 
			
		||||
 | 
			
		||||
    constructor(row) {
 | 
			
		||||
        super(row);
 | 
			
		||||
@@ -123,14 +123,14 @@ class Attribute extends Entity {
 | 
			
		||||
            this.isDeleted = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
        if (this.isChanged) {
 | 
			
		||||
            this.dateModified = dateUtils.nowDate();
 | 
			
		||||
            this.utcDateModified = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -150,7 +150,7 @@ module.exports = Attribute;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -44,8 +44,8 @@ const sql = require('../services/sql');
 | 
			
		||||
 * @param {string} prefix
 | 
			
		||||
 * @param {boolean} isExpanded
 | 
			
		||||
 * @param {boolean} isDeleted
 | 
			
		||||
 * @param {string} dateModified
 | 
			
		||||
 * @param {string} dateCreated
 | 
			
		||||
 * @param {string} utcDateModified
 | 
			
		||||
 * @param {string} utcDateCreated
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
@@ -77,14 +77,14 @@ class Branch extends Entity {
 | 
			
		||||
            this.isDeleted = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
        if (this.isChanged) {
 | 
			
		||||
            this.dateModified = dateUtils.nowDate();
 | 
			
		||||
            this.utcDateModified = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -104,7 +104,7 @@ module.exports = Branch;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,13 @@ class Entity {
 | 
			
		||||
 | 
			
		||||
        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() {
 | 
			
		||||
@@ -90,7 +96,7 @@ module.exports = Entity;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -41,15 +41,15 @@ const dateUtils = require('../services/date_utils');
 | 
			
		||||
 * @param {string} targetNoteId
 | 
			
		||||
 * @param {string} type
 | 
			
		||||
 * @param {boolean} isDeleted
 | 
			
		||||
 * @param {string} dateModified
 | 
			
		||||
 * @param {string} dateCreated
 | 
			
		||||
 * @param {string} utcDateModified
 | 
			
		||||
 * @param {string} utcDateCreated
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
class Link extends Entity {
 | 
			
		||||
    static get entityName() { return "links"; }
 | 
			
		||||
    static get primaryKeyName() { return "linkId"; }
 | 
			
		||||
    static get hashedProperties() { return ["linkId", "noteId", "targetNoteId", "type", "isDeleted", "dateCreated", "dateModified"]; }
 | 
			
		||||
    static get hashedProperties() { return ["linkId", "noteId", "targetNoteId", "type", "isDeleted", "utcDateCreated", "utcDateModified"]; }
 | 
			
		||||
 | 
			
		||||
    async getNote() {
 | 
			
		||||
        return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]);
 | 
			
		||||
@@ -64,14 +64,14 @@ class Link extends Entity {
 | 
			
		||||
            this.isDeleted = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
        if (this.isChanged) {
 | 
			
		||||
            this.dateModified = dateUtils.nowDate();
 | 
			
		||||
            this.utcDateModified = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -86,7 +86,7 @@ module.exports = Link;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -30,17 +30,20 @@
 | 
			
		||||
 | 
			
		||||
const Entity = require('./entity');
 | 
			
		||||
const Attribute = require('./attribute');
 | 
			
		||||
const NoteContent = require('./note_content');
 | 
			
		||||
const protectedSessionService = require('../services/protected_session');
 | 
			
		||||
const repository = require('../services/repository');
 | 
			
		||||
const sql = require('../services/sql');
 | 
			
		||||
const utils = require('../services/utils');
 | 
			
		||||
const dateUtils = require('../services/date_utils');
 | 
			
		||||
const syncTableService = require('../services/sync_table');
 | 
			
		||||
 | 
			
		||||
const LABEL = 'label';
 | 
			
		||||
const LABEL_DEFINITION = 'label-definition';
 | 
			
		||||
const RELATION = 'relation';
 | 
			
		||||
const RELATION_DEFINITION = 'relation-definition';
 | 
			
		||||
 | 
			
		||||
const STRING_MIME_TYPES = ["application/x-javascript"];
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This represents a Note which is a central object in the Trilium Notes project.
 | 
			
		||||
 *
 | 
			
		||||
@@ -50,8 +53,10 @@ const RELATION_DEFINITION = 'relation-definition';
 | 
			
		||||
 * @property {string} title - note title
 | 
			
		||||
 * @property {boolean} isProtected - true if note is protected
 | 
			
		||||
 * @property {boolean} isDeleted - true if note is deleted
 | 
			
		||||
 * @property {string} dateCreated
 | 
			
		||||
 * @property {string} dateModified
 | 
			
		||||
 * @property {string} dateCreated - local date time (with offset)
 | 
			
		||||
 * @property {string} dateModified - local date time (with offset)
 | 
			
		||||
 * @property {string} utcDateCreated
 | 
			
		||||
 * @property {string} utcDateModified
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
@@ -79,36 +84,53 @@ class Note extends Entity {
 | 
			
		||||
                protectedSessionService.decryptNote(this);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                // saving ciphertexts in case we do want to update protected note outside of protected session
 | 
			
		||||
                // (which is allowed)
 | 
			
		||||
                this.titleCipherText = this.title;
 | 
			
		||||
                this.title = "[protected]";
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {Promise<NoteContent>} */
 | 
			
		||||
    async getNoteContent() {
 | 
			
		||||
        if (!this.noteContent) {
 | 
			
		||||
            this.noteContent = await repository.getEntity(`SELECT * FROM note_contents WHERE noteId = ?`, [this.noteId]);
 | 
			
		||||
    /*
 | 
			
		||||
     * Note content has quite special handling - it's not a separate entity, but a lazily loaded
 | 
			
		||||
     * part of Note entity with it's own sync. Reasons behind this hybrid design has been:
 | 
			
		||||
     *
 | 
			
		||||
     * - 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
 | 
			
		||||
     * - changes in the note metadata or title should not trigger note content sync (so we keep separate utcDateModified and sync rows)
 | 
			
		||||
     * - but to the user note content and title changes are one and the same - single dateModified (so all changes must go through Note and content is not a separate entity)
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
            if (!this.noteContent) {
 | 
			
		||||
                throw new Error("Note content not found for noteId=" + this.noteId);
 | 
			
		||||
    /** @returns {Promise<*>} */
 | 
			
		||||
    async getContent(silentNotFoundError = false) {
 | 
			
		||||
        if (this.content === undefined) {
 | 
			
		||||
            const res = await sql.getRow(`SELECT content, hash FROM note_contents WHERE noteId = ?`, [this.noteId]);
 | 
			
		||||
 | 
			
		||||
            if (!res) {
 | 
			
		||||
                if (silentNotFoundError) {
 | 
			
		||||
                    return undefined;
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    throw new Error("Cannot find note content for noteId=" + this.noteId);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.content = res.content;
 | 
			
		||||
 | 
			
		||||
            if (this.isProtected) {
 | 
			
		||||
                if (this.isContentAvailable) {
 | 
			
		||||
                    protectedSessionService.decryptNoteContent(this);
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    this.content = "";
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (this.isStringNote()) {
 | 
			
		||||
                this.noteContent.content = this.noteContent.content.toString("UTF-8");
 | 
			
		||||
                this.content = this.content === null
 | 
			
		||||
                    ? ""
 | 
			
		||||
                    : this.content.toString("UTF-8");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return this.noteContent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {Promise<*>} */
 | 
			
		||||
    async getContent() {
 | 
			
		||||
        const noteContent = await this.getNoteContent();
 | 
			
		||||
 | 
			
		||||
        return noteContent.content;
 | 
			
		||||
        return this.content;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {Promise<*>} */
 | 
			
		||||
@@ -120,19 +142,36 @@ class Note extends Entity {
 | 
			
		||||
 | 
			
		||||
    /** @returns {Promise} */
 | 
			
		||||
    async setContent(content) {
 | 
			
		||||
        if (!this.noteContent) {
 | 
			
		||||
            // make sure it is loaded
 | 
			
		||||
            await this.getNoteContent();
 | 
			
		||||
        // force updating note itself so that dateChanged is represented correctly even for the content
 | 
			
		||||
        this.forcedChange = true;
 | 
			
		||||
        await this.save();
 | 
			
		||||
 | 
			
		||||
        this.content = content;
 | 
			
		||||
 | 
			
		||||
        const pojo = {
 | 
			
		||||
            noteId: this.noteId,
 | 
			
		||||
            content: content,
 | 
			
		||||
            utcDateModified: dateUtils.utcNowDateTime(),
 | 
			
		||||
            hash: utils.hash(this.noteId + "|" + content)
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        if (this.isProtected) {
 | 
			
		||||
            if (this.isContentAvailable) {
 | 
			
		||||
                protectedSessionService.encryptNoteContent(pojo);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                throw new Error(`Cannot update content of noteId=${this.noteId} since we're out of protected session.`);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.noteContent.content = content;
 | 
			
		||||
        await sql.upsert("note_contents", "noteId", pojo);
 | 
			
		||||
 | 
			
		||||
        await this.noteContent.save();
 | 
			
		||||
        await syncTableService.addNoteContentSync(this.noteId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {Promise} */
 | 
			
		||||
    async setJsonContent(content) {
 | 
			
		||||
        await this.setContent(JSON.stringify(content));
 | 
			
		||||
        await this.setContent(JSON.stringify(content, null, '\t'));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {boolean} true if this note is the root of the note tree. Root note has "root" noteId */
 | 
			
		||||
@@ -160,7 +199,9 @@ class Note extends Entity {
 | 
			
		||||
 | 
			
		||||
    /** @returns {boolean} true if the note has string content (not binary) */
 | 
			
		||||
    isStringNote() {
 | 
			
		||||
        return ["text", "code", "relation-map", "search"].includes(this.type) || this.mime.startsWith('text/');
 | 
			
		||||
        return ["text", "code", "relation-map", "search"].includes(this.type)
 | 
			
		||||
            || this.mime.startsWith('text/')
 | 
			
		||||
            || STRING_MIME_TYPES.includes(this.mime);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {string} JS script environment - either "frontend" or "backend" */
 | 
			
		||||
@@ -684,13 +725,18 @@ class Note extends Entity {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
            this.dateCreated = dateUtils.localNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
        if (this.isChanged) {
 | 
			
		||||
            this.dateModified = dateUtils.nowDate();
 | 
			
		||||
            this.dateModified = dateUtils.localNowDateTime();
 | 
			
		||||
            this.utcDateModified = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -702,13 +748,14 @@ class Note extends Entity {
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                // updating protected note outside of protected session means we will keep original ciphertexts
 | 
			
		||||
                pojo.title = pojo.titleCipherText;
 | 
			
		||||
                delete pojo.title;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        delete pojo.isContentAvailable;
 | 
			
		||||
        delete pojo.__attributeCache;
 | 
			
		||||
        delete pojo.titleCipherText;
 | 
			
		||||
        delete pojo.content;
 | 
			
		||||
        delete pojo.contentHash;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -722,7 +769,7 @@ module.exports = Note;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,146 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="utf-8">
 | 
			
		||||
    <title>JSDoc: Source: entities/note_content.js</title>
 | 
			
		||||
 | 
			
		||||
    <script src="scripts/prettify/prettify.js"> </script>
 | 
			
		||||
    <script src="scripts/prettify/lang-css.js"> </script>
 | 
			
		||||
    <!--[if lt IE 9]>
 | 
			
		||||
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
 | 
			
		||||
    <![endif]-->
 | 
			
		||||
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
 | 
			
		||||
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
<div id="main">
 | 
			
		||||
 | 
			
		||||
    <h1 class="page-title">Source: entities/note_content.js</h1>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <section>
 | 
			
		||||
        <article>
 | 
			
		||||
            <pre class="prettyprint source linenums"><code>"use strict";
 | 
			
		||||
 | 
			
		||||
const Entity = require('./entity');
 | 
			
		||||
const protectedSessionService = require('../services/protected_session');
 | 
			
		||||
const repository = require('../services/repository');
 | 
			
		||||
const dateUtils = require('../services/date_utils');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This represents a Note which is a central object in the Trilium Notes project.
 | 
			
		||||
 *
 | 
			
		||||
 * @property {string} noteContentId - primary key
 | 
			
		||||
 * @property {string} noteId - reference to owning note
 | 
			
		||||
 * @property {boolean} isProtected - true if note content is protected
 | 
			
		||||
 * @property {blob} content - note content - e.g. HTML text for text notes, file payload for files
 | 
			
		||||
 * @property {string} dateCreated
 | 
			
		||||
 * @property {string} dateModified
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
class NoteContent extends Entity {
 | 
			
		||||
    static get entityName() {
 | 
			
		||||
        return "note_contents";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static get primaryKeyName() {
 | 
			
		||||
        return "noteContentId";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static get hashedProperties() {
 | 
			
		||||
        return ["noteContentId", "noteId", "isProtected", "content"];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param row - object containing database row from "note_contents" table
 | 
			
		||||
     */
 | 
			
		||||
    constructor(row) {
 | 
			
		||||
        super(row);
 | 
			
		||||
 | 
			
		||||
        this.isProtected = !!this.isProtected;
 | 
			
		||||
        /* true if content (meaning any kind of potentially encrypted content) is either not encrypted
 | 
			
		||||
         * or encrypted, but with available protected session (so effectively decrypted) */
 | 
			
		||||
        this.isContentAvailable = true;
 | 
			
		||||
 | 
			
		||||
        // check if there's noteContentId, otherwise this is a new entity which wasn't encrypted yet
 | 
			
		||||
        if (this.isProtected && this.noteContentId) {
 | 
			
		||||
            this.isContentAvailable = protectedSessionService.isProtectedSessionAvailable();
 | 
			
		||||
 | 
			
		||||
            if (this.isContentAvailable) {
 | 
			
		||||
                protectedSessionService.decryptNoteContent(this);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                // saving ciphertexts in case we do want to update protected note outside of protected session
 | 
			
		||||
                // (which is allowed)
 | 
			
		||||
                this.contentCipherText = this.content;
 | 
			
		||||
                this.content = "";
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @returns {Promise<Note>}
 | 
			
		||||
     */
 | 
			
		||||
    async getNote() {
 | 
			
		||||
        return await repository.getNote(this.noteId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
        if (this.isChanged) {
 | 
			
		||||
            this.dateModified = dateUtils.nowDate();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // cannot be static!
 | 
			
		||||
    updatePojo(pojo) {
 | 
			
		||||
        if (pojo.isProtected) {
 | 
			
		||||
            if (this.isContentAvailable) {
 | 
			
		||||
                protectedSessionService.encryptNoteContent(pojo);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                // updating protected note outside of protected session means we will keep original ciphertext
 | 
			
		||||
                pojo.content = pojo.contentCipherText;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        delete pojo.isContentAvailable;
 | 
			
		||||
        delete pojo.contentCipherText;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = NoteContent;</code></pre>
 | 
			
		||||
        </article>
 | 
			
		||||
    </section>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 | 
			
		||||
<footer>
 | 
			
		||||
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
 | 
			
		||||
</footer>
 | 
			
		||||
 | 
			
		||||
<script> prettyPrint(); </script>
 | 
			
		||||
<script src="scripts/linenumber.js"> </script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -44,13 +44,15 @@ const repository = require('../services/repository');
 | 
			
		||||
 * @param {string} isProtected
 | 
			
		||||
 * @param {string} dateModifiedFrom
 | 
			
		||||
 * @param {string} dateModifiedTo
 | 
			
		||||
 * @param {string} utcDateModifiedFrom
 | 
			
		||||
 * @param {string} utcDateModifiedTo
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
class NoteRevision extends Entity {
 | 
			
		||||
    static get entityName() { return "note_revisions"; }
 | 
			
		||||
    static get primaryKeyName() { return "noteRevisionId"; }
 | 
			
		||||
    static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "content", "isProtected", "dateModifiedFrom", "dateModifiedTo"]; }
 | 
			
		||||
    static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "content", "isProtected", "dateModifiedFrom", "dateModifiedTo", "utcDateModifiedFrom", "utcDateModifiedTo"]; }
 | 
			
		||||
 | 
			
		||||
    constructor(row) {
 | 
			
		||||
        super(row);
 | 
			
		||||
@@ -85,7 +87,7 @@ module.exports = NoteRevision;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -37,8 +37,8 @@ const dateUtils = require('../services/date_utils');
 | 
			
		||||
 * @param {string} name
 | 
			
		||||
 * @param {string} value
 | 
			
		||||
 * @param {boolean} isSynced
 | 
			
		||||
 * @param {string} dateModified
 | 
			
		||||
 * @param {string} dateCreated
 | 
			
		||||
 * @param {string} utcDateModified
 | 
			
		||||
 * @param {string} utcDateCreated
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
@@ -54,10 +54,14 @@ class Option extends Entity {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
        if (this.isChanged) {
 | 
			
		||||
            this.dateModified = dateUtils.nowDate();
 | 
			
		||||
            this.utcDateModified = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -72,7 +76,7 @@ module.exports = Option;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -34,25 +34,25 @@ const dateUtils = require('../services/date_utils');
 | 
			
		||||
/**
 | 
			
		||||
 * RecentNote represents recently visited note.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} branchId
 | 
			
		||||
 * @param {string} noteId
 | 
			
		||||
 * @param {string} notePath
 | 
			
		||||
 * @param {boolean} isDeleted
 | 
			
		||||
 * @param {string} dateModified
 | 
			
		||||
 * @param {string} utcDateModified
 | 
			
		||||
 *
 | 
			
		||||
 * @extends Entity
 | 
			
		||||
 */
 | 
			
		||||
class RecentNote extends Entity {
 | 
			
		||||
    static get entityName() { return "recent_notes"; }
 | 
			
		||||
    static get primaryKeyName() { return "branchId"; }
 | 
			
		||||
    static get hashedProperties() { return ["branchId", "notePath", "dateCreated", "isDeleted"]; }
 | 
			
		||||
    static get primaryKeyName() { return "noteId"; }
 | 
			
		||||
    static get hashedProperties() { return ["noteId", "notePath", "utcDateCreated", "isDeleted"]; }
 | 
			
		||||
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        if (!this.isDeleted) {
 | 
			
		||||
            this.isDeleted = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!this.dateCreated) {
 | 
			
		||||
            this.dateCreated = dateUtils.nowDate();
 | 
			
		||||
        if (!this.utcDateCreated) {
 | 
			
		||||
            this.utcDateCreated = dateUtils.utcNowDateTime();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
@@ -69,7 +69,7 @@ module.exports = RecentNote;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -272,7 +272,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <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#line149">line 149</a>
 | 
			
		||||
        <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>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -558,7 +558,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <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#line156">line 156</a>
 | 
			
		||||
        <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>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@@ -588,7 +588,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,7 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -30,16 +30,17 @@
 | 
			
		||||
const noteService = require('./notes');
 | 
			
		||||
const sql = require('./sql');
 | 
			
		||||
const utils = require('./utils');
 | 
			
		||||
const dateUtils = require('./date_utils');
 | 
			
		||||
const attributeService = require('./attributes');
 | 
			
		||||
const dateNoteService = require('./date_notes');
 | 
			
		||||
const treeService = require('./tree');
 | 
			
		||||
const config = require('./config');
 | 
			
		||||
const repository = require('./repository');
 | 
			
		||||
const axios = require('axios');
 | 
			
		||||
const dayjs = require('dayjs');
 | 
			
		||||
const cloningService = require('./cloning');
 | 
			
		||||
const messagingService = require('./messaging');
 | 
			
		||||
const appInfo = require('./app_info');
 | 
			
		||||
const searchService = require('./search');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This is the main backend API interface for scripts. It's published in the local "api" object.
 | 
			
		||||
@@ -50,7 +51,7 @@ const appInfo = require('./app_info');
 | 
			
		||||
function BackendScriptApi(currentNote, apiParams) {
 | 
			
		||||
    /** @property {Note} note where script started executing */
 | 
			
		||||
    this.startNote = apiParams.startNote;
 | 
			
		||||
    /** @property {Note} note where script is currently executing */
 | 
			
		||||
    /** @property {Note} note where script is currently executing. Don't mix this up with concept of active note */
 | 
			
		||||
    this.currentNote = currentNote;
 | 
			
		||||
    /** @property {Entity} entity whose event triggered this executions */
 | 
			
		||||
    this.originEntity = apiParams.originEntity;
 | 
			
		||||
@@ -60,11 +61,10 @@ function BackendScriptApi(currentNote, apiParams) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this.axios = axios;
 | 
			
		||||
    this.dayjs = dayjs;
 | 
			
		||||
 | 
			
		||||
    this.utils = {
 | 
			
		||||
        unescapeHtml: utils.unescapeHtml,
 | 
			
		||||
        isoDateTimeStr: dateUtils.dateStr,
 | 
			
		||||
        isoDateStr: date => dateUtils.dateStr(date).substr(0, 10)
 | 
			
		||||
        unescapeHtml: utils.unescapeHtml
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -121,6 +121,30 @@ function BackendScriptApi(currentNote, apiParams) {
 | 
			
		||||
     */
 | 
			
		||||
    this.getEntities = repository.getEntities;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This is a powerful search method - you can search by attributes and their values, e.g.:
 | 
			
		||||
     * "@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} searchString
 | 
			
		||||
     * @returns {Promise<Note[]>}
 | 
			
		||||
     */
 | 
			
		||||
    this.searchForNotes = searchService.searchForNotes;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This is a powerful search method - you can search by attributes and their values, e.g.:
 | 
			
		||||
     * "@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} searchString
 | 
			
		||||
     * @returns {Promise<Note|null>}
 | 
			
		||||
     */
 | 
			
		||||
    this.searchForNote = async searchString => {
 | 
			
		||||
        const notes = await searchService.searchForNotes(searchString);
 | 
			
		||||
 | 
			
		||||
        return notes.length > 0 ? notes[0] : null;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Retrieves notes with given label name & value
 | 
			
		||||
     *
 | 
			
		||||
@@ -329,7 +353,7 @@ module.exports = BackendScriptApi;</code></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<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="NoteContent.html">NoteContent</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="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>
 | 
			
		||||
</nav>
 | 
			
		||||
 | 
			
		||||
<br class="clear">
 | 
			
		||||
 
 | 
			
		||||
@@ -141,6 +141,64 @@
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
<h4 class="name" id="content"><span class="type-signature"></span>content<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_full.js.html">entities/note_full.js</a>, <a href="entities_note_full.js.html#line11">line 11</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
<h4 class="name" id="dateCreated"><span class="type-signature"></span>dateCreated<span class="type-signature"></span></h4>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -257,7 +315,7 @@
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
<h4 class="name" id="noteContent"><span class="type-signature"></span>noteContent<span class="type-signature"></span></h4>
 | 
			
		||||
<h4 class="name" id="utcDateCreated"><span class="type-signature"></span>utcDateCreated<span class="type-signature"></span></h4>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -297,7 +355,65 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="entities_note_full.js.html">entities/note_full.js</a>, <a href="entities_note_full.js.html#line11">line 11</a>
 | 
			
		||||
        <a href="entities_note_full.js.html">entities/note_full.js</a>, <a href="entities_note_full.js.html#line20">line 20</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
<h4 class="name" id="utcDateModified"><span class="type-signature"></span>utcDateModified<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_full.js.html">entities/note_full.js</a>, <a href="entities_note_full.js.html#line23">line 23</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -45,10 +45,10 @@
 | 
			
		||||
        this.isInheritable = row.isInheritable;
 | 
			
		||||
        /** @param {boolean} isDeleted */
 | 
			
		||||
        this.isDeleted = row.isDeleted;
 | 
			
		||||
        /** @param {string} dateCreated */
 | 
			
		||||
        this.dateCreated = row.dateCreated;
 | 
			
		||||
        /** @param {string} dateModified */
 | 
			
		||||
        this.dateModified = row.dateModified;
 | 
			
		||||
        /** @param {string} utcDateCreated */
 | 
			
		||||
        this.utcDateCreated = row.utcDateCreated;
 | 
			
		||||
        /** @param {string} utcDateModified */
 | 
			
		||||
        this.utcDateModified = row.utcDateModified;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {NoteShort} */
 | 
			
		||||
 
 | 
			
		||||
@@ -36,13 +36,19 @@ class NoteFull extends NoteShort {
 | 
			
		||||
        super(treeCache, row);
 | 
			
		||||
 | 
			
		||||
        /** @param {string} */
 | 
			
		||||
        this.noteContent = row.noteContent;
 | 
			
		||||
        this.content = row.content;
 | 
			
		||||
 | 
			
		||||
        /** @param {string} */
 | 
			
		||||
        this.dateCreated = row.dateCreated;
 | 
			
		||||
 | 
			
		||||
        /** @param {string} */
 | 
			
		||||
        this.dateModified = row.dateModified;
 | 
			
		||||
 | 
			
		||||
        /** @param {string} */
 | 
			
		||||
        this.utcDateCreated = row.utcDateCreated;
 | 
			
		||||
 | 
			
		||||
        /** @param {string} */
 | 
			
		||||
        this.utcDateModified = row.utcDateModified;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -303,7 +303,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line49">line 49</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line56">line 56</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -36,6 +36,7 @@ import noteDetailService from './note_detail.js';
 | 
			
		||||
import noteTypeService from './note_type.js';
 | 
			
		||||
import noteTooltipService from './note_tooltip.js';
 | 
			
		||||
import protectedSessionService from'./protected_session.js';
 | 
			
		||||
import dateNotesService from'./date_notes.js';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This is the main frontend API interface for scripts. It's published in the local "api" object.
 | 
			
		||||
@@ -43,7 +44,7 @@ import protectedSessionService from'./protected_session.js';
 | 
			
		||||
 * @constructor
 | 
			
		||||
 * @hideconstructor
 | 
			
		||||
 */
 | 
			
		||||
function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
function FrontendScriptApi(startNote, currentNote, originEntity = null, tabContext = null) {
 | 
			
		||||
    const $pluginButtons = $("#plugin-buttons");
 | 
			
		||||
 | 
			
		||||
    /** @property {object} note where script started executing */
 | 
			
		||||
@@ -53,6 +54,12 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
    /** @property {object|null} entity whose event triggered this execution */
 | 
			
		||||
    this.originEntity = originEntity;
 | 
			
		||||
 | 
			
		||||
    // to keep consistency with backend API
 | 
			
		||||
    this.dayjs = dayjs;
 | 
			
		||||
 | 
			
		||||
    /** @property {TabContext|null} - experimental! */
 | 
			
		||||
    this.tabContext = tabContext;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Activates note in the tree and in the note detail.
 | 
			
		||||
     *
 | 
			
		||||
@@ -159,6 +166,46 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This is a powerful search method - you can search by attributes and their values, e.g.:
 | 
			
		||||
     * "@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} searchString
 | 
			
		||||
     * @returns {Promise<NoteShort[]>}
 | 
			
		||||
     */
 | 
			
		||||
    this.searchForNotes = async searchString => {
 | 
			
		||||
        const noteIds = await this.runOnServer(async searchString => {
 | 
			
		||||
            const notes = await api.searchForNotes(searchString);
 | 
			
		||||
 | 
			
		||||
            return notes.map(note => note.noteId);
 | 
			
		||||
        }, [searchString]);
 | 
			
		||||
 | 
			
		||||
        return await treeCache.getNotes(noteIds);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This is a powerful search method - you can search by attributes and their values, e.g.:
 | 
			
		||||
     * "@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} searchString
 | 
			
		||||
     * @returns {Promise<NoteShort|null>}
 | 
			
		||||
     */
 | 
			
		||||
    this.searchForNote = async searchString => {
 | 
			
		||||
        const notes = await this.searchForNotes(searchString);
 | 
			
		||||
 | 
			
		||||
        return notes.length > 0 ? notes[0] : null;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns note by given noteId. If note is missing from cache, it's loaded.
 | 
			
		||||
     **
 | 
			
		||||
     * @param {string} noteId
 | 
			
		||||
     * @return {Promise<NoteShort>}
 | 
			
		||||
     */
 | 
			
		||||
    this.getNote = async noteId => await treeCache.getNote(noteId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns list of notes. If note is missing from cache, it's loaded.
 | 
			
		||||
     *
 | 
			
		||||
@@ -171,6 +218,18 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
     */
 | 
			
		||||
    this.getNotes = async (noteIds, silentNotFoundError = false) => await treeCache.getNotes(noteIds, silentNotFoundError);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param {string} noteId
 | 
			
		||||
     * @method
 | 
			
		||||
     */
 | 
			
		||||
    this.reloadChildren = async noteId => await treeCache.reloadChildren(noteId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param {string} noteId
 | 
			
		||||
     * @method
 | 
			
		||||
     */
 | 
			
		||||
    this.reloadParents = async noteId => await treeCache.reloadParents(noteId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Instance name identifies particular Trilium instance. It can be useful for scripts
 | 
			
		||||
     * if some action needs to happen on only one specific instance.
 | 
			
		||||
@@ -228,9 +287,19 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @method
 | 
			
		||||
     * @returns {string} content of currently loaded note in the editor (HTML, code etc.)
 | 
			
		||||
     * @returns {NoteFull} active note (loaded into right pane)
 | 
			
		||||
     */
 | 
			
		||||
    this.getCurrentNoteContent = noteDetailService.getCurrentNoteContent;
 | 
			
		||||
    this.getActiveNote = noteDetailService.getActiveNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @method
 | 
			
		||||
     * @returns {Promise<string|null>} returns note path of active note or null if there isn't active note
 | 
			
		||||
     */
 | 
			
		||||
    this.getActiveNotePath = () => {
 | 
			
		||||
        const activeTabContext = noteDetailService.getActiveTabContext();
 | 
			
		||||
 | 
			
		||||
        return activeTabContext ? activeTabContext.notePath : null;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This method checks whether user navigated away from the note from which the scripts has been started.
 | 
			
		||||
@@ -241,8 +310,8 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
     * @method
 | 
			
		||||
     * @return {boolean} returns true if the original note is still loaded, false if user switched to another
 | 
			
		||||
     */
 | 
			
		||||
    this.isNoteStillLoaded = () => {
 | 
			
		||||
        return this.originEntity.noteId === noteDetailService.getCurrentNoteId();
 | 
			
		||||
    this.isNoteStillActive = () => {
 | 
			
		||||
        return this.originEntity.noteId === tabContext.noteId;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -278,7 +347,42 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) {
 | 
			
		||||
    /**
 | 
			
		||||
     * @method
 | 
			
		||||
     */
 | 
			
		||||
    this.protectCurrentNote = protectedSessionService.protectNoteAndSendToServer;
 | 
			
		||||
    this.protectActiveNote = protectedSessionService.protectNoteAndSendToServer;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns date-note for today. If it doesn't exist, it is automatically created.
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @return {Promise<NoteShort>}
 | 
			
		||||
     */
 | 
			
		||||
    this.getTodayNote = dateNotesService.getTodayNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns date-note. If it doesn't exist, it is automatically created.
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} date - e.g. "2019-04-29"
 | 
			
		||||
     * @return {Promise<NoteShort>}
 | 
			
		||||
     */
 | 
			
		||||
    this.getDateNote = dateNotesService.getDateNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns month-note. If it doesn't exist, it is automatically created.
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} month - e.g. "2019-04"
 | 
			
		||||
     * @return {Promise<NoteShort>}
 | 
			
		||||
     */
 | 
			
		||||
    this.getMonthNote = dateNotesService.getMonthNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns year-note. If it doesn't exist, it is automatically created.
 | 
			
		||||
     *
 | 
			
		||||
     * @method
 | 
			
		||||
     * @param {string} year - e.g. "2019"
 | 
			
		||||
     * @return {Promise<NoteShort>}
 | 
			
		||||
     */
 | 
			
		||||
    this.getYearNote = dateNotesService.getYearNote;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default FrontendScriptApi;</code></pre>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								electron.js
									
									
									
									
									
								
							
							
						
						@@ -3,6 +3,7 @@
 | 
			
		||||
const electron = require('electron');
 | 
			
		||||
const path = require('path');
 | 
			
		||||
const log = require('./src/services/log');
 | 
			
		||||
const sqlInit = require('./src/services/sql_init');
 | 
			
		||||
const cls = require('./src/services/cls');
 | 
			
		||||
const url = require("url");
 | 
			
		||||
const port = require('./src/services/port');
 | 
			
		||||
@@ -29,7 +30,15 @@ function onClosed() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function createMainWindow() {
 | 
			
		||||
    let mainWindowState = windowStateKeeper({
 | 
			
		||||
    await sqlInit.dbConnection;
 | 
			
		||||
 | 
			
		||||
    // if schema doesn't exist -> setup process
 | 
			
		||||
    // if schema exists, then we need to wait until the migration process is finished
 | 
			
		||||
    if (await sqlInit.schemaExists()) {
 | 
			
		||||
        await sqlInit.dbReady;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const mainWindowState = windowStateKeeper({
 | 
			
		||||
        // default window width & height so it's usable on 1600 * 900 display (including some extra panels etc.)
 | 
			
		||||
        defaultWidth: 1200,
 | 
			
		||||
        defaultHeight: 800
 | 
			
		||||
@@ -41,7 +50,10 @@ async function createMainWindow() {
 | 
			
		||||
        width: mainWindowState.width,
 | 
			
		||||
        height: mainWindowState.height,
 | 
			
		||||
        title: 'Trilium Notes',
 | 
			
		||||
        icon: path.join(__dirname, 'src/public/images/app-icons/png/256x256.png')
 | 
			
		||||
        webPreferences: {
 | 
			
		||||
            nodeIntegration: true
 | 
			
		||||
        },
 | 
			
		||||
        icon: path.join(__dirname, 'images/app-icons/png/256x256.png')
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    mainWindowState.manage(win);
 | 
			
		||||
@@ -88,15 +100,10 @@ app.on('ready', async () => {
 | 
			
		||||
    mainWindow = await createMainWindow();
 | 
			
		||||
 | 
			
		||||
    const result = globalShortcut.register('CommandOrControl+Alt+P', cls.wrap(async () => {
 | 
			
		||||
        const dateNoteService = require('./src/services/date_notes');
 | 
			
		||||
        const dateUtils = require('./src/services/date_utils');
 | 
			
		||||
 | 
			
		||||
        const parentNote = await dateNoteService.getDateNote(dateUtils.nowLocalDate());
 | 
			
		||||
 | 
			
		||||
        // window may be hidden / not in focus
 | 
			
		||||
        mainWindow.focus();
 | 
			
		||||
 | 
			
		||||
        mainWindow.webContents.send('create-day-sub-note', parentNote.noteId);
 | 
			
		||||
        mainWindow.webContents.send('create-day-sub-note');
 | 
			
		||||
    }));
 | 
			
		||||
 | 
			
		||||
    if (!result) {
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB  | 
| 
		 Before Width: | Height: | Size: 820 B After Width: | Height: | Size: 820 B  | 
| 
		 Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB  | 
| 
		 Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB  | 
| 
		 Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB  | 
| 
		 Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB  | 
| 
		 Before Width: | Height: | Size: 353 KiB After Width: | Height: | Size: 353 KiB  | 
							
								
								
									
										1
									
								
								images/shield.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000000" stroke-opacity="0.03" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-shield"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 296 B  | 
| 
		 Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB  | 
							
								
								
									
										6
									
								
								libraries/ckeditor/ckeditor.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								libraries/ckeditor/ckeditor.js.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -14,20 +14,25 @@
 | 
			
		||||
 | 
			
		||||
  var Pos = CodeMirror.Pos;
 | 
			
		||||
 | 
			
		||||
  var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"};
 | 
			
		||||
  var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<", "<": ">>", ">": "<<"};
 | 
			
		||||
 | 
			
		||||
  function bracketRegex(config) {
 | 
			
		||||
    return config && config.bracketRegex || /[(){}[\]]/
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function findMatchingBracket(cm, where, config) {
 | 
			
		||||
    var line = cm.getLineHandle(where.line), pos = where.ch - 1;
 | 
			
		||||
    var afterCursor = config && config.afterCursor
 | 
			
		||||
    if (afterCursor == null)
 | 
			
		||||
      afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)
 | 
			
		||||
    var re = bracketRegex(config)
 | 
			
		||||
 | 
			
		||||
    // A cursor is defined as between two characters, but in in vim command mode
 | 
			
		||||
    // (i.e. not insert mode), the cursor is visually represented as a
 | 
			
		||||
    // highlighted box on top of the 2nd character. Otherwise, we allow matches
 | 
			
		||||
    // from before or after the cursor.
 | 
			
		||||
    var match = (!afterCursor && pos >= 0 && matching[line.text.charAt(pos)]) ||
 | 
			
		||||
        matching[line.text.charAt(++pos)];
 | 
			
		||||
    var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||
 | 
			
		||||
        re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];
 | 
			
		||||
    if (!match) return null;
 | 
			
		||||
    var dir = match.charAt(1) == ">" ? 1 : -1;
 | 
			
		||||
    if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;
 | 
			
		||||
@@ -51,7 +56,7 @@
 | 
			
		||||
    var maxScanLines = (config && config.maxScanLines) || 1000;
 | 
			
		||||
 | 
			
		||||
    var stack = [];
 | 
			
		||||
    var re = config && config.bracketRegex ? config.bracketRegex : /[(){}[\]]/;
 | 
			
		||||
    var re = bracketRegex(config)
 | 
			
		||||
    var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)
 | 
			
		||||
                          : Math.max(cm.firstLine() - 1, where.line - maxScanLines);
 | 
			
		||||
    for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {
 | 
			
		||||
@@ -64,7 +69,7 @@
 | 
			
		||||
        var ch = line.charAt(pos);
 | 
			
		||||
        if (re.test(ch) && (style === undefined || cm.getTokenTypeAt(Pos(lineNo, pos + 1)) == style)) {
 | 
			
		||||
          var match = matching[ch];
 | 
			
		||||
          if ((match.charAt(1) == ">") == (dir > 0)) stack.push(ch);
 | 
			
		||||
          if (match && (match.charAt(1) == ">") == (dir > 0)) stack.push(ch);
 | 
			
		||||
          else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};
 | 
			
		||||
          else stack.pop();
 | 
			
		||||
        }
 | 
			
		||||
@@ -28,7 +28,9 @@
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async function validatorJavaScript(text, options) {
 | 
			
		||||
        if (glob.getCurrentNote().mime === 'application/json') {
 | 
			
		||||
        if (glob.isMobile()
 | 
			
		||||
            || glob.getActiveNote() == null
 | 
			
		||||
            || glob.getActiveNote().mime === 'application/json') {
 | 
			
		||||
            // eslint doesn't seem to validate pure JSON well
 | 
			
		||||
            return [];
 | 
			
		||||
        }
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
 | 
			
		||||
// Distributed under an MIT license: http://codemirror.net/LICENSE
 | 
			
		||||
// Distributed under an MIT license: https://codemirror.net/LICENSE
 | 
			
		||||
 | 
			
		||||
(function(mod) {
 | 
			
		||||
  if (typeof exports == "object" && typeof module == "object") // CommonJS
 | 
			
		||||
							
								
								
									
										9755
									
								
								libraries/codemirror/codemirror.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -8,7 +8,7 @@
 | 
			
		||||
<script src="../../lib/codemirror.js"></script>
 | 
			
		||||
<script src="../../addon/edit/matchbrackets.js"></script>
 | 
			
		||||
<script src="asn.1.js"></script>
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
<style>
 | 
			
		||||
    .CodeMirror {
 | 
			
		||||
        border-top: 1px solid black;
 | 
			
		||||
        border-bottom: 1px solid black;
 | 
			
		||||
@@ -146,7 +146,7 @@ exten => 8500,n,Goto(s,6)
 | 
			
		||||
      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
 | 
			
		||||
        mode: "text/x-asterisk",
 | 
			
		||||
        matchBrackets: true,
 | 
			
		||||
        lineNumber: true
 | 
			
		||||
        lineNumbers: true
 | 
			
		||||
      });
 | 
			
		||||
    </script>
 | 
			
		||||
 | 
			
		||||