Compare commits
	
		
			150 Commits
		
	
	
		
			v0.22.1
			...
			v0.24.0-be
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 228a77cb89 | ||
|  | 90eb1b53fb | ||
|  | 6a36e1ca86 | ||
|  | 3fee263355 | ||
|  | d19fa89f69 | ||
|  | 6b65592d7a | ||
|  | 94565e3ec0 | ||
|  | 5b9a1ef0e9 | ||
|  | e0f9a7fc6a | ||
|  | 46c7901e1f | ||
|  | efc5cf4091 | ||
|  | 39b3c91abf | ||
|  | 6749cbed1b | ||
|  | 346b8c21dd | ||
|  | 8ee8639faa | ||
|  | fa264d1cbe | ||
|  | 8a3f508825 | ||
|  | 19a07c699c | ||
|  | b8feb4cce3 | ||
|  | cfce744338 | ||
|  | 211001fb2f | ||
|  | a334f08782 | ||
|  | 040bb13800 | ||
|  | 6652ddc20a | ||
|  | e44c7c9947 | ||
|  | 24a0856d22 | ||
|  | 74acb08f7b | ||
|  | 7be85acf11 | ||
|  | fc9495bcdf | ||
|  | 247275d391 | ||
|  | 427234293e | ||
|  | 9568fde027 | ||
|  | 9cf08bf926 | ||
|  | 295800881b | ||
|  | 25e68762fe | ||
|  | ea0a5bc1c9 | ||
|  | abbade96af | ||
|  | 83c6f86d26 | ||
|  | db17b05db1 | ||
|  | 1ce26ed704 | ||
|  | a065a610c1 | ||
|  | 0b85f87cb2 | ||
|  | 144e814b02 | ||
|  | 8dc32e581e | ||
|  | 21d3b0c9d8 | ||
|  | e7cea59ba7 | ||
|  | 2523f81f3b | ||
|  | c6e1ad5f15 | ||
|  | 340916d5da | ||
|  | bbe36fc7fb | ||
|  | 02fd8f8133 | ||
|  | 525f167127 | ||
|  | 3750919169 | ||
|  | 4f34fb802b | ||
|  | d978c64e1a | ||
|  | bc2e230425 | ||
|  | 71f333154d | ||
|  | c5113eb292 | ||
|  | 232f135843 | ||
|  | 8be328cb3b | ||
|  | bfc09187e3 | ||
|  | 3a4691b46d | ||
|  | 7b3c0243f3 | ||
|  | 8d7a2546e1 | ||
|  | 991d5d3be3 | ||
|  | 6416e3e9fb | ||
|  | 3ba761fe28 | ||
|  | 273a9b14d9 | ||
|  | afcbfcfa03 | ||
|  | d7afbe4059 | ||
|  | 21e952a7f0 | ||
|  | d0d2a7fe47 | ||
|  | 5f427e37fe | ||
|  | 13f9007bd6 | ||
|  | 90dbe637ed | ||
|  | a0f362457e | ||
|  | 1febf5136c | ||
|  | 3c23d7085e | ||
|  | 57e9850ca6 | ||
|  | 2f4ef0a4a2 | ||
|  | 6fb99ae89e | ||
|  | 69d2bd8b58 | ||
|  | e62cca886c | ||
|  | a8e13eac3a | ||
|  | 2f887f1ea7 | ||
|  | 3856de4483 | ||
|  | 0348bbe4f1 | ||
|  | 24dfe0fa98 | ||
|  | 20baa47d26 | ||
|  | 19cb29cdca | ||
|  | 24a1838b13 | ||
|  | 7bdbea81f1 | ||
|  | b8eaff055a | ||
|  | 5e318c6242 | ||
|  | 607c821cac | ||
|  | 26b9302267 | ||
|  | de14e808c7 | ||
|  | 80178b52c0 | ||
|  | 370efdc034 | ||
|  | f06d8c7c54 | ||
|  | 63edde8a73 | ||
|  | 5872146172 | ||
|  | ab26216cbe | ||
|  | 5cc91c64a3 | ||
|  | 4858f0bec6 | ||
|  | 639284fd85 | ||
|  | f33f99134b | ||
|  | a2434f200e | ||
|  | 31abec5d1c | ||
|  | 93d152eae5 | ||
|  | 2a14ea8d0c | ||
|  | a19af8a61d | ||
|  | 2a129809b3 | ||
|  | 07cbc385e5 | ||
|  | 67d47c389a | ||
|  | e61f17809a | ||
|  | 23de04daaa | ||
|  | a8774353fd | ||
|  | 18f2419bd6 | ||
|  | 332a65a9cc | ||
|  | 1d51f58447 | ||
|  | 41fca4c4f3 | ||
|  | 4a5a63d7b4 | ||
|  | b17f442d1f | ||
|  | 9f0860edab | ||
|  | 0c007566ad | ||
|  | bfa2b5fa62 | ||
|  | 6559e6c25b | ||
|  | 627e5e0edb | ||
|  | 2a8de2653e | ||
|  | e487dc1df7 | ||
|  | 04af8a3a96 | ||
|  | 209551a205 | ||
|  | c6bfd3909f | ||
|  | 8b7694d0ec | ||
|  | 76c980b51f | ||
|  | 1de06b4fc9 | ||
|  | 949456212a | ||
|  | 06a867773e | ||
|  | 269f56bdca | ||
|  | 5352f388a7 | ||
|  | be94766f76 | ||
|  | 24673168bb | ||
|  | b5bb653889 | ||
|  | b09071eb9b | ||
|  | 5f95ab95c9 | ||
|  | 0ce8d1e7e8 | ||
|  | b2776954a1 | ||
|  | d65610429c | ||
|  | 62de7f28eb | 
							
								
								
									
										10
									
								
								.idea/codeStyles/Project.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,10 @@ | ||||
| <component name="ProjectCodeStyleConfiguration"> | ||||
|   <code_scheme name="Project" version="173"> | ||||
|     <option name="OTHER_INDENT_OPTIONS"> | ||||
|       <value> | ||||
|         <option name="INDENT_SIZE" value="2" /> | ||||
|         <option name="TAB_SIZE" value="2" /> | ||||
|       </value> | ||||
|     </option> | ||||
|   </code_scheme> | ||||
| </component> | ||||
							
								
								
									
										5
									
								
								.idea/codeStyles/codeStyleConfig.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,5 @@ | ||||
| <component name="ProjectCodeStyleConfiguration"> | ||||
|   <state> | ||||
|     <option name="USE_PER_PROJECT_SETTINGS" value="true" /> | ||||
|   </state> | ||||
| </component> | ||||
| @@ -1,6 +1,6 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <dataSource name="document.db"> | ||||
|   <database-model serializer="dbm" rdbms="SQLITE" format-version="4.11"> | ||||
|   <database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.14"> | ||||
|     <root id="1"> | ||||
|       <ServerVersion>3.16.1</ServerVersion> | ||||
|     </root> | ||||
| @@ -15,635 +15,587 @@ | ||||
|     <table id="7" parent="2" name="attributes"/> | ||||
|     <table id="8" parent="2" name="branches"/> | ||||
|     <table id="9" parent="2" name="event_log"/> | ||||
|     <table id="10" parent="2" name="images"/> | ||||
|     <table id="11" parent="2" name="note_images"/> | ||||
|     <table id="12" parent="2" name="note_revisions"/> | ||||
|     <table id="13" parent="2" name="notes"/> | ||||
|     <table id="14" parent="2" name="options"/> | ||||
|     <table id="15" parent="2" name="recent_notes"/> | ||||
|     <table id="16" parent="2" name="source_ids"/> | ||||
|     <table id="17" parent="2" name="sqlite_master"> | ||||
|     <table id="10" parent="2" name="links"/> | ||||
|     <table id="11" parent="2" name="note_revisions"/> | ||||
|     <table id="12" parent="2" name="notes"/> | ||||
|     <table id="13" parent="2" name="options"/> | ||||
|     <table id="14" parent="2" name="recent_notes"/> | ||||
|     <table id="15" parent="2" name="source_ids"/> | ||||
|     <table id="16" parent="2" name="sqlite_master"> | ||||
|       <System>1</System> | ||||
|     </table> | ||||
|     <table id="18" parent="2" name="sqlite_sequence"> | ||||
|     <table id="17" parent="2" name="sqlite_sequence"> | ||||
|       <System>1</System> | ||||
|     </table> | ||||
|     <table id="19" parent="2" name="sync"/> | ||||
|     <column id="20" parent="6" name="apiTokenId"> | ||||
|     <table id="18" parent="2" name="sync"/> | ||||
|     <column id="19" parent="6" name="apiTokenId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="21" parent="6" name="token"> | ||||
|     <column id="20" parent="6" name="token"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="22" parent="6" name="dateCreated"> | ||||
|     <column id="21" parent="6" name="dateCreated"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="23" parent="6" name="isDeleted"> | ||||
|     <column id="22" parent="6" name="isDeleted"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="24" parent="6" name="hash"> | ||||
|     <column id="23" parent="6" name="hash"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="25" parent="6" name="sqlite_autoindex_api_tokens_1"> | ||||
|     <index id="24" 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"> | ||||
|     <key id="25" parent="6"> | ||||
|       <ColNames>apiTokenId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_api_tokens_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="27" parent="7" name="attributeId"> | ||||
|     <column id="26" parent="7" name="attributeId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="28" parent="7" name="noteId"> | ||||
|     <column id="27" parent="7" name="noteId"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="29" parent="7" name="type"> | ||||
|     <column id="28" parent="7" name="type"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="30" parent="7" name="name"> | ||||
|     <column id="29" parent="7" name="name"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="31" parent="7" name="value"> | ||||
|     <column id="30" parent="7" name="value"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>''</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="32" parent="7" name="position"> | ||||
|     <column id="31" parent="7" name="position"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="33" parent="7" name="dateCreated"> | ||||
|     <column id="32" parent="7" name="dateCreated"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="34" parent="7" name="dateModified"> | ||||
|     <column id="33" parent="7" name="dateModified"> | ||||
|       <Position>8</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="35" parent="7" name="isDeleted"> | ||||
|     <column id="34" parent="7" name="isDeleted"> | ||||
|       <Position>9</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="36" parent="7" name="hash"> | ||||
|     <column id="35" parent="7" name="hash"> | ||||
|       <Position>10</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="37" parent="7" name="isInheritable"> | ||||
|     <column id="36" parent="7" name="isInheritable"> | ||||
|       <Position>11</Position> | ||||
|       <DataType>int|0s</DataType> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="38" parent="7" name="sqlite_autoindex_attributes_1"> | ||||
|     <index id="37" parent="7" name="sqlite_autoindex_attributes_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>attributeId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <key id="39" parent="7"> | ||||
|     <key id="38" parent="7"> | ||||
|       <ColNames>attributeId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_attributes_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="40" parent="8" name="branchId"> | ||||
|     <column id="39" parent="8" name="branchId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="41" parent="8" name="noteId"> | ||||
|     <column id="40" parent="8" name="noteId"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="42" parent="8" name="parentNoteId"> | ||||
|     <column id="41" parent="8" name="parentNoteId"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="43" parent="8" name="notePosition"> | ||||
|     <column id="42" parent="8" name="notePosition"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>INTEGER|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="44" parent="8" name="prefix"> | ||||
|     <column id="43" parent="8" name="prefix"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="45" parent="8" name="isExpanded"> | ||||
|     <column id="44" parent="8" name="isExpanded"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>BOOLEAN|0s</DataType> | ||||
|     </column> | ||||
|     <column id="46" parent="8" name="isDeleted"> | ||||
|     <column id="45" parent="8" name="isDeleted"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>INTEGER|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="47" parent="8" name="dateModified"> | ||||
|     <column id="46" parent="8" name="dateModified"> | ||||
|       <Position>8</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="48" parent="8" name="hash"> | ||||
|     <column id="47" parent="8" name="hash"> | ||||
|       <Position>9</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="49" parent="8" name="dateCreated"> | ||||
|     <column id="48" 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="50" parent="8" name="sqlite_autoindex_branches_1"> | ||||
|     <index id="49" parent="8" name="sqlite_autoindex_branches_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>branchId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <index id="51" parent="8" name="IDX_branches_noteId_parentNoteId"> | ||||
|     <index id="50" parent="8" name="IDX_branches_noteId_parentNoteId"> | ||||
|       <ColNames>noteId | ||||
| parentNoteId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <index id="52" parent="8" name="IDX_branches_noteId"> | ||||
|     <index id="51" parent="8" name="IDX_branches_noteId"> | ||||
|       <ColNames>noteId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <index id="53" parent="8" name="IDX_branches_parentNoteId"> | ||||
|     <index id="52" parent="8" name="IDX_branches_parentNoteId"> | ||||
|       <ColNames>parentNoteId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <key id="54" parent="8"> | ||||
|     <key id="53" parent="8"> | ||||
|       <ColNames>branchId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_branches_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="55" parent="9" name="eventId"> | ||||
|     <column id="54" parent="9" name="eventId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="56" parent="9" name="noteId"> | ||||
|     <column id="55" parent="9" name="noteId"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="57" parent="9" name="comment"> | ||||
|     <column id="56" parent="9" name="comment"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="58" parent="9" name="dateCreated"> | ||||
|     <column id="57" parent="9" name="dateCreated"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <index id="59" parent="9" name="sqlite_autoindex_event_log_1"> | ||||
|     <index id="58" parent="9" name="sqlite_autoindex_event_log_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>eventId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <key id="60" parent="9"> | ||||
|     <key id="59" parent="9"> | ||||
|       <ColNames>eventId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_event_log_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="61" parent="10" name="imageId"> | ||||
|     <column id="60" parent="10" name="linkId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="62" parent="10" name="format"> | ||||
|     <column id="61" parent="10" name="noteId"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="63" parent="10" name="checksum"> | ||||
|     <column id="62" parent="10" name="targetNoteId"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="64" parent="10" name="name"> | ||||
|     <column id="63" parent="10" name="type"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="65" parent="10" name="data"> | ||||
|     <column id="64" parent="10" name="isDeleted"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>BLOB|0s</DataType> | ||||
|     </column> | ||||
|     <column id="66" parent="10" name="isDeleted"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <DataType>INTEGER|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="67" parent="10" name="dateModified"> | ||||
|     <column id="65" parent="10" name="dateCreated"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="66" parent="10" name="dateModified"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="68" parent="10" name="dateCreated"> | ||||
|     <column id="67" parent="10" name="hash"> | ||||
|       <Position>8</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="69" parent="10" name="hash"> | ||||
|       <Position>9</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="70" parent="10" name="sqlite_autoindex_images_1"> | ||||
|     <index id="68" parent="10" name="sqlite_autoindex_links_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>imageId</ColNames> | ||||
|       <ColNames>linkId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <key id="71" parent="10"> | ||||
|       <ColNames>imageId</ColNames> | ||||
|     <key id="69" parent="10"> | ||||
|       <ColNames>linkId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_images_1</UnderlyingIndexName> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_links_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="72" parent="11" name="noteImageId"> | ||||
|     <column id="70" parent="11" name="noteRevisionId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="73" parent="11" name="noteId"> | ||||
|     <column id="71" parent="11" name="noteId"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="74" parent="11" name="imageId"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="75" parent="11" name="isDeleted"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="76" parent="11" name="dateModified"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="77" parent="11" name="dateCreated"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="78" parent="11" name="hash"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="79" parent="11" name="sqlite_autoindex_note_images_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>noteImageId</ColNames> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <index id="80" parent="11" name="IDX_note_images_noteId_imageId"> | ||||
|       <ColNames>noteId | ||||
| imageId</ColNames> | ||||
|     </index> | ||||
|     <index id="81" parent="11" name="IDX_note_images_noteId"> | ||||
|       <ColNames>noteId</ColNames> | ||||
|     </index> | ||||
|     <index id="82" parent="11" name="IDX_note_images_imageId"> | ||||
|       <ColNames>imageId</ColNames> | ||||
|     </index> | ||||
|     <key id="83" parent="11"> | ||||
|       <ColNames>noteImageId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_note_images_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="84" parent="12" name="noteRevisionId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="85" parent="12" name="noteId"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="86" parent="12" name="title"> | ||||
|     <column id="72" parent="11" name="title"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="87" parent="12" name="content"> | ||||
|     <column id="73" parent="11" name="content"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="88" parent="12" name="isProtected"> | ||||
|     <column id="74" parent="11" name="isProtected"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="89" parent="12" name="dateModifiedFrom"> | ||||
|     <column id="75" parent="11" name="dateModifiedFrom"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="90" parent="12" name="dateModifiedTo"> | ||||
|     <column id="76" parent="11" name="dateModifiedTo"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="91" parent="12" name="type"> | ||||
|     <column id="77" parent="11" name="type"> | ||||
|       <Position>8</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>''</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="92" parent="12" name="mime"> | ||||
|     <column id="78" parent="11" name="mime"> | ||||
|       <Position>9</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>''</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="93" parent="12" name="hash"> | ||||
|     <column id="79" parent="11" name="hash"> | ||||
|       <Position>10</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="94" parent="12" name="sqlite_autoindex_note_revisions_1"> | ||||
|     <index id="80" parent="11" name="sqlite_autoindex_note_revisions_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>noteRevisionId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <index id="95" parent="12" name="IDX_note_revisions_noteId"> | ||||
|     <index id="81" parent="11" name="IDX_note_revisions_noteId"> | ||||
|       <ColNames>noteId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <index id="96" parent="12" name="IDX_note_revisions_dateModifiedFrom"> | ||||
|     <index id="82" parent="11" name="IDX_note_revisions_dateModifiedFrom"> | ||||
|       <ColNames>dateModifiedFrom</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <index id="97" parent="12" name="IDX_note_revisions_dateModifiedTo"> | ||||
|     <index id="83" parent="11" name="IDX_note_revisions_dateModifiedTo"> | ||||
|       <ColNames>dateModifiedTo</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <key id="98" parent="12"> | ||||
|     <key id="84" parent="11"> | ||||
|       <ColNames>noteRevisionId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="99" parent="13" name="noteId"> | ||||
|     <column id="85" parent="12" name="noteId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="100" parent="13" name="title"> | ||||
|     <column id="86" parent="12" name="title"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>"unnamed"</DefaultExpression> | ||||
|       <DefaultExpression>"note"</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="101" parent="13" name="content"> | ||||
|     <column id="87" parent="12" name="content"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|       <DefaultExpression>NULL</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="102" parent="13" name="isProtected"> | ||||
|     <column id="88" parent="12" name="isProtected"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="103" parent="13" name="isDeleted"> | ||||
|     <column id="89" parent="12" name="type"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="104" parent="13" name="dateCreated"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="105" parent="13" name="dateModified"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="106" parent="13" name="type"> | ||||
|       <Position>8</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>'text'</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="107" parent="13" name="mime"> | ||||
|       <Position>9</Position> | ||||
|     <column id="90" parent="12" name="mime"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>'text/html'</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="108" parent="13" name="hash"> | ||||
|       <Position>10</Position> | ||||
|     <column id="91" parent="12" name="hash"> | ||||
|       <Position>7</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="109" parent="13" name="sqlite_autoindex_notes_1"> | ||||
|     <column id="92" parent="12" name="isDeleted"> | ||||
|       <Position>8</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="93" parent="12" name="dateCreated"> | ||||
|       <Position>9</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="94" parent="12" name="dateModified"> | ||||
|       <Position>10</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <index id="95" parent="12" name="sqlite_autoindex_notes_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>noteId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <index id="110" parent="13" name="IDX_notes_type"> | ||||
|       <ColNames>type</ColNames> | ||||
|     </index> | ||||
|     <key id="111" parent="13"> | ||||
|     <key id="96" parent="12"> | ||||
|       <ColNames>noteId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_notes_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="112" parent="14" name="name"> | ||||
|     <column id="97" parent="13" name="name"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="113" parent="14" name="value"> | ||||
|     <column id="98" parent="13" name="value"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="114" parent="14" name="dateModified"> | ||||
|     <column id="99" parent="13" name="dateModified"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|     </column> | ||||
|     <column id="115" parent="14" name="isSynced"> | ||||
|     <column id="100" parent="13" name="isSynced"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>INTEGER|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>0</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="116" parent="14" name="hash"> | ||||
|     <column id="101" parent="13" name="hash"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="117" parent="14" name="dateCreated"> | ||||
|     <column id="102" parent="13" name="dateCreated"> | ||||
|       <Position>6</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>'1970-01-01T00:00:00.000Z'</DefaultExpression> | ||||
|     </column> | ||||
|     <index id="118" parent="14" name="sqlite_autoindex_options_1"> | ||||
|     <index id="103" parent="13" name="sqlite_autoindex_options_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>name</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <key id="119" parent="14"> | ||||
|     <key id="104" parent="13"> | ||||
|       <ColNames>name</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_options_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="120" parent="15" name="branchId"> | ||||
|     <column id="105" parent="14" name="branchId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="121" parent="15" name="notePath"> | ||||
|     <column id="106" parent="14" name="notePath"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="122" parent="15" name="hash"> | ||||
|     <column id="107" parent="14" name="hash"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <DefaultExpression>""</DefaultExpression> | ||||
|     </column> | ||||
|     <column id="123" parent="15" name="dateCreated"> | ||||
|     <column id="108" parent="14" name="dateCreated"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="124" parent="15" name="isDeleted"> | ||||
|     <column id="109" parent="14" name="isDeleted"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>INT|0s</DataType> | ||||
|     </column> | ||||
|     <index id="125" parent="15" name="sqlite_autoindex_recent_notes_1"> | ||||
|     <index id="110" parent="14" name="sqlite_autoindex_recent_notes_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>branchId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <key id="126" parent="15"> | ||||
|     <key id="111" parent="14"> | ||||
|       <ColNames>branchId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_recent_notes_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="127" parent="16" name="sourceId"> | ||||
|     <column id="112" parent="15" name="sourceId"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="128" parent="16" name="dateCreated"> | ||||
|     <column id="113" parent="15" name="dateCreated"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <index id="129" parent="16" name="sqlite_autoindex_source_ids_1"> | ||||
|     <index id="114" parent="15" name="sqlite_autoindex_source_ids_1"> | ||||
|       <NameSurrogate>1</NameSurrogate> | ||||
|       <ColNames>sourceId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <key id="130" parent="16"> | ||||
|     <key id="115" parent="15"> | ||||
|       <ColNames>sourceId</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|       <UnderlyingIndexName>sqlite_autoindex_source_ids_1</UnderlyingIndexName> | ||||
|     </key> | ||||
|     <column id="131" parent="17" name="type"> | ||||
|     <column id="116" parent="16" name="type"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>text|0s</DataType> | ||||
|     </column> | ||||
|     <column id="132" parent="17" name="name"> | ||||
|     <column id="117" parent="16" name="name"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>text|0s</DataType> | ||||
|     </column> | ||||
|     <column id="133" parent="17" name="tbl_name"> | ||||
|     <column id="118" parent="16" name="tbl_name"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>text|0s</DataType> | ||||
|     </column> | ||||
|     <column id="134" parent="17" name="rootpage"> | ||||
|     <column id="119" parent="16" name="rootpage"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>integer|0s</DataType> | ||||
|     </column> | ||||
|     <column id="135" parent="17" name="sql"> | ||||
|     <column id="120" parent="16" name="sql"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>text|0s</DataType> | ||||
|     </column> | ||||
|     <column id="136" parent="18" name="name"> | ||||
|     <column id="121" parent="17" name="name"> | ||||
|       <Position>1</Position> | ||||
|     </column> | ||||
|     <column id="137" parent="18" name="seq"> | ||||
|     <column id="122" parent="17" name="seq"> | ||||
|       <Position>2</Position> | ||||
|     </column> | ||||
|     <column id="138" parent="19" name="id"> | ||||
|     <column id="123" parent="18" name="id"> | ||||
|       <Position>1</Position> | ||||
|       <DataType>INTEGER|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|       <SequenceIdentity>1</SequenceIdentity> | ||||
|     </column> | ||||
|     <column id="139" parent="19" name="entityName"> | ||||
|     <column id="124" parent="18" name="entityName"> | ||||
|       <Position>2</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="140" parent="19" name="entityId"> | ||||
|     <column id="125" parent="18" name="entityId"> | ||||
|       <Position>3</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="141" parent="19" name="sourceId"> | ||||
|     <column id="126" parent="18" name="sourceId"> | ||||
|       <Position>4</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <column id="142" parent="19" name="syncDate"> | ||||
|     <column id="127" parent="18" name="syncDate"> | ||||
|       <Position>5</Position> | ||||
|       <DataType>TEXT|0s</DataType> | ||||
|       <NotNull>1</NotNull> | ||||
|     </column> | ||||
|     <index id="143" parent="19" name="IDX_sync_entityName_entityId"> | ||||
|     <index id="128" parent="18" name="IDX_sync_entityName_entityId"> | ||||
|       <ColNames>entityName | ||||
| entityId</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|       <Unique>1</Unique> | ||||
|     </index> | ||||
|     <index id="144" parent="19" name="IDX_sync_syncDate"> | ||||
|     <index id="129" parent="18" name="IDX_sync_syncDate"> | ||||
|       <ColNames>syncDate</ColNames> | ||||
|       <ColumnCollations></ColumnCollations> | ||||
|     </index> | ||||
|     <key id="145" parent="19"> | ||||
|     <key id="130" parent="18"> | ||||
|       <ColNames>id</ColNames> | ||||
|       <Primary>1</Primary> | ||||
|     </key> | ||||
|   | ||||
							
								
								
									
										4
									
								
								.idea/encodings.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="Encoding" addBOMForNewFiles="with NO BOM" /> | ||||
| </project> | ||||
| @@ -1,4 +1,4 @@ | ||||
| FROM node:10.9.0 | ||||
| FROM node:10.12.0 | ||||
|  | ||||
| RUN apt-get update && apt-get install -y nasm | ||||
|  | ||||
|   | ||||
| @@ -12,16 +12,16 @@ See other pictures in [screenshot tour](https://github.com/zadam/trilium/wiki/Sc | ||||
| * Notes can be arranged into arbitrarily deep hierarchy (tree) | ||||
|    * Notes can have more than 1 parents - see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes) | ||||
| * Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-editor#autoformat) | ||||
| * Support for editing [notes with source code](https://raw.githubusercontent.com/wiki/zadam/trilium/images/code-note.png), including syntax highlighting | ||||
| * Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting | ||||
| * Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation) | ||||
| * Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions) | ||||
| * Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [[scripting|scripts]] | ||||
| * Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts) | ||||
| * [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server | ||||
| * Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes) | ||||
| * [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases) | ||||
| * Scales well in both usability and performance upwards of 100 000 notes | ||||
| * [Night theme](https://github.com/zadam/trilium/wiki/Themes) | ||||
| * [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown) | ||||
| * [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown) | ||||
|  | ||||
| ## Builds | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ fi | ||||
|  | ||||
| VERSION=$1 | ||||
| PKG_DIR=dist/trilium-linux-x64-server | ||||
| NODE_VERSION=8.11.4 | ||||
| NODE_VERSION=10.12.0 | ||||
|  | ||||
| rm -r $PKG_DIR | ||||
| mkdir $PKG_DIR | ||||
|   | ||||
| @@ -27,9 +27,8 @@ WIN_RES_DIR=./dist/trilium-win32-x64/resources/app | ||||
|  | ||||
| cp -r bin/deps/sqlite/* $WIN_RES_DIR/node_modules/sqlite3/lib/binding/ | ||||
| cp bin/deps/image/cjpeg.exe $WIN_RES_DIR/node_modules/mozjpeg/vendor/ | ||||
| cp bin/deps/image/pngquant.exe $WIN_RES_DIR/node_modules/imagemin-pngquant/node_modules/pngquant-bin/vendor/ | ||||
| cp bin/deps/image/pngquant.exe $WIN_RES_DIR/node_modules/pngquant-bin/vendor/ | ||||
| cp bin/deps/image/gifsicle.exe $WIN_RES_DIR/node_modules/giflossy/vendor/ | ||||
| cp bin/deps/scrypt.node $WIN_RES_DIR/node_modules/@mlink/scrypt/build/Release/ | ||||
|  | ||||
| echo "Cleaning up unnecessary binaries from all builds" | ||||
|  | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								bin/deps/sqlite/electron-v4.0-win32-x64/node_sqlite3.node
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -1,3 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| sqlite3 ~/trilium-data/document.db < bin/dump.sql | ||||
							
								
								
									
										19
									
								
								bin/dump.sql
									
									
									
									
									
								
							
							
						
						| @@ -1,19 +0,0 @@ | ||||
| .mode insert branches | ||||
| .out db/main_branches.sql | ||||
| select * from branches where isDeleted = 0; | ||||
|  | ||||
| .mode insert notes | ||||
| .out db/main_notes.sql | ||||
| select * from notes where isDeleted = 0; | ||||
|  | ||||
| .mode insert images | ||||
| .out db/main_images.sql | ||||
| select * from images where isDeleted = 0; | ||||
|  | ||||
| .mode insert note_images | ||||
| .out db/main_note_images.sql | ||||
| select * from note_images where isDeleted = 0; | ||||
|  | ||||
| .mode insert attributes | ||||
| .out db/main_attributes.sql | ||||
| select * from attributes where isDeleted = 0; | ||||
| @@ -2,6 +2,6 @@ | ||||
|  | ||||
| SCHEMA_FILE_PATH=db/schema.sql | ||||
|  | ||||
| sqlite3 ~/trilium-data/document.db .schema > "$SCHEMA_FILE_PATH" | ||||
| sqlite3 ~/trilium-data/document.db .schema | grep -v "sqlite_sequence" > "$SCHEMA_FILE_PATH" | ||||
|  | ||||
| echo "DB schema exported to $SCHEMA_FILE_PATH" | ||||
							
								
								
									
										
											BIN
										
									
								
								db/demo.tar
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -1,216 +0,0 @@ | ||||
| INSERT INTO attributes VALUES('YGaLsZ2s2WFr','N029F9ANGn8b','label','originalFileName','d3.js',1,'2018-08-28T20:50:22.260Z','2018-08-28T20:50:22.260Z',0,'71K4ZEuZMn',0); | ||||
| INSERT INTO attributes VALUES('MU459UPoTpIl','N029F9ANGn8b','label','fileSize','495159',2,'2018-08-28T20:50:22.268Z','2018-08-28T20:50:22.269Z',0,'Uw4q81aSPb',0); | ||||
| INSERT INTO attributes VALUES('K7NPLAdJC75T','bFTtwsnNgw9T','label','originalFileName','dagre-d3.js',1,'2018-08-28T20:50:22.278Z','2018-08-28T20:50:22.278Z',0,'B+5IYDa0kV',0); | ||||
| INSERT INTO attributes VALUES('fxcbzV7SajDg','bFTtwsnNgw9T','label','fileSize','1412934',2,'2018-08-28T20:50:22.338Z','2018-08-28T20:50:22.338Z',0,'fKMcMhthAe',0); | ||||
| INSERT INTO attributes VALUES('H1Y47EfTlkcx','ucC6Zabv3Uml','label','appCss','',0,'2018-08-28T20:50:22.404Z','2018-08-28T20:50:22.404Z',0,'gy/N05x553',0); | ||||
| INSERT INTO attributes VALUES('dClxXNDtkPhG','YULCKCrWJJZ6','relation','child:template','WkdQrYTnsgxP',0,'2018-08-28T20:50:22.407Z','2018-08-28T20:50:22.407Z',0,'KCB4vrX2+Q',0); | ||||
| INSERT INTO attributes VALUES('ascoxgnizejs','YULCKCrWJJZ6','label','child:person','',1,'2018-08-28T20:50:22.410Z','2018-08-28T20:50:22.410Z',0,'cWQ4h0JzfC',0); | ||||
| INSERT INTO attributes VALUES('nDrmznDDBYA9','wHb2YBwhjxiD','label','dateOfBirth','1895-12-14',0,'2018-08-28T20:50:22.413Z','2018-08-28T20:50:22.413Z',0,'erlRsUQzW5',0); | ||||
| INSERT INTO attributes VALUES('xQ6wvIQaVIZ1','wHb2YBwhjxiD','label','dateOfDeath','1952-02-06',1,'2018-08-28T20:50:22.416Z','2018-08-28T20:50:22.416Z',0,'2uh0vKvpVU',0); | ||||
| INSERT INTO attributes VALUES('oyIs9VmMgsvI','wHb2YBwhjxiD','relation','isPartnerOf','cUYFEvsdY6N6',2,'2018-08-28T20:50:22.419Z','2018-08-28T20:50:22.419Z',0,'OM3NVpPaUq',0); | ||||
| INSERT INTO attributes VALUES('O54Zoiiq2Fcu','wHb2YBwhjxiD','label','person','',3,'2018-08-28T20:50:22.423Z','2018-08-28T20:50:22.423Z',0,'FHNEKhY7+c',0); | ||||
| INSERT INTO attributes VALUES('hq6g3wa2T2Iw','wHb2YBwhjxiD','relation','template','WkdQrYTnsgxP',4,'2018-08-28T20:50:22.426Z','2018-08-28T20:50:22.426Z',0,'+K8jpY+5S/',0); | ||||
| INSERT INTO attributes VALUES('8zizvAfpH5Jl','wHb2YBwhjxiD','relation','hasChild','s0Hhsl0nb1bg',5,'2018-08-28T20:50:22.428Z','2018-08-28T20:50:22.428Z',0,'NRrR0GBy88',0); | ||||
| INSERT INTO attributes VALUES('WPqEnSKOFM8N','cUYFEvsdY6N6','label','dateOfBirth','1900-08-04',0,'2018-08-28T20:50:22.431Z','2018-08-28T20:50:22.432Z',0,'3HOaOLE+oy',0); | ||||
| INSERT INTO attributes VALUES('BY6Kj6aAFu0e','cUYFEvsdY6N6','label','dateOfDeath','2002-03-30',1,'2018-08-28T20:50:22.436Z','2018-08-28T20:50:22.436Z',0,'rZrLFiOvj8',0); | ||||
| INSERT INTO attributes VALUES('0555anatAyWg','cUYFEvsdY6N6','relation','isPartnerOf','wHb2YBwhjxiD',2,'2018-08-28T20:50:22.439Z','2018-08-28T20:50:22.439Z',0,'yWMcMCRxnH',0); | ||||
| INSERT INTO attributes VALUES('oXibmgJQOzGB','cUYFEvsdY6N6','label','person','',3,'2018-08-28T20:50:22.441Z','2018-08-28T20:50:22.441Z',0,'RetqdPzOby',0); | ||||
| INSERT INTO attributes VALUES('A0E0SgIGNYBR','cUYFEvsdY6N6','relation','template','WkdQrYTnsgxP',4,'2018-08-28T20:50:22.444Z','2018-08-28T20:50:22.444Z',0,'UGs+JIASFB',0); | ||||
| INSERT INTO attributes VALUES('DlXDyWCKW7ST','cUYFEvsdY6N6','relation','hasChild','s0Hhsl0nb1bg',5,'2018-08-28T20:50:22.448Z','2018-08-28T20:50:22.448Z',0,'wPF8Epw2f2',0); | ||||
| INSERT INTO attributes VALUES('5Dxq7ZOSyOwZ','8APXN4n4Hnb8','label','dateOfBirth','1921-06-10',0,'2018-08-28T20:50:22.451Z','2018-08-28T20:50:22.451Z',0,'kM9tlQ1n7a',0); | ||||
| INSERT INTO attributes VALUES('pRMQNiknkpSr','8APXN4n4Hnb8','relation','isPartnerOf','s0Hhsl0nb1bg',1,'2018-08-28T20:50:22.457Z','2018-08-28T20:50:22.457Z',0,'TzsOqFQYjk',0); | ||||
| INSERT INTO attributes VALUES('OKlFBgqr61Uy','8APXN4n4Hnb8','relation','hasChild','baafKkgNGYLm',2,'2018-08-28T20:50:22.460Z','2018-08-28T20:50:22.460Z',0,'t4hEDC534r',0); | ||||
| INSERT INTO attributes VALUES('yVZf4BNnV0Ev','8APXN4n4Hnb8','label','person','',3,'2018-08-28T20:50:22.462Z','2018-08-28T20:50:22.462Z',0,'L+xujQPpBw',0); | ||||
| INSERT INTO attributes VALUES('8oAIhmdTUvEg','8APXN4n4Hnb8','relation','template','WkdQrYTnsgxP',4,'2018-08-28T20:50:22.465Z','2018-08-28T20:50:22.465Z',0,'GbRQJL+GEp',0); | ||||
| INSERT INTO attributes VALUES('cneD8mgzvai7','s0Hhsl0nb1bg','label','dateOfBirth','1926-04-21',0,'2018-08-28T20:50:22.468Z','2018-08-28T20:50:22.468Z',0,'cXdtlXqXEB',0); | ||||
| INSERT INTO attributes VALUES('8z9zChaZOTDH','s0Hhsl0nb1bg','relation','isPartnerOf','8APXN4n4Hnb8',1,'2018-08-28T20:50:22.471Z','2018-08-28T20:50:22.471Z',0,'33J9ZyF2ho',0); | ||||
| INSERT INTO attributes VALUES('gdJaomu0xBOu','s0Hhsl0nb1bg','relation','isChildOf','cUYFEvsdY6N6',3,'2018-08-28T20:50:22.477Z','2018-08-28T20:50:22.477Z',0,'BIFGASgBgq',0); | ||||
| INSERT INTO attributes VALUES('9Jwa8a993yen','s0Hhsl0nb1bg','relation','isChildOf','wHb2YBwhjxiD',4,'2018-08-28T20:50:22.479Z','2018-08-28T20:50:22.480Z',0,'TG9GD3do5B',0); | ||||
| INSERT INTO attributes VALUES('Xe1QAkKsWWpF','s0Hhsl0nb1bg','relation','hasChild','baafKkgNGYLm',5,'2018-08-28T20:50:22.482Z','2018-08-28T20:50:22.482Z',0,'dqIMe2e19M',0); | ||||
| INSERT INTO attributes VALUES('kEg8zFFq248G','s0Hhsl0nb1bg','label','person','',6,'2018-08-28T20:50:22.485Z','2018-08-28T20:50:22.485Z',0,'MMnLxCR8F3',0); | ||||
| INSERT INTO attributes VALUES('tRZ6MSnKSTqR','s0Hhsl0nb1bg','relation','template','WkdQrYTnsgxP',7,'2018-08-28T20:50:22.509Z','2018-08-28T20:50:22.509Z',0,'rosgXW/nGc',0); | ||||
| INSERT INTO attributes VALUES('JBKulahGmJbS','baafKkgNGYLm','label','dateOfBirth','1948-11-14',0,'2018-08-28T20:50:22.513Z','2018-08-28T20:50:22.513Z',0,'rrxcH0EJyd',0); | ||||
| INSERT INTO attributes VALUES('iQrlMg7Hw4TV','baafKkgNGYLm','relation','isPartnerOf','Ab7WuV47mQOf',1,'2018-08-28T20:50:22.517Z','2018-08-28T20:50:22.517Z',0,'ZC8g7df+GX',0); | ||||
| INSERT INTO attributes VALUES('lR5KNuf8nZPv','baafKkgNGYLm','relation','isChildOf','s0Hhsl0nb1bg',3,'2018-08-28T20:50:22.520Z','2018-08-28T20:50:22.520Z',0,'3+cBucfifY',0); | ||||
| INSERT INTO attributes VALUES('Zy86gvVrUdL9','baafKkgNGYLm','relation','isChildOf','8APXN4n4Hnb8',4,'2018-08-28T20:50:22.527Z','2018-08-28T20:50:22.527Z',0,'S8oRMD6Zl2',0); | ||||
| INSERT INTO attributes VALUES('4A0fdX1Nw6HW','baafKkgNGYLm','relation','hasChild','w7t110kWsK8e',5,'2018-08-28T20:50:22.529Z','2018-08-28T20:50:22.529Z',0,'1xwLwGQ8Nq',0); | ||||
| INSERT INTO attributes VALUES('KJp2whVwU9t8','baafKkgNGYLm','relation','hasChild','at7bZyjJfIrM',6,'2018-08-28T20:50:22.533Z','2018-08-28T20:50:22.533Z',0,'GCW74wkayV',0); | ||||
| INSERT INTO attributes VALUES('Z9XptIzsoACA','baafKkgNGYLm','label','person','',7,'2018-08-28T20:50:22.536Z','2018-08-28T20:50:22.536Z',0,'JjkYlF07eh',0); | ||||
| INSERT INTO attributes VALUES('ZW3lFQx4x5b2','baafKkgNGYLm','relation','template','WkdQrYTnsgxP',8,'2018-08-28T20:50:22.540Z','2018-08-28T20:50:22.540Z',0,'UpMRWuOZb/',0); | ||||
| INSERT INTO attributes VALUES('Ey8y4cy3DcCi','Ab7WuV47mQOf','label','dateOfBirth','1961-07-01',0,'2018-08-28T20:50:22.543Z','2018-08-28T20:50:22.543Z',0,'64htbnhge6',0); | ||||
| INSERT INTO attributes VALUES('AiAfIBWpOz5x','Ab7WuV47mQOf','label','dateOfDeath','1997-08-31',1,'2018-08-28T20:50:22.545Z','2018-08-28T20:50:22.546Z',0,'mFxHu1vXL5',0); | ||||
| INSERT INTO attributes VALUES('MZYw8enjG9NE','Ab7WuV47mQOf','relation','isPartnerOf','baafKkgNGYLm',2,'2018-08-28T20:50:22.549Z','2018-08-28T20:50:22.549Z',0,'jvWO1/tx45',0); | ||||
| INSERT INTO attributes VALUES('ScLhggJccqQa','Ab7WuV47mQOf','relation','hasChild','at7bZyjJfIrM',3,'2018-08-28T20:50:22.551Z','2018-08-28T20:50:22.552Z',0,'bvNZplJq2L',0); | ||||
| INSERT INTO attributes VALUES('ZsXr2c8BygWE','Ab7WuV47mQOf','relation','hasChild','w7t110kWsK8e',4,'2018-08-28T20:50:22.555Z','2018-08-28T20:50:22.555Z',0,'FN00a6ym1T',0); | ||||
| INSERT INTO attributes VALUES('YdQLLaYVuziQ','Ab7WuV47mQOf','label','person','',5,'2018-08-28T20:50:22.558Z','2018-08-28T20:50:22.558Z',0,'j3DcoUoRob',0); | ||||
| INSERT INTO attributes VALUES('wCFa6BcfMeYs','Ab7WuV47mQOf','relation','template','WkdQrYTnsgxP',6,'2018-08-28T20:50:22.561Z','2018-08-28T20:50:22.561Z',0,'pWMc9bIpYU',0); | ||||
| INSERT INTO attributes VALUES('UjQK6CfeN1FQ','w7t110kWsK8e','label','dateOfBirth','1982-06-21',0,'2018-08-28T20:50:22.564Z','2018-08-28T20:50:22.564Z',0,'KmPfpQC3YZ',0); | ||||
| INSERT INTO attributes VALUES('BgEgHc6nbK9N','w7t110kWsK8e','relation','isPartnerOf','OZKicr536m7U',1,'2018-08-28T20:50:22.567Z','2018-08-28T20:50:22.567Z',0,'/x6KvO+8a3',0); | ||||
| INSERT INTO attributes VALUES('KqV4d4pJYS2E','w7t110kWsK8e','relation','isChildOf','Ab7WuV47mQOf',2,'2018-08-28T20:50:22.570Z','2018-08-28T20:50:22.570Z',0,'KyraxcQqDz',0); | ||||
| INSERT INTO attributes VALUES('wlb9vaZSYcq5','w7t110kWsK8e','relation','isChildOf','baafKkgNGYLm',3,'2018-08-28T20:50:22.575Z','2018-08-28T20:50:22.575Z',0,'UU8YR4ybWt',0); | ||||
| INSERT INTO attributes VALUES('z5LqaK45g4hR','w7t110kWsK8e','relation','hasChild','oato1D7kuNU2',4,'2018-08-28T20:50:22.577Z','2018-08-28T20:50:22.577Z',0,'e/UPI6kcvv',0); | ||||
| INSERT INTO attributes VALUES('fCD45rh2vdkT','w7t110kWsK8e','relation','hasChild','C1I7GPA8ORO4',5,'2018-08-28T20:50:22.580Z','2018-08-28T20:50:22.581Z',0,'oT4QlgrVte',0); | ||||
| INSERT INTO attributes VALUES('C2Vigv6G5FS1','w7t110kWsK8e','relation','hasChild','gQNQaMBzRYdb',6,'2018-08-28T20:50:22.584Z','2018-08-28T20:50:22.584Z',0,'wUKaPiuJQk',0); | ||||
| INSERT INTO attributes VALUES('E9rVr79Kz9V6','w7t110kWsK8e','label','person','',7,'2018-08-28T20:50:22.587Z','2018-08-28T20:50:22.587Z',0,'K/hdjV+tSK',0); | ||||
| INSERT INTO attributes VALUES('8XRlAf6WV3qg','w7t110kWsK8e','relation','template','WkdQrYTnsgxP',8,'2018-08-28T20:50:22.590Z','2018-08-28T20:50:22.590Z',0,'FSl46d9i1L',0); | ||||
| INSERT INTO attributes VALUES('zH72GS2ubC6n','at7bZyjJfIrM','label','dateOfBirth','1984-09-15',0,'2018-08-28T20:50:22.593Z','2018-08-28T20:50:22.593Z',0,'gRa24FkJ54',0); | ||||
| INSERT INTO attributes VALUES('RUlGHoZKKwI1','at7bZyjJfIrM','relation','isChildOf','Ab7WuV47mQOf',2,'2018-08-28T20:50:22.595Z','2018-08-28T20:50:22.595Z',0,'UqtXMxkS8I',0); | ||||
| INSERT INTO attributes VALUES('s6fz9RfUkN16','at7bZyjJfIrM','relation','isChildOf','baafKkgNGYLm',3,'2018-08-28T20:50:22.598Z','2018-08-28T20:50:22.598Z',0,'sflViPP/Jy',0); | ||||
| INSERT INTO attributes VALUES('ewBwlqrIQ4gT','at7bZyjJfIrM','label','person','',4,'2018-08-28T20:50:22.600Z','2018-08-28T20:50:22.600Z',0,'qV4yjjVjU8',0); | ||||
| INSERT INTO attributes VALUES('R2LUPwcGsuNw','at7bZyjJfIrM','relation','template','WkdQrYTnsgxP',5,'2018-08-28T20:50:22.603Z','2018-08-28T20:50:22.603Z',0,'NRS6Dn58NQ',0); | ||||
| INSERT INTO attributes VALUES('NmqnFfEvfSPm','OZKicr536m7U','label','dateOfBirth','1982-01-09',0,'2018-08-28T20:50:22.606Z','2018-08-28T20:50:22.607Z',0,'d3wENODQzf',0); | ||||
| INSERT INTO attributes VALUES('TFzxV7PECiaL','OZKicr536m7U','relation','isPartnerOf','w7t110kWsK8e',1,'2018-08-28T20:50:22.611Z','2018-08-28T20:50:22.611Z',0,'Om8CZOKQ3n',0); | ||||
| INSERT INTO attributes VALUES('KZkuMnxLcwXv','OZKicr536m7U','label','person','',2,'2018-08-28T20:50:22.615Z','2018-08-28T20:50:22.615Z',0,'ant2+CLJEK',0); | ||||
| INSERT INTO attributes VALUES('mpaiLAxFYEaV','OZKicr536m7U','relation','template','WkdQrYTnsgxP',3,'2018-08-28T20:50:22.618Z','2018-08-28T20:50:22.619Z',0,'sny+Ar6U5l',0); | ||||
| INSERT INTO attributes VALUES('DMrFjWJ1gEGV','OZKicr536m7U','relation','hasChild','oato1D7kuNU2',4,'2018-08-28T20:50:22.624Z','2018-08-28T20:50:22.624Z',0,'JDx8fEDsrJ',0); | ||||
| INSERT INTO attributes VALUES('We1iR49umgtV','OZKicr536m7U','relation','hasChild','C1I7GPA8ORO4',5,'2018-08-28T20:50:22.626Z','2018-08-28T20:50:22.626Z',0,'ZZPFqVVGHL',0); | ||||
| INSERT INTO attributes VALUES('AYJHtO581jiN','OZKicr536m7U','relation','hasChild','gQNQaMBzRYdb',6,'2018-08-28T20:50:22.628Z','2018-08-28T20:50:22.629Z',0,'tbtnoMJJZn',0); | ||||
| INSERT INTO attributes VALUES('iuCrdcbtL4qC','oato1D7kuNU2','label','dateOfBirth','2013-07-22',0,'2018-08-28T20:50:22.632Z','2018-08-28T20:50:22.632Z',0,'IcMT391SzX',0); | ||||
| INSERT INTO attributes VALUES('Q8Vo1KIxkJmj','oato1D7kuNU2','relation','isChildOf','w7t110kWsK8e',1,'2018-08-28T20:50:22.635Z','2018-08-28T20:50:22.635Z',0,'zoA+rRFKM+',0); | ||||
| INSERT INTO attributes VALUES('5mrM42brxDuz','oato1D7kuNU2','relation','isChildOf','OZKicr536m7U',2,'2018-08-28T20:50:22.638Z','2018-08-28T20:50:22.639Z',0,'P6P4YU7BTd',0); | ||||
| INSERT INTO attributes VALUES('buvl0DlrHfPa','oato1D7kuNU2','label','person','',3,'2018-08-28T20:50:22.642Z','2018-08-28T20:50:22.642Z',0,'AumhH4Hib8',0); | ||||
| INSERT INTO attributes VALUES('fmy9BlOToZyF','oato1D7kuNU2','relation','template','WkdQrYTnsgxP',4,'2018-08-28T20:50:22.645Z','2018-08-28T20:50:22.645Z',0,'E1I7jbmUVs',0); | ||||
| INSERT INTO attributes VALUES('dO2wroKfcuE0','C1I7GPA8ORO4','label','dateOfBirth','2015-05-02',0,'2018-08-28T20:50:22.647Z','2018-08-28T20:50:22.648Z',0,'Y7bf4ZWZCE',0); | ||||
| INSERT INTO attributes VALUES('Z5gVHx3DbIch','C1I7GPA8ORO4','relation','isChildOf','w7t110kWsK8e',1,'2018-08-28T20:50:22.650Z','2018-08-28T20:50:22.650Z',0,'LSINZZQzBt',0); | ||||
| INSERT INTO attributes VALUES('1kNzvErwUjrs','C1I7GPA8ORO4','relation','isChildOf','OZKicr536m7U',2,'2018-08-28T20:50:22.653Z','2018-08-28T20:50:22.653Z',0,'ePUs5vanHB',0); | ||||
| INSERT INTO attributes VALUES('W6glbhKhyWPT','C1I7GPA8ORO4','label','person','',3,'2018-08-28T20:50:22.658Z','2018-08-28T20:50:22.658Z',0,'zRvRYSbqZi',0); | ||||
| INSERT INTO attributes VALUES('0GJ2aHqAuodC','C1I7GPA8ORO4','relation','template','WkdQrYTnsgxP',4,'2018-08-28T20:50:22.661Z','2018-08-28T20:50:22.661Z',0,'m88hxWjzQ0',0); | ||||
| INSERT INTO attributes VALUES('ITjvtJPre6AT','gQNQaMBzRYdb','label','dateOfBirth','2018-04-23',0,'2018-08-28T20:50:22.664Z','2018-08-28T20:50:22.664Z',0,'ceKKy9B5o1',0); | ||||
| INSERT INTO attributes VALUES('CObXkmUCKNvA','gQNQaMBzRYdb','relation','isChildOf','w7t110kWsK8e',1,'2018-08-28T20:50:22.667Z','2018-08-28T20:50:22.668Z',0,'D/R7JZPq5g',0); | ||||
| INSERT INTO attributes VALUES('zFLwAPnbTSXJ','gQNQaMBzRYdb','relation','isChildOf','OZKicr536m7U',2,'2018-08-28T20:50:22.674Z','2018-08-28T20:50:22.674Z',0,'Hi1uUloX9W',0); | ||||
| INSERT INTO attributes VALUES('76tF3kkXj0DU','gQNQaMBzRYdb','label','person','',3,'2018-08-28T20:50:22.676Z','2018-08-28T20:50:22.676Z',0,'MDjdPy4afu',0); | ||||
| INSERT INTO attributes VALUES('t1iefYiRAtYo','gQNQaMBzRYdb','relation','template','WkdQrYTnsgxP',4,'2018-08-28T20:50:22.679Z','2018-08-28T20:50:22.679Z',0,'5GgcLGKhaR',0); | ||||
| INSERT INTO attributes VALUES('Bpe9iT3XyyOY','WkdQrYTnsgxP','label-definition','dateOfBirth','{"labelType":"date","multiplicityType":"singlevalue","isPromoted":true}',0,'2018-08-28T20:50:22.682Z','2018-08-28T20:50:22.682Z',0,'NYj5Rr17+t',1); | ||||
| INSERT INTO attributes VALUES('GxEesX6Ps1qg','WkdQrYTnsgxP','label-definition','dateOfDeath','{"labelType":"date","multiplicityType":"singlevalue","isPromoted":true}',1,'2018-08-28T20:50:22.684Z','2018-08-28T20:50:22.685Z',0,'ayZ1VP6NAU',1); | ||||
| INSERT INTO attributes VALUES('8lmgLJkU0fts','WkdQrYTnsgxP','relation-definition','isPartnerOf','{"multiplicityType":"multivalue","isPromoted":true}',2,'2018-08-28T20:50:22.687Z','2018-08-28T20:50:22.687Z',0,'efMdysR9Pd',1); | ||||
| INSERT INTO attributes VALUES('jKbUzkPDskWK','WkdQrYTnsgxP','relation-definition','isChildOf','{"multiplicityType":"multivalue","isPromoted":true}',3,'2018-08-28T20:50:22.690Z','2018-08-28T20:50:22.690Z',0,'ZUJB7r3rT4',1); | ||||
| INSERT INTO attributes VALUES('WUn7ZivbtEEL','WkdQrYTnsgxP','relation-definition','hasChild','{"multiplicityType":"multivalue","isPromoted":true}',4,'2018-08-28T20:50:22.693Z','2018-08-28T20:50:22.694Z',0,'l55U94jslK',1); | ||||
| INSERT INTO attributes VALUES('9bwMbu66bibw','WkdQrYTnsgxP','label','person','',5,'2018-08-28T20:50:22.696Z','2018-08-28T20:50:22.696Z',0,'4PC6o0t3Pr',0); | ||||
| INSERT INTO attributes VALUES('6oj5nftjfbBC','HgaAwBX5zVcP','label','originalFileName','chart.js',1,'2018-08-28T20:50:36.164Z','2018-08-28T20:50:36.164Z',0,'6nDd6oTR6B',0); | ||||
| INSERT INTO attributes VALUES('gZgmYZ9C4foc','HgaAwBX5zVcP','label','fileSize','211133',2,'2018-08-28T20:50:36.171Z','2018-08-28T20:50:36.171Z',0,'hHlFlDfuQP',0); | ||||
| INSERT INTO attributes VALUES('Fb8UazsIiOk5','Dyahpf7LroQY','label','taskLocationRoot','',0,'2018-08-28T20:50:48.604Z','2018-08-28T20:50:48.604Z',0,'DM2/m1t5TR',0); | ||||
| INSERT INTO attributes VALUES('f0Ow5PJyhbYY','nUgD4SYx2gt7','label','taskTagRoot','',0,'2018-08-28T20:50:48.618Z','2018-08-28T20:50:48.618Z',0,'5MQeVb7i0Z',0); | ||||
| INSERT INTO attributes VALUES('6or0Gr0hFW2t','9HHqPxJkLAkl','label','taskDoneRoot','',0,'2018-08-28T20:50:48.626Z','2018-08-28T20:50:48.626Z',0,'e8MjtXx+UD',0); | ||||
| INSERT INTO attributes VALUES('pSVR4p5EM3i1','XVlWndK4Oh6A','label','run','frontendStartup',0,'2018-08-28T20:50:48.630Z','2018-08-28T20:50:48.630Z',0,'/Og2vneotj',0); | ||||
| INSERT INTO attributes VALUES('uSj6vDAaM3Z8','gYNJtGEPGW95','label','appCss','',0,'2018-08-28T20:50:48.636Z','2018-08-28T20:50:48.636Z',0,'TssM5mauP3',0); | ||||
| INSERT INTO attributes VALUES('lKaZjiGo2X1T','gDrEI7LFWqrP','label','hideChildrenOverview','',0,'2018-08-28T20:50:22.253Z','2018-08-28T20:50:22.253Z',0,'qGo6F87JjB',0); | ||||
| INSERT INTO attributes VALUES('wycKIOGBLBr2','gDrEI7LFWqrP','relation','familyContainer','YULCKCrWJJZ6',1,'2018-08-28T20:50:22.257Z','2018-08-28T20:50:22.257Z',0,'wRgPdq8myG',0); | ||||
| INSERT INTO attributes VALUES('45sz6us7COFA','gDrEI7LFWqrP','relation','renderNote','Z5yhGE5g0UB5',2,'2018-08-28T20:52:45.872Z','2018-08-28T20:52:45.872Z',0,'Rf2zkiB3bY',0); | ||||
| INSERT INTO attributes VALUES('4m6dIcDjkC2q','8LOr7xUMuWD4','label','hideChildrenOverview','',0,'2018-08-28T20:50:36.159Z','2018-08-28T20:50:36.159Z',0,'3emtcLLcp7',0); | ||||
| INSERT INTO attributes VALUES('UbMObRd5U1p3','8LOr7xUMuWD4','relation','renderNote','YBAcWV8TjYEp',1,'2018-08-28T20:54:40.517Z','2018-08-28T20:56:27.135Z',0,'iqKSOL+B1L',0); | ||||
| INSERT INTO attributes VALUES('2YBCX6bTRrde','qEi5St9PBPCP','label','run','frontendStartup',0,'2018-08-28T20:50:36.178Z','2018-08-28T20:50:36.179Z',0,'hDcu/CoV8A',0); | ||||
| INSERT INTO attributes VALUES('IhuXzxRoCdJj','qEi5St9PBPCP','relation','targetNote','8LOr7xUMuWD4',1,'2018-08-28T20:58:15.164Z','2018-08-28T20:58:15.164Z',0,'un6P3bD9wb',0); | ||||
| INSERT INTO attributes VALUES('wfv43UPhvRDB','1s6SGhByxkoU','label','cssClass','todo',3,'2018-08-28T21:11:48.954Z','2018-08-28T21:11:48.955Z',0,'CFjJZ/EjzN',0); | ||||
| INSERT INTO attributes VALUES('vnDnf7erhpHf','eXHZAKsMYgur','relation','child:template','TlGCAdcfxkOT',0,'2018-08-29T17:13:34.317Z','2018-08-29T17:13:34.317Z',0,'8W6ql67C0G',0); | ||||
| INSERT INTO attributes VALUES('Vwo09bhVsDFP','TjWEndYCCg7g','relation','child:template','TlGCAdcfxkOT',0,'2018-08-29T17:15:28.700Z','2018-08-29T17:15:28.700Z',0,'Dowmf6VzWU',0); | ||||
| INSERT INTO attributes VALUES('zguuNS6ERdQL','8nRNDJGyGs2Z','relation','template','TlGCAdcfxkOT',0,'2018-08-29T17:16:14.938Z','2018-08-29T17:16:14.940Z',0,'bQanDjKWpy',0); | ||||
| INSERT INTO attributes VALUES('Ar39t8omV0MM','8nRNDJGyGs2Z','label','link','https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002',1,'2018-08-29T17:16:26.915Z','2018-08-29T17:16:26.916Z',0,'SQyuo81DHH',0); | ||||
| INSERT INTO attributes VALUES('E2ol5oG7vwq8','TlGCAdcfxkOT','label-definition','link','{"isPromoted":true,"labelType":"url","multiplicityType":"singlevalue"}',1,'2018-08-29T17:12:47.600Z','2018-08-29T17:12:47.600Z',0,'ZMGjd3nm/p',1); | ||||
| INSERT INTO attributes VALUES('awToFhC7v0UV','TlGCAdcfxkOT','label-definition','readingStart','{"isPromoted":true,"labelType":"date","multiplicityType":"singlevalue"}',2,'2018-08-29T17:12:47.610Z','2018-08-29T17:12:47.610Z',0,'VabLEj737Q',1); | ||||
| INSERT INTO attributes VALUES('pLJ9r6lnPOYs','TlGCAdcfxkOT','label-definition','readingEnd','{"isPromoted":true,"labelType":"date","multiplicityType":"singlevalue"}',3,'2018-08-29T17:12:47.618Z','2018-08-29T17:12:47.618Z',0,'UHB3bE1/yM',1); | ||||
| INSERT INTO attributes VALUES('rmg7IQRkazsZ','TlGCAdcfxkOT','label-definition','author','{"isPromoted":true,"labelType":"text","multiplicityType":"singlevalue"}',0,'2018-08-29T17:13:11.393Z','2018-08-29T17:13:11.393Z',0,'AriDq8D/S+',1); | ||||
| INSERT INTO attributes VALUES('FaiTpHt7VXzC','8nRNDJGyGs2Z','label','author','Ian Tregillis',2,'2018-08-29T17:17:00.159Z','2018-08-29T17:17:00.160Z',0,'GjzmTQcGwE',0); | ||||
| INSERT INTO attributes VALUES('oINm9qaejyqS','8nRNDJGyGs2Z','label','readingStart','2018-05-05',3,'2018-08-29T17:17:11.560Z','2018-08-29T17:17:11.561Z',0,'LG7/XyjXMx',0); | ||||
| INSERT INTO attributes VALUES('ss4NVSjoxcv4','8nRNDJGyGs2Z','label','readingEnd','2018-05-23',4,'2018-08-29T17:17:18.653Z','2018-08-29T17:17:18.653Z',0,'UuAazixGy6',0); | ||||
| INSERT INTO attributes VALUES('yw88iR3gN1NW','u5t1EvWa3CMO','relation','template','TlGCAdcfxkOT',0,'2018-08-29T17:17:49.060Z','2018-08-29T17:17:49.061Z',0,'ejixmQdU6q',0); | ||||
| INSERT INTO attributes VALUES('eTIoe4Ab7ocY','u5t1EvWa3CMO','label','author','Viktor Frankl',1,'2018-08-29T17:18:59.006Z','2018-08-29T17:18:59.006Z',0,'OZhmBfoQOo',0); | ||||
| INSERT INTO attributes VALUES('VBiqEJ6mnFgT','u5t1EvWa3CMO','label','link','https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning',2,'2018-08-29T17:19:10.420Z','2018-08-29T17:19:10.421Z',0,'esBqX0UAL1',0); | ||||
| INSERT INTO attributes VALUES('hAKixYWrKL4f','u5t1EvWa3CMO','label','readingStart','2018-08-01',3,'2018-08-29T17:19:14.550Z','2018-08-29T17:19:14.550Z',0,'HoGROsXwVQ',0); | ||||
| INSERT INTO attributes VALUES('n3OTUTkuWRYM','u5t1EvWa3CMO','label','readingEnd','2018-08-10',4,'2018-08-29T17:19:17.741Z','2018-08-29T17:19:17.742Z',0,'65QfoguWMa',0); | ||||
| INSERT INTO attributes VALUES('82OrS7QREaBM','3RkyK9LI18dO','label','calendarRoot','',0,'2018-08-28T21:18:18.512Z','2018-08-28T21:18:18.512Z',0,'1Mw7vhXyk1',0); | ||||
| INSERT INTO attributes VALUES('eZeOn45UgWa6','3RkyK9LI18dO','label','sorted','',1,'2018-08-29T10:51:55.212Z','2018-08-29T10:51:55.212Z',0,'GeXw6I7toO',0); | ||||
| INSERT INTO attributes VALUES('J4vAdbL9o5M2','3RkyK9LI18dO','label','child:sorted','',2,'2018-08-29T10:51:55.205Z','2018-08-29T10:51:55.205Z',0,'6iLHLIFy96',0); | ||||
| INSERT INTO attributes VALUES('GTGfj3qmMoSC','3RkyK9LI18dO','label','child:sorted:sorted','',3,'2018-08-29T10:51:55.220Z','2018-08-29T10:51:55.220Z',0,'8gxZmnY60b',0); | ||||
| INSERT INTO attributes VALUES('L6vT9du3WHzI','3RkyK9LI18dO','relation','child:child:child:template','Lt8IUldw7d7H',4,'2018-08-29T17:24:45.182Z','2018-08-29T17:24:45.182Z',0,'+PS2Pj1tU+',0); | ||||
| INSERT INTO attributes VALUES('kPk6wY2as8Il','HJusZTbBU494','label','sorted','',0,'2018-08-29T10:52:08.238Z','2018-08-29T10:52:08.238Z',0,'m+y/Oxpq6f',0); | ||||
| INSERT INTO attributes VALUES('ysCNVMnBf3s1','HJusZTbBU494','label','child:sorted','',1,'2018-08-29T10:52:08.249Z','2018-08-29T10:52:08.250Z',0,'ItprIuiTlZ',0); | ||||
| INSERT INTO attributes VALUES('oTeqKnzwZURH','HJusZTbBU494','label','yearNote','2017',2,'2018-08-29T10:53:09.515Z','2018-08-29T10:53:16.513Z',0,'YrrW7ywzCK',0); | ||||
| INSERT INTO attributes VALUES('8oreGYcHHVTA','HJusZTbBU494','relation','child:child:template','Lt8IUldw7d7H',3,'2018-08-29T17:25:04.693Z','2018-08-29T17:25:04.694Z',0,'ABVdTeSYoK',0); | ||||
| INSERT INTO attributes VALUES('KOTvzLMSuse5','6ZuXjCSWgjB4','label','sorted','',0,'2018-08-29T10:52:15.655Z','2018-08-29T10:52:15.658Z',0,'veo8Kp5mE0',0); | ||||
| INSERT INTO attributes VALUES('aCBsrwvzvqjE','6ZuXjCSWgjB4','label','monthNote','2017-11',1,'2018-08-29T10:53:37.887Z','2018-08-29T10:53:37.887Z',0,'tF8CYyko+S',0); | ||||
| INSERT INTO attributes VALUES('Q9q3JLWvglVK','6ZuXjCSWgjB4','relation','child:template','Lt8IUldw7d7H',2,'2018-08-29T17:25:31.601Z','2018-08-29T17:25:31.601Z',0,'14xS6esi1y',0); | ||||
| INSERT INTO attributes VALUES('dGdwWsGNqPOD','GpGnjmcAPeWG','label','dateNote','2017-11-28',0,'2018-08-29T10:55:14.883Z','2018-08-29T10:55:14.884Z',0,'dBEaBZnqWC',0); | ||||
| INSERT INTO attributes VALUES('6VedgpljPNFf','GpGnjmcAPeWG','relation','template','Lt8IUldw7d7H',1,'2018-08-29T17:25:57.641Z','2018-08-29T17:25:57.641Z',0,'IzqZVWA336',0); | ||||
| INSERT INTO attributes VALUES('CJJjUCdpdD3K','Lt8IUldw7d7H','label-definition','weight','{"isPromoted":true,"labelType":"number","multiplicityType":"singlevalue"}',0,'2018-08-29T17:24:15.719Z','2018-08-29T17:26:16.917Z',0,'iedV7CtrF8',1); | ||||
| INSERT INTO attributes VALUES('7twUQrUK7XcT','3oldoiMUPOlr','label','sorted','',0,'2018-08-29T10:52:19.809Z','2018-08-29T10:52:19.809Z',0,'sm1omFTQsu',0); | ||||
| INSERT INTO attributes VALUES('OJYkhC8lC8ZC','3oldoiMUPOlr','label','monthNote','2017-12',1,'2018-08-29T10:53:53.206Z','2018-08-29T10:53:55.686Z',0,'dec3sb4XOC',0); | ||||
| INSERT INTO attributes VALUES('0xu9SmGcAeFA','3oldoiMUPOlr','relation','child:template','Lt8IUldw7d7H',2,'2018-08-29T17:26:48.714Z','2018-08-29T17:26:48.714Z',0,'x7h9ty9Ba2',0); | ||||
| INSERT INTO attributes VALUES('fpbatIuJE1a5','Iha4YwchR413','label','dateNote','2017-12-21',0,'2018-08-29T10:54:11.560Z','2018-08-29T10:55:02.740Z',0,'+XTEkYlpvF',0); | ||||
| INSERT INTO attributes VALUES('ZgqCVhuTO3C6','Iha4YwchR413','relation','template','Lt8IUldw7d7H',1,'2018-08-29T17:27:04.139Z','2018-08-29T17:27:04.139Z',0,'2BaPFmr3ug',0); | ||||
| INSERT INTO attributes VALUES('tWMT7ukJwwQy','MG0wntwILQW6','label','dateNote','2017-12-22',0,'2018-08-29T10:54:54.959Z','2018-08-29T10:54:54.959Z',0,'ApbCv7exkj',0); | ||||
| INSERT INTO attributes VALUES('XHzaztChYyx4','MG0wntwILQW6','relation','template','Lt8IUldw7d7H',1,'2018-08-29T17:27:21.763Z','2018-08-29T17:27:21.763Z',0,'v0KSL22+Eo',0); | ||||
| INSERT INTO attributes VALUES('5cvnf0PsN3id','tX80udgxnW5n','relation','template','Lt8IUldw7d7H',0,'2018-08-29T17:29:24.575Z','2018-08-29T17:29:24.575Z',0,'6L62Rt1ejL',0); | ||||
| INSERT INTO attributes VALUES('7UPbae4hkikm','tX80udgxnW5n','label','dateNote','2017-12-18',1,'2018-08-29T17:30:19.926Z','2018-08-29T17:30:19.926Z',0,'KtRpvYjniC',0); | ||||
| INSERT INTO attributes VALUES('epyMNWR2avA9','cwPuYRAGKtUi','relation','template','Lt8IUldw7d7H',0,'2018-08-29T17:29:16.650Z','2018-08-29T17:29:16.650Z',0,'NLYu4DPer2',0); | ||||
| INSERT INTO attributes VALUES('93zAKNkRBxjN','cwPuYRAGKtUi','label','dateNote','2017-12-19',1,'2018-08-29T17:30:28.732Z','2018-08-29T17:30:28.732Z',0,'7wIkRCgM05',0); | ||||
| INSERT INTO attributes VALUES('L2F19EaI9bOZ','1Fi3MpUkZkLk','relation','template','Lt8IUldw7d7H',0,'2018-08-29T17:29:02.051Z','2018-08-29T17:29:02.051Z',0,'Nu8wfSkKSt',0); | ||||
| INSERT INTO attributes VALUES('id69I9N34M1O','1Fi3MpUkZkLk','label','dateNote','2017-12-20',1,'2018-08-29T17:30:54.265Z','2018-08-29T17:30:54.265Z',0,'hQ9mpr1Rd5',0); | ||||
| INSERT INTO attributes VALUES('h0git26ZEGDy','rUsGgtpohm7T','relation','template','Lt8IUldw7d7H',0,'2018-08-29T17:29:32.966Z','2018-08-29T17:29:32.966Z',0,'CNQTOtg9ZJ',0); | ||||
| INSERT INTO attributes VALUES('mcqG8yBYNxTo','rUsGgtpohm7T','label','dateNote','2017-12-23',1,'2018-08-29T17:31:06.444Z','2018-08-29T17:31:06.444Z',0,'BdarwYoBuQ',0); | ||||
| INSERT INTO attributes VALUES('KtkikXf0X9nc','sXti7HgialF2','relation','template','Lt8IUldw7d7H',0,'2018-08-29T17:29:43.173Z','2018-08-29T17:29:43.173Z',0,'iFuRC25cyS',0); | ||||
| INSERT INTO attributes VALUES('3LO087cn7L37','sXti7HgialF2','label','dateNote','2017-12-24',1,'2018-08-29T17:31:14.645Z','2018-08-29T17:31:14.645Z',0,'U2d5WjCqq4',0); | ||||
| INSERT INTO attributes VALUES('tgeFjZXxRCVr','cwPuYRAGKtUi','label','weight','75.4',2,'2018-08-29T17:32:04.330Z','2018-08-29T17:32:04.330Z',0,'1qYNDu4uln',0); | ||||
| INSERT INTO attributes VALUES('QkQATsOfaiZ2','1Fi3MpUkZkLk','label','weight','75.2',2,'2018-08-29T17:32:08.910Z','2018-08-29T17:32:08.910Z',0,'ildTmrBJED',0); | ||||
| INSERT INTO attributes VALUES('cjrMaMByU8d7','Iha4YwchR413','label','weight','76',2,'2018-08-29T17:32:13.915Z','2018-08-29T17:32:13.915Z',0,'PSxYyr9giQ',0); | ||||
| INSERT INTO attributes VALUES('06pEZahjSI3k','sXti7HgialF2','label','weight','76.1',2,'2018-08-29T17:32:36.358Z','2018-08-29T17:32:36.358Z',0,'d2oQY/Lj1b',0); | ||||
| INSERT INTO attributes VALUES('VdwPmuaTpT0T','MG0wntwILQW6','label','weight','75.9',2,'2018-08-29T17:32:18.592Z','2018-08-29T17:42:14.520Z',0,'tjceaSy8hu',0); | ||||
| INSERT INTO attributes VALUES('bPDbyj7wXvma','rUsGgtpohm7T','label','weight','75.6',2,'2018-08-29T17:32:24.677Z','2018-08-29T17:46:17.548Z',0,'uicNUs05DG',0); | ||||
| INSERT INTO attributes VALUES('T9S7wfp2FvFV','uP3V8BqwXC05','label','task','',1,'2018-08-29T19:42:32.724Z','2018-08-29T19:42:32.724Z',0,'1I/LdG1tOp',0); | ||||
| INSERT INTO attributes VALUES('Rlvwcmprsvq5','uP3V8BqwXC05','relation','template','HbtlYiMvmm4V',2,'2018-08-29T19:42:32.731Z','2018-08-29T19:42:32.731Z',0,'OzTsnqPj78',0); | ||||
| INSERT INTO attributes VALUES('K6edZDy1VBTi','uP3V8BqwXC05','label','location','tesco',3,'2018-08-29T19:42:47.815Z','2018-08-29T19:42:47.815Z',0,'kevp3B5qMM',0); | ||||
| INSERT INTO attributes VALUES('LTGKKLNRYSM6','Z4CC9azzMNhg','label','taskLocationNote','tesco',1,'2018-08-29T19:42:47.863Z','2018-08-29T19:42:47.863Z',0,'VXA4YOEPpK',0); | ||||
| INSERT INTO attributes VALUES('J0g9ODCjbAOD','uP3V8BqwXC05','label','cssClass','todo',4,'2018-08-29T19:42:47.875Z','2018-08-29T19:42:47.875Z',0,'0mfYyV3m0Y',0); | ||||
| INSERT INTO attributes VALUES('OmZAhWAt2bIe','uP3V8BqwXC05','label','tag','groceries',5,'2018-08-29T19:42:51.115Z','2018-08-29T19:42:51.115Z',0,'9CP3TeprnT',0); | ||||
| INSERT INTO attributes VALUES('n2RHZ8Sl0lQF','q6A62bZE2R1r','label','taskTagNote','groceries',1,'2018-08-29T19:42:51.152Z','2018-08-29T19:42:51.152Z',0,'ke/5NXvA5v',0); | ||||
| INSERT INTO attributes VALUES('ch6YD8XTrUr5','XoLNnnlwdjBi','label','task','',1,'2018-08-29T19:43:06.412Z','2018-08-29T19:43:06.412Z',0,'jQHXfhklXB',0); | ||||
| INSERT INTO attributes VALUES('TZkneA5u23Kw','XoLNnnlwdjBi','relation','template','HbtlYiMvmm4V',2,'2018-08-29T19:43:06.432Z','2018-08-29T19:43:06.432Z',0,'0ePfOmtYfE',0); | ||||
| INSERT INTO attributes VALUES('4TPlivzsoHPv','XoLNnnlwdjBi','label','location','mall',3,'2018-08-29T19:43:40.276Z','2018-08-29T19:43:40.276Z',0,'vh+2pYyK3U',0); | ||||
| INSERT INTO attributes VALUES('FMUuvj9EqQaH','tQmqkQOMHgQJ','label','taskLocationNote','mall',1,'2018-08-29T19:43:40.327Z','2018-08-29T19:43:40.327Z',0,'BN9MF6o9qm',0); | ||||
| INSERT INTO attributes VALUES('axCS9DyjSRmo','XoLNnnlwdjBi','label','cssClass','todo',4,'2018-08-29T19:43:40.339Z','2018-08-29T19:43:40.339Z',0,'HLfCqLKAbE',0); | ||||
| INSERT INTO attributes VALUES('FPm7iK5b179Z','XoLNnnlwdjBi','label','tag','christmas',5,'2018-08-29T19:43:43.973Z','2018-08-29T19:43:43.973Z',0,'LSaUBtMo8z',0); | ||||
| INSERT INTO attributes VALUES('Li7MCkVJwtoe','Lom0LEnCes1l','label','taskTagNote','christmas',1,'2018-08-29T19:43:44.030Z','2018-08-29T19:43:44.030Z',0,'3yDGaK13Ey',0); | ||||
| INSERT INTO attributes VALUES('7hNexvifrZ9F','XoLNnnlwdjBi','label','todoDate','2017-12-20',6,'2018-08-29T19:43:50.837Z','2018-08-29T19:43:50.837Z',0,'+nJtkDbMMG',0); | ||||
| INSERT INTO attributes VALUES('OllsfdAN2wCw','prjUbW6QtsL4','label','task','',1,'2018-08-29T19:46:42.152Z','2018-08-29T19:46:42.152Z',0,'TCfgA6DVBv',0); | ||||
| INSERT INTO attributes VALUES('VjUlZR2yv2Vs','prjUbW6QtsL4','relation','template','HbtlYiMvmm4V',2,'2018-08-29T19:46:42.158Z','2018-08-29T19:46:42.158Z',0,'eFW+ARGCQN',0); | ||||
| INSERT INTO attributes VALUES('PwkDmazJTPAM','prjUbW6QtsL4','label','cssClass','done',6,'2018-08-29T19:48:00.986Z','2018-08-29T19:48:00.986Z',0,'JQ5wGmAqdM',0); | ||||
| INSERT INTO attributes VALUES('Q3u9O4u2utP3','prjUbW6QtsL4','label','location','mall',7,'2018-08-29T19:49:13.815Z','2018-08-29T19:49:13.816Z',0,'JkBPyNcdpA',0); | ||||
| INSERT INTO attributes VALUES('SMyP8V9L8vBj','prjUbW6QtsL4','label','tag','christmas',8,'2018-08-29T19:49:35.716Z','2018-08-29T19:49:35.717Z',0,'polIDXvbFh',0); | ||||
| INSERT INTO attributes VALUES('T2HBEaDedUkK','EluAg7EiealE','label','task','',1,'2018-08-29T19:53:44.535Z','2018-08-29T19:53:44.535Z',0,'qLcD7/Sxu/',0); | ||||
| INSERT INTO attributes VALUES('uXxiBvaawSxB','EluAg7EiealE','relation','template','HbtlYiMvmm4V',2,'2018-08-29T19:53:44.545Z','2018-08-29T19:53:44.546Z',0,'LYDxqtQ0oj',0); | ||||
| INSERT INTO attributes VALUES('rPKq1auqgjne','EluAg7EiealE','label','location','gym',3,'2018-08-29T19:54:19.526Z','2018-08-29T19:54:19.527Z',0,'3D6MY7txSx',0); | ||||
| INSERT INTO attributes VALUES('OlQapDHmPsvE','vkoNZlNO5TO4','label','taskLocationNote','gym',1,'2018-08-29T19:54:19.623Z','2018-08-29T19:54:19.624Z',0,'JjIloRX8Lj',0); | ||||
| INSERT INTO attributes VALUES('isgI18Da7raL','EluAg7EiealE','label','cssClass','todo',4,'2018-08-29T19:54:19.645Z','2018-08-29T19:54:19.645Z',0,'oSAy7WDTd/',0); | ||||
| INSERT INTO attributes VALUES('bueAaBOZaPR1','EluAg7EiealE','label','todoDate','2017-12-28',5,'2018-08-29T19:54:38.485Z','2018-08-29T19:55:04.592Z',0,'h8K/66xrrB',0); | ||||
| INSERT INTO attributes VALUES('o9VzDlKJm2Wv','cUWgYJfpp8G8','relation','template','Lt8IUldw7d7H',2,'2018-08-29T19:55:04.668Z','2018-08-29T19:55:04.668Z',0,'mU4NSX5SfY',0); | ||||
| INSERT INTO attributes VALUES('aAAKUP8Xzk84','cUWgYJfpp8G8','label','dateNote','2017-12-28',3,'2018-08-29T19:55:04.681Z','2018-08-29T19:55:04.681Z',0,'KkDCxAsM5x',0); | ||||
| INSERT INTO attributes VALUES('Ts6QDZqcbOWK','cmYy3Z22F4MY','label','task','',1,'2018-08-29T19:56:35.634Z','2018-08-29T19:56:35.634Z',0,'9XyxVqr+mR',0); | ||||
| INSERT INTO attributes VALUES('mi8JlZzzDMvf','cmYy3Z22F4MY','relation','template','HbtlYiMvmm4V',2,'2018-08-29T19:56:35.640Z','2018-08-29T19:56:35.640Z',0,'l8tpnd26SZ',0); | ||||
| INSERT INTO attributes VALUES('xCrm8cWEAERo','cmYy3Z22F4MY','label','tag','health',3,'2018-08-29T19:57:02.217Z','2018-08-29T19:57:02.218Z',0,'gkz91AYO7M',0); | ||||
| INSERT INTO attributes VALUES('EQgv8jgBGDeO','2V9Zg9CXdNvn','label','taskTagNote','health',1,'2018-08-29T19:57:02.276Z','2018-08-29T19:57:02.276Z',0,'T1LboUFYwM',0); | ||||
| INSERT INTO attributes VALUES('2CLl7F07nrUX','cmYy3Z22F4MY','label','cssClass','done',7,'2018-08-29T19:57:11.866Z','2018-08-29T19:57:11.866Z',0,'U+xrckPbD4',0); | ||||
| INSERT INTO attributes VALUES('L8QbHBtuWocN','cmYy3Z22F4MY','label','todoDate','2017-12-19',5,'2018-08-29T19:57:09.347Z','2018-08-29T19:57:33.998Z',0,'P+niQLnqtT',0); | ||||
| INSERT INTO attributes VALUES('HWw4Q01cb9Re','cmYy3Z22F4MY','label','doneDate','2017-12-19',6,'2018-08-29T19:57:11.798Z','2018-08-29T19:57:39.255Z',0,'jGSCX/QklX',0); | ||||
| INSERT INTO attributes VALUES('qwtBFzh0wmpe','XoLNnnlwdjBi','label','tag','shopping',7,'2018-08-29T19:58:59.083Z','2018-08-29T19:58:59.084Z',0,'Hw2zrl2NtD',0); | ||||
| INSERT INTO attributes VALUES('AX3w15mAFRoB','d04CnuZxPXj2','label','taskTagNote','shopping',1,'2018-08-29T19:58:59.142Z','2018-08-29T19:58:59.142Z',0,'e0BBJ30IQ1',0); | ||||
| INSERT INTO attributes VALUES('1cermfHB24bp','ve3Ib30x9nGf','label','task','',1,'2018-08-29T19:59:04.352Z','2018-08-29T19:59:04.352Z',0,'vFv8J/h5qJ',0); | ||||
| INSERT INTO attributes VALUES('QlSQJcHlt3ZQ','ve3Ib30x9nGf','relation','template','HbtlYiMvmm4V',2,'2018-08-29T19:59:04.359Z','2018-08-29T19:59:04.360Z',0,'263XZD0Xpd',0); | ||||
| INSERT INTO attributes VALUES('UPvlXSBXxRJv','ve3Ib30x9nGf','label','location','work',3,'2018-08-29T19:59:38.832Z','2018-08-29T19:59:38.832Z',0,'GufZy7QNVn',0); | ||||
| INSERT INTO attributes VALUES('YngESU7G6T62','TTl2nD4CqzC9','label','taskLocationNote','work',1,'2018-08-29T19:59:38.890Z','2018-08-29T19:59:38.890Z',0,'FTH7CxVaB1',0); | ||||
| INSERT INTO attributes VALUES('PEbrAcRaFOXE','ve3Ib30x9nGf','label','cssClass','todo',4,'2018-08-29T19:59:38.915Z','2018-08-29T19:59:38.915Z',0,'Xepyx9jFGP',0); | ||||
| INSERT INTO attributes VALUES('cdSIp3FJ50vX','ve3Ib30x9nGf','label','todoDate','2017-12-18',5,'2018-08-29T19:59:46.829Z','2018-08-29T20:00:18.351Z',0,'TWZfKhjpe3',0); | ||||
| INSERT INTO attributes VALUES('TZa1McDCnNHj','uP3V8BqwXC05','label','tag','shopping',7,'2018-08-29T20:01:47.691Z','2018-08-29T20:01:47.691Z',0,'kH6CGtIT/r',0); | ||||
| INSERT INTO attributes VALUES('kNp0J9uXoC8U','tX80udgxnW5n','label','weight','74.9',2,'2018-08-29T17:31:58.692Z','2018-08-29T21:30:23.669Z',0,'xagvtLz48G',0); | ||||
| INSERT INTO attributes VALUES('0F9G0OQujXVO','prjUbW6QtsL4','label','tag','shopping',9,'2018-08-30T07:54:40.727Z','2018-08-30T07:54:40.728Z',0,'XyCvk4htB5',0); | ||||
| INSERT INTO attributes VALUES('yc58HTwoM3b0','prjUbW6QtsL4','label','todoDate','2017-12-20',3,'2018-08-29T19:47:53.123Z','2018-08-30T07:56:53.874Z',0,'UnKvGyVk7X',0); | ||||
| INSERT INTO attributes VALUES('JVlFEQPYUiCR','prjUbW6QtsL4','label','doneDate','2017-12-24',5,'2018-08-29T19:48:00.928Z','2018-08-30T07:57:00.569Z',0,'nbXCZOrqq6',0); | ||||
| INSERT INTO attributes VALUES('01UuzuSR78Kj','uP3V8BqwXC05','label','todoDate','2017-12-24',6,'2018-08-29T19:43:01.973Z','2018-08-30T08:04:55.301Z',0,'tDEAzDOKYn',0); | ||||
| INSERT INTO attributes VALUES('cyujybJzh4It','HbtlYiMvmm4V','relation','runOnAttributeChange','gYVdjKAJeImD',0,'2018-08-28T20:50:48.640Z','2018-08-28T20:50:48.640Z',0,'6ziRrHJAhQ',1); | ||||
| INSERT INTO attributes VALUES('MEr8Y48B5fuA','HbtlYiMvmm4V','label-definition','location','{"isPromoted":true,"labelType":"text","multiplicityType":"singlevalue"}',1,'2018-08-28T20:50:48.652Z','2018-08-28T20:50:48.652Z',0,'SHKsaKOZDy',1); | ||||
| INSERT INTO attributes VALUES('0zEib333MHaK','HbtlYiMvmm4V','label-definition','tag','{"isPromoted":true,"labelType":"text","multiplicityType":"multivalue"}',2,'2018-08-28T20:50:48.661Z','2018-08-28T20:50:48.661Z',0,'qGaGNt4Il4',1); | ||||
| INSERT INTO attributes VALUES('XsQlrpkI26vx','HbtlYiMvmm4V','label-definition','todoDate','{"isPromoted":true,"labelType":"date","multiplicityType":"singlevalue"}',3,'2018-08-28T20:50:48.707Z','2018-08-28T20:50:48.708Z',0,'K1zIHbXWjg',1); | ||||
| INSERT INTO attributes VALUES('jbVAxy9rOvw7','HbtlYiMvmm4V','label-definition','doneDate','{"isPromoted":true,"labelType":"date","multiplicityType":"singlevalue"}',4,'2018-08-28T20:50:48.716Z','2018-08-28T20:50:48.717Z',0,'ibiT2W04+I',1); | ||||
| INSERT INTO attributes VALUES('0p8vtV5LoH0e','L9qettZi0csz','label','taskTodoRoot','',0,'2018-08-28T20:50:48.596Z','2018-08-28T20:50:48.596Z',0,'mKdjsJRSwv',0); | ||||
| INSERT INTO attributes VALUES('lCyxJnXmNy5x','L9qettZi0csz','label','child:task','',1,'2018-08-28T21:11:09.138Z','2018-08-28T21:11:09.138Z',0,'EarSd1tApi',0); | ||||
| INSERT INTO attributes VALUES('ifqAReEYdFh6','L9qettZi0csz','relation','child:template','HbtlYiMvmm4V',2,'2018-08-28T21:11:09.143Z','2018-08-28T21:11:09.143Z',0,'JXcAyc3in4',0); | ||||
| INSERT INTO attributes VALUES('1hmYf4fJQmBk','L9qettZi0csz','label','child:cssClass','todo',3,'2018-09-01T11:20:29.168Z','2018-09-01T11:20:29.168Z',0,'toS3GWHG/9',0); | ||||
| INSERT INTO attributes VALUES('rZBWHIojcLGl','7YEYLSrnFpIi','label','run','frontendStartup',0,'2018-09-10T22:00:30.600Z','2018-09-10T22:00:30.600Z',0,'Z+589x5RRa',0); | ||||
| @@ -1,129 +0,0 @@ | ||||
| INSERT INTO branches VALUES('root','root','none',0,NULL,1,0,'2018-01-01T00:00:00.000Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('dLgtLUFn3GoN','1Heh2acXfPNt','root',21,NULL,1,0,'2017-12-23T00:46:39.304Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('QLfS835GSfIh','3RkyK9LI18dO','1Heh2acXfPNt',5,NULL,1,0,'2017-12-23T01:20:04.181Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('wLTa2l3lYi83','HJusZTbBU494','3RkyK9LI18dO',1,NULL,1,0,'2017-12-23T01:20:50.709Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('jvhKcwz4pYTr','ZC78NlmdXeC6','WdWZFuWNVDZk',0,NULL,1,0,'2017-12-23T04:06:21.579Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('CarTrwkGVcPz','NncfGH8dyNjJ','WdWZFuWNVDZk',1,NULL,1,0,'2017-12-23T04:06:24.012Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('6M7qPlr7at6N','eouCLkjbruai','NncfGH8dyNjJ',0,NULL,0,0,'2017-12-23T01:23:28.291Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('tQgognnAH9WI','C44aq4mkaX67','NncfGH8dyNjJ',1,NULL,0,0,'2017-12-23T01:23:31.879Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('xyAi7MmgvAgR','C44aq4mkaX67','ZC78NlmdXeC6',1,NULL,1,0,'2017-12-23T01:23:47.756Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('xQ3fjRp9yaPq','I6Cw88AirBBl','C44aq4mkaX67',0,NULL,0,0,'2017-12-23T01:24:04.681Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('2GOsNT5LsvTP','mcEwFMSjhlvL','C44aq4mkaX67',1,NULL,0,0,'2017-12-23T01:29:35.974Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('RxUiraiR655R','CF2lUIJAr6Ey','NncfGH8dyNjJ',2,NULL,0,0,'2017-12-23T01:34:37.658Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('mZuSrZ18Zmv0','xkXwueRoDNeN','MG0wntwILQW6',0,NULL,0,0,'2017-12-23T01:35:40.306Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('hbcWTnEnXPwF','eXHZAKsMYgur','1Heh2acXfPNt',9,NULL,0,0,'2017-12-23T03:32:42.868Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('8a3aNxjG0nu7','2WU27ekfy07E','eXHZAKsMYgur',0,NULL,0,0,'2017-12-23T03:32:49.379Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('4Tu6vaPdCxCM','TjWEndYCCg7g','eXHZAKsMYgur',1,NULL,1,0,'2017-12-23T03:33:23.584Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('lBPOmhP12egP','8nRNDJGyGs2Z','TjWEndYCCg7g',0,NULL,1,0,'2017-12-23T03:33:37.327Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('C5ipVqeDWySp','9zSwD89vgzNO','8nRNDJGyGs2Z',0,NULL,0,0,'2017-12-23T03:37:04.912Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('uSitzbGcSATJ','u5t1EvWa3CMO','TjWEndYCCg7g',1,NULL,0,0,'2017-12-23T03:39:21.918Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('GZ6aRI8rdSJt','8nRNDJGyGs2Z','MG0wntwILQW6',1,'',1,0,'2017-12-23T03:42:28.310Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('uipfvAfwWRgx','6ZuXjCSWgjB4','HJusZTbBU494',0,NULL,0,0,'2017-12-23T03:44:54.096Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('nMRpPWWH8WRk','GpGnjmcAPeWG','6ZuXjCSWgjB4',1,NULL,0,0,'2017-12-23T03:44:57.036Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('c4wt27WNjepw','21K84UqGhqlt','GpGnjmcAPeWG',0,NULL,0,0,'2017-12-23T03:45:10.933Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('d8L8zYlLTbym','R6pheWjdwmNU','rz5t0r9Qr2WC',0,NULL,0,0,'2017-12-23T03:45:28.002Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('T4USGzfllu5t','5v5Dx6LMHXIO','Iha4YwchR413',0,NULL,0,0,'2017-12-23T03:45:44.184Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('c4JgFNIobvQW','MLQjmREtcnJ3','R6pheWjdwmNU',0,NULL,0,0,'2017-12-23T03:47:48.208Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('nfWjptAU2ZDg','pTTjrxgnvURB','R6pheWjdwmNU',1,NULL,0,0,'2017-12-23T03:47:55.932Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('T2ToYBfyPy0g','cFK9sGYZaMWs','rz5t0r9Qr2WC',1,NULL,0,0,'2017-12-23T03:49:32.210Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('NG4gbKOnsM3v','21K84UqGhqlt','MLQjmREtcnJ3',0,'28. 11. 2017',0,0,'2017-12-23T03:53:38.110Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('Fstg4tkccO4N','5v5Dx6LMHXIO','MLQjmREtcnJ3',1,'21. 12. 2017',0,0,'2017-12-23T03:53:49.737Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('MN8B7qXDUViO','xkXwueRoDNeN','MLQjmREtcnJ3',2,'22. 12. 2017',0,0,'2017-12-23T03:53:57.486Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('gSRkHpB7Bu3D','pOFVzbXLmzhX','R6pheWjdwmNU',2,NULL,0,0,'2017-12-23T03:54:46.138Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('6brdjeWDOB6w','0xtvjqrcGiRB','ZC78NlmdXeC6',0,NULL,0,0,'2017-12-23T04:02:06.650Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('AqKUM2zUVFUF','Zl69uXBSen0w','ZC78NlmdXeC6',2,NULL,1,0,'2017-12-23T04:02:16.685Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('Ez7NN2WVzRc4','62BKAQMVP2KW','Zl69uXBSen0w',1,NULL,0,0,'2017-12-23T04:02:39.164Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('t3vVElqMIQVa','h4OfLEAYspud','WdWZFuWNVDZk',2,NULL,1,0,'2017-12-23T04:06:25.769Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('O983DHtLpgmr','1hASbLRDL7oo','h4OfLEAYspud',0,NULL,0,0,'2017-12-23T16:42:26.347Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('RsvL795Mk1bp','1hASbLRDL7oo','GpGnjmcAPeWG',1,'',0,0,'2017-12-23T04:04:56.830Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('79e4hrHLFmx6','jyqG9GucsMdn','Iha4YwchR413',1,NULL,0,0,'2017-12-23T04:05:16.439Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('oWO8rctUjf7d','WdWZFuWNVDZk','1Heh2acXfPNt',13,NULL,0,0,'2017-12-23T04:06:16.179Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('GOxcrZrxalFN','yK4SBJfwD3tY','1Heh2acXfPNt',18,NULL,0,0,'2017-12-23T04:06:32.833Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('bSPmEvjLzQKU','r4BnsmSQeVr1','yK4SBJfwD3tY',0,NULL,0,0,'2017-12-23T04:06:37.427Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('bMtxCD6cwNR9','QbL3pTvhgzM8','yK4SBJfwD3tY',2,NULL,0,0,'2017-12-23T04:06:43.841Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('o4ycR7xIi4oI','moMbTKwN15Ps','yK4SBJfwD3tY',3,NULL,1,0,'2017-12-23T04:06:49.331Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('abTEhnOsAsSg','PEGQGg0In3Ar','GpGnjmcAPeWG',2,NULL,0,0,'2017-12-23T16:44:35.900Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('ccslPJf3wQV3','vBv6ovBupfTj','IlULcDiOTI4K',0,NULL,0,0,'2017-12-23T18:04:50.904Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('5Dt9YCMn59sY','mw4f2xB4J5fV','IlULcDiOTI4K',1,NULL,0,0,'2017-12-23T18:05:24.868Z','','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('Qwj5gpLainnP','N029F9ANGn8b','Dk5RGYzufXg3',0,NULL,0,0,'2018-08-28T20:50:22.011Z','gziRGab1sT','2018-08-28T20:50:22.011Z'); | ||||
| INSERT INTO branches VALUES('gslGsoDESZjG','bFTtwsnNgw9T','Dk5RGYzufXg3',1,NULL,0,0,'2018-08-28T20:50:22.110Z','ZcNPsaKsw8','2018-08-28T20:50:22.110Z'); | ||||
| INSERT INTO branches VALUES('aP3f70xCJWGs','N029F9ANGn8b','bFTtwsnNgw9T',0,NULL,NULL,0,'2018-08-28T20:50:22.117Z','ZvcZgDrutn','2018-08-28T20:50:22.117Z'); | ||||
| INSERT INTO branches VALUES('WlpZMMsXlQJw','wHb2YBwhjxiD','YULCKCrWJJZ6',0,NULL,0,0,'2018-08-28T20:50:22.181Z','cBicKleFbl','2018-08-28T20:50:22.181Z'); | ||||
| INSERT INTO branches VALUES('jyFk0k855gf1','cUYFEvsdY6N6','YULCKCrWJJZ6',1,NULL,0,0,'2018-08-28T20:50:22.187Z','BC+PIh5h25','2018-08-28T20:50:22.186Z'); | ||||
| INSERT INTO branches VALUES('O7hcbDc4taan','8APXN4n4Hnb8','YULCKCrWJJZ6',2,NULL,0,0,'2018-08-28T20:50:22.192Z','ubas1i1Xzz','2018-08-28T20:50:22.192Z'); | ||||
| INSERT INTO branches VALUES('hmtcxz6dMz9S','s0Hhsl0nb1bg','YULCKCrWJJZ6',3,NULL,0,0,'2018-08-28T20:50:22.197Z','sRmlG1Gqe3','2018-08-28T20:50:22.197Z'); | ||||
| INSERT INTO branches VALUES('W0tZAcTC0dGY','baafKkgNGYLm','YULCKCrWJJZ6',4,NULL,0,0,'2018-08-28T20:50:22.204Z','/Y9ycmu78F','2018-08-28T20:50:22.204Z'); | ||||
| INSERT INTO branches VALUES('t0PqYe7oEZQg','Ab7WuV47mQOf','YULCKCrWJJZ6',5,NULL,0,0,'2018-08-28T20:50:22.210Z','NznnppTEIe','2018-08-28T20:50:22.210Z'); | ||||
| INSERT INTO branches VALUES('7cOKBWmaN1kw','w7t110kWsK8e','YULCKCrWJJZ6',6,NULL,0,0,'2018-08-28T20:50:22.215Z','VxtbCyFURt','2018-08-28T20:50:22.215Z'); | ||||
| INSERT INTO branches VALUES('3bIvCk23JeXJ','at7bZyjJfIrM','YULCKCrWJJZ6',7,NULL,0,0,'2018-08-28T20:50:22.220Z','lH/8HHwLB1','2018-08-28T20:50:22.220Z'); | ||||
| INSERT INTO branches VALUES('vWch9vHEIsKw','OZKicr536m7U','YULCKCrWJJZ6',8,NULL,0,0,'2018-08-28T20:50:22.225Z','FldZuyxiDN','2018-08-28T20:50:22.225Z'); | ||||
| INSERT INTO branches VALUES('p07f522OT9FP','oato1D7kuNU2','YULCKCrWJJZ6',9,NULL,0,0,'2018-08-28T20:50:22.231Z','LQlWJmL3RR','2018-08-28T20:50:22.231Z'); | ||||
| INSERT INTO branches VALUES('03YszmiIfe8B','C1I7GPA8ORO4','YULCKCrWJJZ6',10,NULL,0,0,'2018-08-28T20:50:22.236Z','uNgEmMMv59','2018-08-28T20:50:22.236Z'); | ||||
| INSERT INTO branches VALUES('iZJMJE9v4caq','gQNQaMBzRYdb','YULCKCrWJJZ6',11,NULL,0,0,'2018-08-28T20:50:22.242Z','OIMswfv8u0','2018-08-28T20:50:22.242Z'); | ||||
| INSERT INTO branches VALUES('BgakZWX2NSoa','8LOr7xUMuWD4','1Heh2acXfPNt',24,NULL,0,0,'2018-08-28T20:50:36.080Z','l6e868XpLw','2018-08-28T20:50:36.079Z'); | ||||
| INSERT INTO branches VALUES('6yEXb5xSww7E','qEi5St9PBPCP','8LOr7xUMuWD4',3,NULL,0,0,'2018-08-28T20:50:36.154Z','wiqkXVJhDQ','2018-08-28T20:50:36.154Z'); | ||||
| INSERT INTO branches VALUES('WFBrWWGubT8N','IYKhW6LTUpwP','1Heh2acXfPNt',28,NULL,0,0,'2018-08-28T20:50:48.458Z','KaPAe+LyvC','2018-08-28T20:50:48.458Z'); | ||||
| INSERT INTO branches VALUES('VEq36SudFqDe','L9qettZi0csz','IYKhW6LTUpwP',0,NULL,1,0,'2018-08-28T20:50:48.471Z','74RNaEVH/C','2018-08-28T20:50:48.470Z'); | ||||
| INSERT INTO branches VALUES('cnL65jQZPFng','Dyahpf7LroQY','IYKhW6LTUpwP',2,NULL,1,0,'2018-08-28T20:50:48.481Z','uY3Jzm+34n','2018-08-28T20:50:48.480Z'); | ||||
| INSERT INTO branches VALUES('jj5QAGAl31lB','nUgD4SYx2gt7','IYKhW6LTUpwP',4,NULL,1,0,'2018-08-28T20:50:48.507Z','sxhKcIO0Fo','2018-08-28T20:50:48.507Z'); | ||||
| INSERT INTO branches VALUES('H4uX5U8UA3Fb','hL4rychNFWZs','IYKhW6LTUpwP',6,NULL,1,0,'2018-08-28T20:50:48.539Z','8/KA289XO5','2018-08-28T20:50:48.539Z'); | ||||
| INSERT INTO branches VALUES('r6XUe41mCgPY','gYVdjKAJeImD','hL4rychNFWZs',0,NULL,0,0,'2018-08-28T20:50:48.546Z','B8Zx5cyTRW','2018-08-28T20:50:48.546Z'); | ||||
| INSERT INTO branches VALUES('UPdB517CCSC6','vVhlPtM5YgWe','gYVdjKAJeImD',0,NULL,0,0,'2018-08-28T20:50:48.556Z','Ydd3hXIn5h','2018-08-28T20:50:48.556Z'); | ||||
| INSERT INTO branches VALUES('2lLNmlPp32DT','XVlWndK4Oh6A','hL4rychNFWZs',2,NULL,0,0,'2018-08-28T20:50:48.575Z','7KpHQIqICP','2018-08-28T20:50:48.575Z'); | ||||
| INSERT INTO branches VALUES('8A8Hj2KELLZe','gYNJtGEPGW95','hL4rychNFWZs',3,NULL,0,0,'2018-08-28T20:50:48.583Z','akAZK6+pYC','2018-08-28T20:50:48.583Z'); | ||||
| INSERT INTO branches VALUES('feP0uJpIPOz3','HbtlYiMvmm4V','hL4rychNFWZs',4,NULL,0,0,'2018-08-28T20:50:48.592Z','2hPRviPOvY','2018-08-28T20:50:48.592Z'); | ||||
| INSERT INTO branches VALUES('VgaH4I1fLW0p','Dk5RGYzufXg3','Z5yhGE5g0UB5',0,NULL,1,0,'2018-08-28T20:51:30.388Z','A5p7MjKIdD','2018-08-28T20:50:21.941Z'); | ||||
| INSERT INTO branches VALUES('sOGDHPGhnMoM','YBAcWV8TjYEp','8LOr7xUMuWD4',0,NULL,1,0,'2018-08-28T20:56:04.336Z','e84wqxU8y+','2018-08-28T20:55:00.064Z'); | ||||
| INSERT INTO branches VALUES('Hoq9xTZg8sCK','kV2NwNNvepGF','YBAcWV8TjYEp',0,NULL,1,0,'2018-08-28T20:56:05.910Z','0rORbULibz','2018-08-28T20:50:36.095Z'); | ||||
| INSERT INTO branches VALUES('A56xlTT6rczp','YULCKCrWJJZ6','gDrEI7LFWqrP',0,NULL,1,0,'2018-08-29T16:03:23.987Z','7YCK6Cf3vr','2018-08-28T20:50:22.175Z'); | ||||
| INSERT INTO branches VALUES('5cJwU0VlCJA7','WkdQrYTnsgxP','gDrEI7LFWqrP',1,NULL,0,0,'2018-08-29T16:03:24.889Z','RaGS8TUyuV','2018-08-28T20:50:22.250Z'); | ||||
| INSERT INTO branches VALUES('U4XC6g7oB4ME','Z5yhGE5g0UB5','gDrEI7LFWqrP',2,NULL,1,0,'2018-08-29T16:03:25.779Z','fAkVtlU455','2018-08-28T20:51:10.194Z'); | ||||
| INSERT INTO branches VALUES('bFGrKoCcHTD0','ucC6Zabv3Uml','gDrEI7LFWqrP',3,NULL,0,0,'2018-08-29T16:03:30.624Z','KWGpDGiWrq','2018-08-28T20:50:22.122Z'); | ||||
| INSERT INTO branches VALUES('FIurtaYkU3mn','gDrEI7LFWqrP','1Heh2acXfPNt',26,NULL,0,0,'2018-08-29T16:03:27.894Z','+Jd+Zzgx2u','2018-08-28T20:50:21.931Z'); | ||||
| INSERT INTO branches VALUES('bryQseMhyzaI','IlULcDiOTI4K','1Heh2acXfPNt',2,NULL,0,0,'2018-08-29T17:10:47.987Z','wX6dY3pq/D','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('u84s3tBBB92g','TlGCAdcfxkOT','eXHZAKsMYgur',2,NULL,0,0,'2018-08-29T17:11:16.550Z','Ei4ozqDMWi','2018-08-29T17:11:16.550Z'); | ||||
| INSERT INTO branches VALUES('yMhwsE7uvEij','3oldoiMUPOlr','HJusZTbBU494',1,NULL,1,0,'2018-08-29T17:20:59.012Z','7U4pIRsbwO','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('NTlSXCbgt5Va','Lt8IUldw7d7H','3RkyK9LI18dO',2,NULL,0,0,'2018-08-29T17:23:45.198Z','QjebjIeHUj','2018-08-29T17:23:45.198Z'); | ||||
| INSERT INTO branches VALUES('0fpnraUGs9Kl','rz5t0r9Qr2WC','HJusZTbBU494',2,NULL,1,0,'2018-08-29T17:26:27.928Z','rw9k0n9SUb','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('uMt25KxpV45Y','tX80udgxnW5n','3oldoiMUPOlr',1,NULL,1,0,'2018-08-29T17:29:24.554Z','XlDqz7PX7X','2018-08-29T17:29:24.554Z'); | ||||
| INSERT INTO branches VALUES('IsCUFfM1QzHl','rUsGgtpohm7T','3oldoiMUPOlr',21,NULL,0,0,'2018-08-29T17:29:32.942Z','o8ZNDOfGSB','2018-08-29T17:29:32.942Z'); | ||||
| INSERT INTO branches VALUES('UozNcoXYDovC','sXti7HgialF2','3oldoiMUPOlr',23,NULL,1,0,'2018-08-29T17:29:43.138Z','mDyppB0lkz','2018-08-29T17:29:43.138Z'); | ||||
| INSERT INTO branches VALUES('3B2q1J0jymcC','uP3V8BqwXC05','L9qettZi0csz',0,NULL,0,0,'2018-08-29T19:42:32.718Z','fgHfgNl00Y','2018-08-29T19:42:32.718Z'); | ||||
| INSERT INTO branches VALUES('tznJp79kaw59','Z4CC9azzMNhg','Dyahpf7LroQY',0,NULL,1,0,'2018-08-29T19:42:47.857Z','GPgoswIB8x','2018-08-29T19:42:47.856Z'); | ||||
| INSERT INTO branches VALUES('akqrs7gHmh5t','uP3V8BqwXC05','Z4CC9azzMNhg',0,NULL,0,0,'2018-08-29T19:42:47.872Z','aoLg0gFrd/','2018-08-29T19:42:47.872Z'); | ||||
| INSERT INTO branches VALUES('acVSG5Mau4XN','q6A62bZE2R1r','nUgD4SYx2gt7',2,NULL,0,0,'2018-08-29T19:42:51.139Z','V1TNeMyqD5','2018-08-29T19:42:51.139Z'); | ||||
| INSERT INTO branches VALUES('Gd1QxgTLiOQx','uP3V8BqwXC05','q6A62bZE2R1r',0,NULL,0,0,'2018-08-29T19:42:51.161Z','FC79qQkyC3','2018-08-29T19:42:51.161Z'); | ||||
| INSERT INTO branches VALUES('aCAgcqpOKx7z','XoLNnnlwdjBi','L9qettZi0csz',1,NULL,0,0,'2018-08-29T19:43:06.394Z','5tETh0Khcc','2018-08-29T19:43:06.394Z'); | ||||
| INSERT INTO branches VALUES('ofME2yjEstZT','tQmqkQOMHgQJ','Dyahpf7LroQY',1,NULL,0,0,'2018-08-29T19:43:40.323Z','bRdu27+7TZ','2018-08-29T19:43:40.323Z'); | ||||
| INSERT INTO branches VALUES('LfV9Vuv2KOYi','XoLNnnlwdjBi','tQmqkQOMHgQJ',0,NULL,0,0,'2018-08-29T19:43:40.335Z','blImjibA2C','2018-08-29T19:43:40.334Z'); | ||||
| INSERT INTO branches VALUES('mSyNlVSA6WRX','XoLNnnlwdjBi','Lom0LEnCes1l',0,NULL,0,0,'2018-08-29T19:43:44.040Z','kQy9lC8qmF','2018-08-29T19:43:44.039Z'); | ||||
| INSERT INTO branches VALUES('q735AeBxPj1T','ydix6JqjXiUm','XoLNnnlwdjBi',0,NULL,0,0,'2018-08-29T19:46:03.357Z','5eoW9KyskY','2018-08-29T19:46:03.356Z'); | ||||
| INSERT INTO branches VALUES('fmm6YcEBxv8T','prjUbW6QtsL4','9HHqPxJkLAkl',0,NULL,0,0,'2018-08-29T19:48:00.972Z','JMdLMCDy2J','2018-08-29T19:48:00.972Z'); | ||||
| INSERT INTO branches VALUES('NnybbW5xPPHO','9HHqPxJkLAkl','IYKhW6LTUpwP',1,NULL,1,0,'2018-08-29T19:48:05.277Z','FirAueCkjs','2018-08-28T20:50:48.529Z'); | ||||
| INSERT INTO branches VALUES('Fq4TqKTo93aK','EluAg7EiealE','L9qettZi0csz',2,NULL,0,0,'2018-08-29T19:53:44.530Z','mJCxaZ1mlW','2018-08-29T19:53:44.530Z'); | ||||
| INSERT INTO branches VALUES('2dac99oNkdH3','vkoNZlNO5TO4','Dyahpf7LroQY',2,NULL,0,0,'2018-08-29T19:54:19.618Z','fN3DqnjcUb','2018-08-29T19:54:19.618Z'); | ||||
| INSERT INTO branches VALUES('8aSc0sibmCZm','EluAg7EiealE','vkoNZlNO5TO4',0,NULL,0,0,'2018-08-29T19:54:19.637Z','RpUFzJs2RD','2018-08-29T19:54:19.637Z'); | ||||
| INSERT INTO branches VALUES('uMnwVhwtdXZg','cUWgYJfpp8G8','3oldoiMUPOlr',24,NULL,1,0,'2018-08-29T19:55:04.661Z','ZMEYWKhIhB','2018-08-29T19:55:04.661Z'); | ||||
| INSERT INTO branches VALUES('kS7GsSvztE1J','EluAg7EiealE','cUWgYJfpp8G8',0,'TODO',NULL,0,'2018-08-29T19:55:04.691Z','72zbNyyFRw','2018-08-29T19:54:38.626Z'); | ||||
| INSERT INTO branches VALUES('EjQTcVVHFmmZ','MG0wntwILQW6','3oldoiMUPOlr',19,NULL,0,0,'2018-08-29T19:55:53.824Z','bx2z9074Vi','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('HsN4600rQoL9','Iha4YwchR413','3oldoiMUPOlr',17,NULL,1,0,'2018-08-29T17:26:52.528Z','GBlVZxHhto','1970-01-01T00:00:00.000Z'); | ||||
| INSERT INTO branches VALUES('fQ2BsgDWdqoE','1Fi3MpUkZkLk','3oldoiMUPOlr',16,NULL,1,0,'2018-08-29T19:56:00.793Z','tk6763xjRL','2018-08-29T17:29:02.035Z'); | ||||
| INSERT INTO branches VALUES('Sv77hHzVZvdw','cwPuYRAGKtUi','3oldoiMUPOlr',2,NULL,1,0,'2018-08-29T19:56:04.404Z','Uwn3W1Q8py','2018-08-29T17:29:16.635Z'); | ||||
| INSERT INTO branches VALUES('kPZLi2VKVjQ1','2V9Zg9CXdNvn','nUgD4SYx2gt7',6,NULL,0,0,'2018-08-29T19:57:02.270Z','v0dB+4MnXy','2018-08-29T19:57:02.270Z'); | ||||
| INSERT INTO branches VALUES('9nEK1jBKqdL7','cmYy3Z22F4MY','9HHqPxJkLAkl',1,NULL,0,0,'2018-08-29T19:57:11.828Z','P7AvZh6VlN','2018-08-29T19:57:11.828Z'); | ||||
| INSERT INTO branches VALUES('HVvl5lR3Db7p','cmYy3Z22F4MY','cwPuYRAGKtUi',1,'DONE',NULL,0,'2018-08-29T19:57:39.314Z','dZK0rWy9IN','2018-08-29T19:57:11.876Z'); | ||||
| INSERT INTO branches VALUES('bPQksNkJmvLR','XoLNnnlwdjBi','d04CnuZxPXj2',0,NULL,0,0,'2018-08-29T19:58:59.150Z','bMHPa6tOOV','2018-08-29T19:58:59.150Z'); | ||||
| INSERT INTO branches VALUES('eoWt4fWm0sW3','XoLNnnlwdjBi','1Fi3MpUkZkLk',0,'TODO',NULL,0,'2018-08-29T19:43:50.887Z','Dq9p08n0+S','2018-08-29T19:43:50.887Z'); | ||||
| INSERT INTO branches VALUES('lMn7U8E3HcM8','ve3Ib30x9nGf','L9qettZi0csz',3,NULL,0,0,'2018-08-29T19:59:04.336Z','9uxcfSBqQm','2018-08-29T19:59:04.336Z'); | ||||
| INSERT INTO branches VALUES('No0w47P6V5NU','TTl2nD4CqzC9','Dyahpf7LroQY',3,NULL,0,0,'2018-08-29T19:59:38.884Z','Po5wJqpzvR','2018-08-29T19:59:38.884Z'); | ||||
| INSERT INTO branches VALUES('0TOuqT1KIYRZ','ve3Ib30x9nGf','TTl2nD4CqzC9',0,NULL,0,0,'2018-08-29T19:59:38.901Z','jjfsd5sCg4','2018-08-29T19:59:38.901Z'); | ||||
| INSERT INTO branches VALUES('5dNoZxDbyGLR','ve3Ib30x9nGf','tX80udgxnW5n',0,'TODO',NULL,0,'2018-08-29T20:00:18.428Z','YrUH6cdlZO','2018-08-29T19:59:47.032Z'); | ||||
| INSERT INTO branches VALUES('mTe83gvO9fsQ','uP3V8BqwXC05','d04CnuZxPXj2',1,NULL,0,0,'2018-08-29T20:01:47.773Z','2uPfZok3xo','2018-08-29T20:01:47.772Z'); | ||||
| INSERT INTO branches VALUES('DzI3pH06LRAK','7H3OrcgB8Io6','tX80udgxnW5n',1,NULL,0,0,'2018-08-29T21:26:55.817Z','TQATDSthxP','2018-08-29T21:26:55.817Z'); | ||||
| INSERT INTO branches VALUES('9zW6GNyUrSwj','HgaAwBX5zVcP','kV2NwNNvepGF',0,NULL,0,0,'2018-08-29T22:13:25.436Z','n7SHMc8Do/','2018-08-28T20:50:36.139Z'); | ||||
| INSERT INTO branches VALUES('KgPU7QD19kBk','prjUbW6QtsL4','sXti7HgialF2',0,'DONE',NULL,0,'2018-08-30T07:57:00.605Z','55wpz4Yj6h','2018-08-29T19:48:00.995Z'); | ||||
| INSERT INTO branches VALUES('iTtVoNfVBdex','d04CnuZxPXj2','nUgD4SYx2gt7',0,NULL,1,0,'2018-08-30T07:57:39.090Z','YuZ73fj3vz','2018-08-29T19:58:59.136Z'); | ||||
| INSERT INTO branches VALUES('7XqFyRCCbbFR','Lom0LEnCes1l','nUgD4SYx2gt7',1,NULL,0,0,'2018-08-30T08:04:45.853Z','xPKVn25yMG','2018-08-29T19:43:44.024Z'); | ||||
| INSERT INTO branches VALUES('5OwmqXXREhwW','uP3V8BqwXC05','sXti7HgialF2',2,'TODO',NULL,0,'2018-08-30T08:04:55.389Z','SBwS31n2Cp','2018-08-29T19:43:02.012Z'); | ||||
| INSERT INTO branches VALUES('Bu2TmxdlNlTi','i3cLVxiO6GlW','1Heh2acXfPNt',3,NULL,0,0,'2018-09-01T11:47:59.762Z','imw6rHOkkw','2018-09-01T11:47:52.505Z'); | ||||
| INSERT INTO branches VALUES('MKMv2KLxfXhp','7YEYLSrnFpIi','3RkyK9LI18dO',3,NULL,0,0,'2018-09-10T22:00:30.553Z','c8DQDwMIOI','2018-09-10T22:00:30.553Z'); | ||||
| @@ -1,2 +0,0 @@ | ||||
| INSERT INTO note_images VALUES('2EtgRRPfk4Fi','1Heh2acXfPNt','ed64aET6i379',0,'2018-01-08T04:41:30.663Z','2018-01-08T04:41:30.663Z',''); | ||||
| INSERT INTO note_images VALUES('T7qQAw9BVi0E','prjUbW6QtsL4','0mLHhGv61RDM',0,'2018-08-30T07:53:53.165Z','2018-08-30T07:53:53.164Z','lSz2qni/Rx'); | ||||
							
								
								
									
										1
									
								
								db/migrations/0114__fix_root_note_cycle.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1 @@ | ||||
| update branches set parentNoteId = 'none' where branchId = 'root' | ||||
							
								
								
									
										69
									
								
								db/migrations/0115__images_in_notes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,69 @@ | ||||
| -- allow null for note content (for deleted notes) | ||||
| CREATE TABLE IF NOT EXISTS "notes_mig" ( | ||||
|   `noteId`	TEXT NOT NULL, | ||||
|   `title`	TEXT NOT NULL DEFAULT "note", | ||||
|   `content`	TEXT NULL DEFAULT NULL, | ||||
|   `isProtected`	INT NOT NULL DEFAULT 0, | ||||
|   `type` TEXT NOT NULL DEFAULT 'text', | ||||
|   `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||
|   `hash` TEXT DEFAULT "" NOT NULL, | ||||
|   `isDeleted`	INT NOT NULL DEFAULT 0, | ||||
|   `dateCreated`	TEXT NOT NULL, | ||||
|   `dateModified`	TEXT NOT NULL, | ||||
|   PRIMARY KEY(`noteId`) | ||||
| ); | ||||
|  | ||||
| INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash) | ||||
| SELECT noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash FROM notes; | ||||
|  | ||||
| DROP TABLE notes; | ||||
|  | ||||
| ALTER TABLE notes_mig RENAME TO notes; | ||||
|  | ||||
| CREATE TABLE "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`) | ||||
| ); | ||||
|  | ||||
| INSERT INTO links (linkId, noteId, targetNoteId, type, isDeleted, dateCreated, dateModified) | ||||
|   SELECT 'L' || SUBSTR(noteImageId, 2), noteId, imageId, 'image', isDeleted, dateCreated, dateModified FROM note_images; | ||||
|  | ||||
| INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified, hash, dateCreated) | ||||
|   SELECT 'B' || SUBSTR(noteImageId, 2), imageId, noteId, 100, '', 0, isDeleted, dateModified, hash, dateCreated FROM note_images; | ||||
|  | ||||
| DROP TABLE note_images; | ||||
|  | ||||
| INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash) | ||||
|   SELECT imageId, name, data, 0, isDeleted, dateCreated, dateModified, 'image', 'image/' || format, hash FROM images; | ||||
|  | ||||
| INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash, isInheritable) | ||||
|   SELECT 'O' || SUBSTR(imageId, 2), imageId, 'label', 'originalFileName', name, 0, dateCreated, dateModified, isDeleted, '', 0 FROM images; | ||||
|  | ||||
| INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash, isInheritable) | ||||
| SELECT 'F' || SUBSTR(imageId, 2), imageId, 'label', 'fileSize', LENGTH(data), 0, dateCreated, dateModified, isDeleted, '', 0 FROM images; | ||||
|  | ||||
| DROP TABLE images; | ||||
|  | ||||
| INSERT INTO sync (entityName, entityId, sourceId, syncDate) | ||||
| SELECT 'attributes', 'O' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'images'; | ||||
|  | ||||
| INSERT INTO sync (entityName, entityId, sourceId, syncDate) | ||||
| SELECT 'attributes', 'F' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'images'; | ||||
|  | ||||
| UPDATE sync SET entityName = 'notes' WHERE entityName = 'images'; | ||||
|  | ||||
| INSERT INTO sync (entityName, entityId, sourceId, syncDate) | ||||
| SELECT 'links', 'L' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'note_images'; | ||||
|  | ||||
| INSERT INTO sync (entityName, entityId, sourceId, syncDate) | ||||
|   SELECT 'branches', 'B' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'note_images'; | ||||
|  | ||||
| DELETE FROM sync WHERE entityName = 'note_images'; | ||||
| DELETE FROM sync WHERE entityName = 'images'; | ||||
							
								
								
									
										14
									
								
								db/migrations/0116__add_indexes.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,14 @@ | ||||
| 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); | ||||
| @@ -34,29 +34,6 @@ CREATE INDEX `IDX_note_revisions_dateModifiedFrom` ON `note_revisions` ( | ||||
| CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` ( | ||||
|   `dateModifiedTo` | ||||
| ); | ||||
| CREATE TABLE IF NOT EXISTS "images" | ||||
| ( | ||||
|   imageId TEXT PRIMARY KEY NOT NULL, | ||||
|   format TEXT NOT NULL, | ||||
|   checksum TEXT NOT NULL, | ||||
|   name TEXT NOT NULL, | ||||
|   data BLOB, | ||||
|   isDeleted INT NOT NULL DEFAULT 0, | ||||
|   dateModified TEXT NOT NULL, | ||||
|   dateCreated TEXT NOT NULL | ||||
| , hash TEXT DEFAULT "" NOT NULL); | ||||
| CREATE TABLE note_images | ||||
| ( | ||||
|   noteImageId TEXT PRIMARY KEY NOT NULL, | ||||
|   noteId TEXT NOT NULL, | ||||
|   imageId TEXT NOT NULL, | ||||
|   isDeleted INT NOT NULL DEFAULT 0, | ||||
|   dateModified TEXT NOT NULL, | ||||
|   dateCreated TEXT NOT NULL | ||||
| , hash TEXT DEFAULT "" NOT NULL); | ||||
| CREATE INDEX IDX_note_images_noteId ON note_images (noteId); | ||||
| CREATE INDEX IDX_note_images_imageId ON note_images (imageId); | ||||
| CREATE INDEX IDX_note_images_noteId_imageId ON note_images (noteId, imageId); | ||||
| CREATE TABLE IF NOT EXISTS "api_tokens" | ||||
| ( | ||||
|   apiTokenId TEXT PRIMARY KEY NOT NULL, | ||||
| @@ -82,21 +59,7 @@ CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` ( | ||||
|   `noteId`, | ||||
|   `parentNoteId` | ||||
| ); | ||||
| CREATE TABLE IF NOT EXISTS "notes" ( | ||||
|   `noteId`	TEXT NOT NULL, | ||||
|   `title`	TEXT NOT NULL DEFAULT "unnamed", | ||||
|   `content`	TEXT NOT NULL DEFAULT "", | ||||
|   `isProtected`	INT NOT NULL DEFAULT 0, | ||||
|   `isDeleted`	INT NOT NULL DEFAULT 0, | ||||
|   `dateCreated`	TEXT NOT NULL, | ||||
|   `dateModified`	TEXT NOT NULL, | ||||
|   type TEXT NOT NULL DEFAULT 'text', | ||||
|   mime TEXT NOT NULL DEFAULT 'text/html', hash TEXT DEFAULT "" NOT NULL, | ||||
|   PRIMARY KEY(`noteId`) | ||||
| ); | ||||
| CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId); | ||||
| CREATE INDEX IDX_notes_type | ||||
|   on notes (type); | ||||
| CREATE TABLE IF NOT EXISTS "recent_notes" ( | ||||
|   `branchId` TEXT NOT NULL PRIMARY KEY, | ||||
|   `notePath` TEXT NOT NULL, | ||||
| @@ -131,3 +94,39 @@ CREATE TABLE attributes | ||||
|   dateModified TEXT not null, | ||||
|   isDeleted    INT  not null, | ||||
|   hash         TEXT default "" not null, isInheritable int DEFAULT 0 NULL); | ||||
| CREATE INDEX IDX_attributes_name_value | ||||
|   on attributes (name, value); | ||||
| CREATE TABLE IF NOT EXISTS "notes" ( | ||||
|   `noteId`	TEXT NOT NULL, | ||||
|   `title`	TEXT NOT NULL DEFAULT "note", | ||||
|   `content`	TEXT NULL DEFAULT NULL, | ||||
|   `isProtected`	INT NOT NULL DEFAULT 0, | ||||
|   `type` TEXT NOT NULL DEFAULT 'text', | ||||
|   `mime` TEXT NOT NULL DEFAULT 'text/html', | ||||
|   `hash` TEXT DEFAULT "" NOT NULL, | ||||
|   `isDeleted`	INT NOT NULL DEFAULT 0, | ||||
|   `dateCreated`	TEXT NOT NULL, | ||||
|   `dateModified`	TEXT NOT NULL, | ||||
|   PRIMARY KEY(`noteId`) | ||||
| ); | ||||
| 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 | ||||
|   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); | ||||
|   | ||||
| @@ -282,13 +282,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -406,6 +406,310 @@ | ||||
|      | ||||
|  | ||||
|      | ||||
|         <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>|null)>}</span></h4> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl class="details"> | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <dt class="tag-source">Source:</dt> | ||||
|     <dd class="tag-source"><ul class="dummy"><li> | ||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line46">line 46</a> | ||||
|     </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="getTargetNote"><span class="type-signature">(async) </span>getTargetNote<span class="signature">()</span><span class="type-signature"> → {Promise.<(<a href="Note.html">Note</a>|null)>}</span></h4> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl class="details"> | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <dt class="tag-source">Source:</dt> | ||||
|     <dd class="tag-source"><ul class="dummy"><li> | ||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line57">line 57</a> | ||||
|     </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="isDefinition"><span class="type-signature"></span>isDefinition<span class="signature">()</span><span class="type-signature"> → {boolean}</span></h4> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl class="details"> | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <dt class="tag-source">Source:</dt> | ||||
|     <dd class="tag-source"><ul class="dummy"><li> | ||||
|         <a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line76">line 76</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
| </dl> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <h5>Returns:</h5> | ||||
|  | ||||
|          | ||||
|  | ||||
|  | ||||
| <dl> | ||||
|     <dt> | ||||
|         Type | ||||
|     </dt> | ||||
|     <dd> | ||||
|          | ||||
| <span class="param-type">boolean</span> | ||||
|  | ||||
|  | ||||
|     </dd> | ||||
| </dl> | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|          | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
| @@ -420,13 +724,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -1925,7 +1925,7 @@ | ||||
|      | ||||
|  | ||||
|      | ||||
|     <h4 class="name" id="getImage"><span class="type-signature"></span>getImage<span class="signature">(imageId)</span><span class="type-signature"> → {Promise.<(<a href="Image.html">Image</a>|null)>}</span></h4> | ||||
|     <h4 class="name" id="getImage"><span class="type-signature"></span>getImage<span class="signature">(imageId)</span><span class="type-signature"> → {Promise.<(Image|null)>}</span></h4> | ||||
|      | ||||
|  | ||||
|      | ||||
| @@ -2056,7 +2056,7 @@ | ||||
|     </dt> | ||||
|     <dd> | ||||
|          | ||||
| <span class="param-type">Promise.<(<a href="Image.html">Image</a>|null)></span> | ||||
| <span class="param-type">Promise.<(Image|null)></span> | ||||
|  | ||||
|  | ||||
|     </dd> | ||||
| @@ -3808,13 +3808,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -505,13 +505,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -210,13 +210,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -380,7 +380,7 @@ | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
							
								
								
									
										367
									
								
								docs/backend_api/Link.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,367 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <title>JSDoc: Class: Link</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: Link</h1> | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <section> | ||||
|  | ||||
| <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> | ||||
|          | ||||
|             <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> | ||||
|          | ||||
|      | ||||
| </header> | ||||
|  | ||||
| <article> | ||||
|     <div class="container-overview"> | ||||
|      | ||||
|          | ||||
|  | ||||
|      | ||||
|     <h2>Constructor</h2> | ||||
|      | ||||
|  | ||||
|      | ||||
|     <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> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|     <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>linkId</code></td> | ||||
|              | ||||
|  | ||||
|             <td class="type"> | ||||
|              | ||||
|                  | ||||
| <span class="param-type">string</span> | ||||
|  | ||||
|  | ||||
|              | ||||
|             </td> | ||||
|  | ||||
|              | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last"></td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
|  | ||||
|         <tr> | ||||
|              | ||||
|                 <td class="name"><code>noteId</code></td> | ||||
|              | ||||
|  | ||||
|             <td class="type"> | ||||
|              | ||||
|                  | ||||
| <span class="param-type">string</span> | ||||
|  | ||||
|  | ||||
|              | ||||
|             </td> | ||||
|  | ||||
|              | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last"></td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
|  | ||||
|         <tr> | ||||
|              | ||||
|                 <td class="name"><code>targetNoteId</code></td> | ||||
|              | ||||
|  | ||||
|             <td class="type"> | ||||
|              | ||||
|                  | ||||
| <span class="param-type">string</span> | ||||
|  | ||||
|  | ||||
|              | ||||
|             </td> | ||||
|  | ||||
|              | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last"></td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
|  | ||||
|         <tr> | ||||
|              | ||||
|                 <td class="name"><code>type</code></td> | ||||
|              | ||||
|  | ||||
|             <td class="type"> | ||||
|              | ||||
|                  | ||||
| <span class="param-type">string</span> | ||||
|  | ||||
|  | ||||
|              | ||||
|             </td> | ||||
|  | ||||
|              | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last"></td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
|  | ||||
|         <tr> | ||||
|              | ||||
|                 <td class="name"><code>isDeleted</code></td> | ||||
|              | ||||
|  | ||||
|             <td class="type"> | ||||
|              | ||||
|                  | ||||
| <span class="param-type">boolean</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> | ||||
|  | ||||
|      | ||||
|  | ||||
|         <tr> | ||||
|              | ||||
|                 <td class="name"><code>dateCreated</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_link.js.html">entities/link.js</a>, <a href="entities_link.js.html#line21">line 21</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
| </dl> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|      | ||||
|     </div> | ||||
|  | ||||
|      | ||||
|         <h3 class="subsection-title">Extends</h3> | ||||
|  | ||||
|          | ||||
|  | ||||
|  | ||||
|     <ul> | ||||
|         <li><a href="Entity.html">Entity</a></li> | ||||
|     </ul> | ||||
|  | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
| </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="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> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
| <script src="scripts/linenumber.js"> </script> | ||||
| </body> | ||||
| </html> | ||||
| @@ -334,7 +334,7 @@ | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -397,13 +397,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -305,13 +305,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -282,13 +282,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -69,13 +69,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -68,10 +68,20 @@ class Attribute extends Entity { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<Note|null>} | ||||
|      */ | ||||
|     async getNote() { | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); | ||||
|         if (!this.__note) { | ||||
|             this.__note = await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); | ||||
|         } | ||||
|  | ||||
|         return this.__note; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<Note|null>} | ||||
|      */ | ||||
|     async getTargetNote() { | ||||
|         if (this.type !== 'relation') { | ||||
|             throw new Error(`Attribute ${this.attributeId} is not relation`); | ||||
| @@ -81,9 +91,16 @@ class Attribute extends Entity { | ||||
|             return null; | ||||
|         } | ||||
|  | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.value]); | ||||
|         if (!this.__targetNote) { | ||||
|             this.__targetNote = await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.value]); | ||||
|         } | ||||
|  | ||||
|         return this.__targetNote; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @return {boolean} | ||||
|      */ | ||||
|     isDefinition() { | ||||
|         return this.type === 'label-definition' || this.type === 'relation-definition'; | ||||
|     } | ||||
| @@ -128,13 +145,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -99,13 +99,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -87,13 +87,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -83,7 +83,7 @@ module.exports = Image;</code></pre> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
							
								
								
									
										101
									
								
								docs/backend_api/entities_link.js.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,101 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <title>JSDoc: Source: entities/link.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/link.js</h1> | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|      | ||||
|     <section> | ||||
|         <article> | ||||
|             <pre class="prettyprint source linenums"><code>"use strict"; | ||||
|  | ||||
| const Entity = require('./entity'); | ||||
| const repository = require('../services/repository'); | ||||
| const dateUtils = require('../services/date_utils'); | ||||
|  | ||||
| /** | ||||
|  * 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. | ||||
|  * | ||||
|  * @param {string} linkId | ||||
|  * @param {string} noteId | ||||
|  * @param {string} targetNoteId | ||||
|  * @param {string} type | ||||
|  * @param {boolean} isDeleted | ||||
|  * @param {string} dateModified | ||||
|  * @param {string} dateCreated | ||||
|  * | ||||
|  * @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"]; } | ||||
|  | ||||
|     async getNote() { | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     async getTargetNote() { | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.targetNoteId]); | ||||
|     } | ||||
|  | ||||
|     beforeSaving() { | ||||
|         if (!this.isDeleted) { | ||||
|             this.isDeleted = false; | ||||
|         } | ||||
|  | ||||
|         if (!this.dateCreated) { | ||||
|             this.dateCreated = dateUtils.nowDate(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.dateModified = dateUtils.nowDate(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| module.exports = Link;</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="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> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
| <script src="scripts/linenumber.js"> </script> | ||||
| </body> | ||||
| </html> | ||||
| @@ -35,7 +35,9 @@ const repository = require('../services/repository'); | ||||
| const dateUtils = require('../services/date_utils'); | ||||
|  | ||||
| const LABEL = 'label'; | ||||
| const LABEL_DEFINITION = 'label-definition'; | ||||
| const RELATION = 'relation'; | ||||
| const RELATION_DEFINITION = 'relation-definition'; | ||||
|  | ||||
| /** | ||||
|  * This represents a Note which is a central object in the Trilium Notes project. | ||||
| @@ -64,9 +66,14 @@ class Note extends Entity { | ||||
|         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 noteId, otherwise this is a new entity which wasn't encrypted yet | ||||
|         if (this.isProtected && this.noteId) { | ||||
|             this.isContentAvailable = protectedSessionService.isProtectedSessionAvailable(); | ||||
|  | ||||
|             protectedSessionService.decryptNote(this); | ||||
|         } | ||||
|  | ||||
| @@ -127,6 +134,13 @@ class Note extends Entity { | ||||
|         return await repository.getEntities(`SELECT * FROM attributes WHERE isDeleted = 0 AND noteId = ?`, [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<Attribute[]>} relations targetting this specific note | ||||
|      */ | ||||
|     async getTargetRelations() { | ||||
|         return await repository.getEntities("SELECT * FROM attributes WHERE type = 'relation' AND isDeleted = 0 AND value = ?", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - attribute name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's attributes, including inherited ones | ||||
| @@ -152,6 +166,14 @@ class Note extends Entity { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === LABEL); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - label name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's label definitions, including inherited ones | ||||
|      */ | ||||
|     async getLabelDefinitions(name) { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === LABEL_DEFINITION); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - relation name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's relations (attributes with type relation), including inherited ones | ||||
| @@ -160,6 +182,14 @@ class Note extends Entity { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === RELATION); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - relation name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's relation definitions including inherited ones | ||||
|      */ | ||||
|     async getRelationDefinitions(name) { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === RELATION_DEFINITION); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Clear note's attributes cache to force fresh reload for next attribute request. | ||||
|      * Cache is note instance scoped. | ||||
| @@ -431,14 +461,14 @@ class Note extends Entity { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Finds notes with given attribute name and value. Only own attributes are considered, not inherited ones | ||||
|      * Finds child notes with given attribute name and value. Only own attributes are considered, not inherited ones | ||||
|      * | ||||
|      * @param {string} type - attribute type (label, relation, etc.) | ||||
|      * @param {string} name - attribute name | ||||
|      * @param {string} [value] - attribute value | ||||
|      * @returns {Promise<Note[]>} | ||||
|      */ | ||||
|     async findNotesWithAttribute(type, name, value) { | ||||
|     async findChildNotesWithAttribute(type, name, value) { | ||||
|         const params = [this.noteId, name]; | ||||
|         let valueCondition = ""; | ||||
|  | ||||
| @@ -476,7 +506,7 @@ class Note extends Entity { | ||||
|      * @param {string} [value] - label value | ||||
|      * @returns {Promise<Note[]>} | ||||
|      */ | ||||
|     async findNotesWithLabel(name, value) { return await this.findNotesWithAttribute(LABEL, name, value); } | ||||
|     async findChildNotesWithLabel(name, value) { return await this.findChildNotesWithAttribute(LABEL, name, value); } | ||||
|  | ||||
|     /** | ||||
|      * Finds notes with given relation name and value. Only own relations are considered, not inherited ones | ||||
| @@ -485,7 +515,7 @@ class Note extends Entity { | ||||
|      * @param {string} [value] - relation value | ||||
|      * @returns {Promise<Note[]>} | ||||
|      */ | ||||
|     async findNotesWithRelation(name, value) { return await this.findNotesWithAttribute(RELATION, name, value); } | ||||
|     async findChildNotesWithRelation(name, value) { return await this.findChildNotesWithAttribute(RELATION, name, value); } | ||||
|  | ||||
|     /** | ||||
|      * Returns note revisions of this note. | ||||
| @@ -497,10 +527,30 @@ class Note extends Entity { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<NoteImage[]>} | ||||
|      * Get list of links coming out of this note. | ||||
|      * | ||||
|      * @returns {Promise<Link[]>} | ||||
|      */ | ||||
|     async getNoteImages() { | ||||
|         return await repository.getEntities("SELECT * FROM note_images WHERE noteId = ? AND isDeleted = 0", [this.noteId]); | ||||
|     async getLinks() { | ||||
|         return await repository.getEntities("SELECT * FROM links WHERE noteId = ? AND isDeleted = 0", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get list of links targetting this note. | ||||
|      * | ||||
|      * @returns {Promise<Link[]>} | ||||
|      */ | ||||
|     async getTargetLinks() { | ||||
|         return await repository.getEntities("SELECT * FROM links WHERE targetNoteId = ? AND isDeleted = 0", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return all links from this note, including deleted ones. | ||||
|      * | ||||
|      * @returns {Promise<Link[]>} | ||||
|      */ | ||||
|     async getLinksWithDeleted() { | ||||
|         return await repository.getEntities("SELECT * FROM links WHERE noteId = ?", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -595,13 +645,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -90,7 +90,7 @@ module.exports = NoteImage;</code></pre> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -85,13 +85,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -72,13 +72,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -69,13 +69,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -588,13 +588,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -50,13 +50,13 @@ | ||||
| </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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -272,13 +272,13 @@ 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="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</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"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:45 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:27 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -719,7 +719,7 @@ | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -81,7 +81,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#line15">line 15</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line16">line 16</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -221,7 +221,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#line21">line 21</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line22">line 22</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -334,7 +334,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#line23">line 23</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line24">line 24</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -444,7 +444,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#line19">line 19</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line20">line 20</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -573,7 +573,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#line40">line 40</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line41">line 41</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -726,7 +726,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#line32">line 32</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line33">line 33</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -879,7 +879,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#line59">line 59</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line60">line 60</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1057,7 +1057,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#line194">line 194</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line197">line 197</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1188,7 +1188,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#line154">line 154</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line157">line 157</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1244,6 +1244,110 @@ | ||||
|      | ||||
|  | ||||
|      | ||||
|     <h4 class="name" id="getCodeMimeTypes"><span class="type-signature"></span>getCodeMimeTypes<span class="signature">()</span><span class="type-signature"> → {array}</span></h4> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl class="details"> | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <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#line221">line 221</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
| </dl> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <h5>Returns:</h5> | ||||
|  | ||||
|          | ||||
| <div class="param-desc"> | ||||
|     list of currently used code mime types | ||||
| </div> | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl> | ||||
|     <dt> | ||||
|         Type | ||||
|     </dt> | ||||
|     <dd> | ||||
|          | ||||
| <span class="param-type">array</span> | ||||
|  | ||||
|  | ||||
|     </dd> | ||||
| </dl> | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|          | ||||
|              | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <h4 class="name" id="getCurrentNoteContent"><span class="type-signature"></span>getCurrentNoteContent<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> | ||||
|      | ||||
|  | ||||
| @@ -1292,7 +1396,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#line200">line 200</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line203">line 203</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1348,6 +1452,110 @@ | ||||
|      | ||||
|  | ||||
|      | ||||
|     <h4 class="name" id="getDefaultCodeMimeTypes"><span class="type-signature"></span>getDefaultCodeMimeTypes<span class="signature">()</span><span class="type-signature"> → {array}</span></h4> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl class="details"> | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <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#line215">line 215</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
| </dl> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <h5>Returns:</h5> | ||||
|  | ||||
|          | ||||
| <div class="param-desc"> | ||||
|     list of default code mime types | ||||
| </div> | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl> | ||||
|     <dt> | ||||
|         Type | ||||
|     </dt> | ||||
|     <dd> | ||||
|          | ||||
| <span class="param-type">array</span> | ||||
|  | ||||
|  | ||||
|     </dd> | ||||
| </dl> | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|          | ||||
|              | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <h4 class="name" id="getInstanceName"><span class="type-signature"></span>getInstanceName<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> | ||||
|      | ||||
|  | ||||
| @@ -1401,7 +1609,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_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line147">line 147</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line150">line 150</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1600,7 +1808,7 @@ otherwise (by e.g. createNoteLink()) | ||||
|      | ||||
|     <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#line139">line 139</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line142">line 142</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1708,7 +1916,7 @@ otherwise (by e.g. createNoteLink()) | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last">callback called on note change</td> | ||||
|             <td class="description last">callback called on note change as user is typing (not necessarily tied to save event)</td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
| @@ -1749,7 +1957,7 @@ otherwise (by e.g. createNoteLink()) | ||||
|      | ||||
|     <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#line206">line 206</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line209">line 209</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1880,7 +2088,7 @@ otherwise (by e.g. createNoteLink()) | ||||
|      | ||||
|     <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#line161">line 161</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line164">line 164</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -1988,7 +2196,7 @@ otherwise (by e.g. createNoteLink()) | ||||
|      | ||||
|     <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#line185">line 185</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line188">line 188</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -2165,7 +2373,7 @@ Internally this serializes the anonymous function into string and sends it to ba | ||||
|      | ||||
|     <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#line107">line 107</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line110">line 110</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -2217,6 +2425,137 @@ Internally this serializes the anonymous function into string and sends it to ba | ||||
|  | ||||
|          | ||||
|              | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <h4 class="name" id="setCodeMimeTypes"><span class="type-signature"></span>setCodeMimeTypes<span class="signature">(types)</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>types</code></td> | ||||
|              | ||||
|  | ||||
|             <td class="type"> | ||||
|              | ||||
|                  | ||||
| <span class="param-type">array</span> | ||||
|  | ||||
|  | ||||
|              | ||||
|             </td> | ||||
|  | ||||
|              | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last">list of mime types to be used</td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
|     </tbody> | ||||
| </table> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <dl class="details"> | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|     <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#line227">line 227</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
|  | ||||
|      | ||||
| </dl> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|          | ||||
|              | ||||
|  | ||||
|      | ||||
|  | ||||
| @@ -2322,7 +2661,7 @@ Internally this serializes the anonymous function into string and sends it to ba | ||||
|      | ||||
|     <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#line177">line 177</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line180">line 180</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -2457,7 +2796,7 @@ Internally this serializes the anonymous function into string and sends it to ba | ||||
|      | ||||
|     <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#line169">line 169</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line172">line 172</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -2507,7 +2846,7 @@ Internally this serializes the anonymous function into string and sends it to ba | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -279,7 +279,7 @@ | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -1316,7 +1316,7 @@ Its notable omission is the note content.</div> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -76,7 +76,7 @@ export default Branch;</code></pre> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -64,7 +64,7 @@ export default NoteFull;</code></pre> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -128,7 +128,7 @@ export default NoteShort;</code></pre> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -204,7 +204,7 @@ | ||||
|  | ||||
|              | ||||
|  | ||||
|             <td class="description last">name of the jQuery UI icon to be used (e.g. "clock" for "ui-icon-clock" icon)</td> | ||||
|             <td class="description last">name of the JAM icon to be used (e.g. "clock" for "jam-clock" icon)</td> | ||||
|         </tr> | ||||
|  | ||||
|      | ||||
| @@ -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#line46">line 46</a> | ||||
|         <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line47">line 47</a> | ||||
|     </li></ul></dd> | ||||
|      | ||||
|  | ||||
| @@ -339,7 +339,7 @@ | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -56,7 +56,7 @@ | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -33,6 +33,7 @@ import infoService from './info.js'; | ||||
| import linkService from './link.js'; | ||||
| import treeCache from './tree_cache.js'; | ||||
| import noteDetailService from './note_detail.js'; | ||||
| import noteTypeService from './note_type.js'; | ||||
|  | ||||
| /** | ||||
|  * This is the main frontend API interface for scripts. It's published in the local "api" object. | ||||
| @@ -74,7 +75,7 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) { | ||||
|     /** | ||||
|      * @typedef {Object} ToolbarButtonOptions | ||||
|      * @property {string} title | ||||
|      * @property {string} [icon] - name of the jQuery UI icon to be used (e.g. "clock" for "ui-icon-clock" icon) | ||||
|      * @property {string} [icon] - name of the JAM icon to be used (e.g. "clock" for "jam-clock" icon) | ||||
|      * @property {function} action - callback handling the click on the button | ||||
|      * @property {string} [shortcut] - keyboard shortcut for the button, e.g. "alt+t" | ||||
|      */ | ||||
| @@ -87,14 +88,16 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) { | ||||
|     this.addButtonToToolbar = opts => { | ||||
|         const buttonId = "toolbar-button-" + opts.title.replace(/[^a-zA-Z0-9]/g, "-"); | ||||
|  | ||||
|         const icon = $("<span>") | ||||
|             .addClass("ui-icon ui-icon-" + opts.icon); | ||||
|  | ||||
|         const button = $('<button>') | ||||
|             .addClass("btn btn-xs") | ||||
|             .click(opts.action) | ||||
|             .append(icon) | ||||
|             .append($("<span>").text(opts.title)); | ||||
|             .addClass("btn btn-sm") | ||||
|             .click(opts.action); | ||||
|  | ||||
|         if (opts.icon) { | ||||
|             button.append($("<span>").addClass("jam jam-" + opts.icon)) | ||||
|                   .append("&nbsp;"); | ||||
|         } | ||||
|  | ||||
|         button.append($("<span>").text(opts.title)); | ||||
|  | ||||
|         button.attr('id', buttonId); | ||||
|  | ||||
| @@ -229,9 +232,27 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null) { | ||||
|  | ||||
|     /** | ||||
|      * @method | ||||
|      * @param {function} func - callback called on note change | ||||
|      * @param {function} func - callback called on note change as user is typing (not necessarily tied to save event) | ||||
|      */ | ||||
|     this.onNoteChange = noteDetailService.onNoteChange; | ||||
|  | ||||
|     /** | ||||
|      * @method | ||||
|      * @returns {array} list of default code mime types | ||||
|      */ | ||||
|     this.getDefaultCodeMimeTypes = noteTypeService.getDefaultCodeMimeTypes; | ||||
|  | ||||
|     /** | ||||
|      * @method | ||||
|      * @returns {array} list of currently used code mime types | ||||
|      */ | ||||
|     this.getCodeMimeTypes = noteTypeService.getCodeMimeTypes; | ||||
|  | ||||
|     /** | ||||
|      * @method | ||||
|      * @param {array} types - list of mime types to be used | ||||
|      */ | ||||
|     this.setCodeMimeTypes = noteTypeService.setCodeMimeTypes; | ||||
| } | ||||
|  | ||||
| export default FrontendScriptApi;</code></pre> | ||||
| @@ -250,7 +271,7 @@ export default FrontendScriptApi;</code></pre> | ||||
| <br class="clear"> | ||||
|  | ||||
| <footer> | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Sep 03 2018 16:04:46 GMT+0200 (CEST) | ||||
|     Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Thu Nov 15 2018 13:33:28 GMT+0100 (Central European Standard Time) | ||||
| </footer> | ||||
|  | ||||
| <script> prettyPrint(); </script> | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| const electron = require('electron'); | ||||
| const path = require('path'); | ||||
| const log = require('./src/services/log'); | ||||
| const cls = require('./src/services/cls'); | ||||
| const url = require("url"); | ||||
| const port = require('./src/services/port'); | ||||
|  | ||||
| @@ -68,10 +69,10 @@ app.on('activate', () => { | ||||
|     } | ||||
| }); | ||||
|  | ||||
| app.on('ready', () => { | ||||
|     mainWindow = createMainWindow(); | ||||
| app.on('ready', async () => { | ||||
|     mainWindow = await createMainWindow(); | ||||
|  | ||||
|     const result = globalShortcut.register('CommandOrControl+Alt+P', async () => { | ||||
|     const result = globalShortcut.register('CommandOrControl+Alt+P', cls.wrap(async () => { | ||||
|         const dateNoteService = require('./src/services/date_notes'); | ||||
|         const dateUtils = require('./src/services/date_utils'); | ||||
|  | ||||
| @@ -81,7 +82,7 @@ app.on('ready', () => { | ||||
|         mainWindow.focus(); | ||||
|  | ||||
|         mainWindow.webContents.send('create-day-sub-note', parentNote.noteId); | ||||
|     }); | ||||
|     })); | ||||
|  | ||||
|     if (!result) { | ||||
|         log.error("Could not register global shortcut CTRL+ALT+P"); | ||||
|   | ||||
							
								
								
									
										9046
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
							
								
								
									
										66
									
								
								package.json
									
									
									
									
									
								
							
							
						
						| @@ -1,7 +1,7 @@ | ||||
| { | ||||
|   "name": "trilium", | ||||
|   "description": "Trilium Notes", | ||||
|   "version": "0.22.1", | ||||
|   "version": "0.24.0-beta", | ||||
|   "license": "AGPL-3.0-only", | ||||
|   "main": "electron.js", | ||||
|   "bin": { | ||||
| @@ -16,102 +16,66 @@ | ||||
|     "test-electron": "xo", | ||||
|     "rebuild-electron": "electron-rebuild", | ||||
|     "start-electron": "electron . --disable-gpu", | ||||
|     "build-electron": "electron-packager . --out=dist --asar --overwrite --platform=win32,linux --arch=ia32,x64 --app-version=", | ||||
|     "start-forge": "electron-forge start", | ||||
|     "package-forge": "electron-forge package", | ||||
|     "make-forge": "electron-forge make", | ||||
|     "publish-forge": "electron-forge publish", | ||||
|     "build-electron": "electron-packager . --out=dist --asar --overwrite --platform=win32,linux --arch=ia32,x64 --app-version= --icon=src/public/app-icons/win/icon.ico", | ||||
|     "build-backend-docs": "jsdoc -d ./docs/backend_api src/entities/*.js src/services/backend_script_api.js", | ||||
|     "build-frontend-docs": "jsdoc -d ./docs/frontend_api src/public/javascripts/entities/*.js src/public/javascripts/services/frontend_script_api.js", | ||||
|     "build-docs": "npm run build-backend-docs && npm run build-frontend-docs" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@mlink/scrypt": "6.1.2", | ||||
|     "async-mutex": "0.1.3", | ||||
|     "axios": "0.18", | ||||
|     "body-parser": "1.18.3", | ||||
|     "cls-hooked": "4.2.2", | ||||
|     "commonmark": "0.28.1", | ||||
|     "cookie-parser": "1.4.3", | ||||
|     "debug": "3.1.0", | ||||
|     "debug": "4.1.0", | ||||
|     "devtron": "1.4.0", | ||||
|     "ejs": "2.6.1", | ||||
|     "electron-debug": "2.0.0", | ||||
|     "electron-dl": "1.12.0", | ||||
|     "electron-in-page-search": "1.3.2", | ||||
|     "express": "4.16.3", | ||||
|     "express": "4.16.4", | ||||
|     "express-session": "1.15.6", | ||||
|     "fs-extra": "7.0.0", | ||||
|     "fs-extra": "7.0.1", | ||||
|     "get-port": "4.0.0", | ||||
|     "helmet": "3.13.0", | ||||
|     "helmet": "3.15.0", | ||||
|     "html": "1.0.0", | ||||
|     "image-type": "3.0.0", | ||||
|     "imagemin": "6.0.0", | ||||
|     "imagemin-giflossy": "5.1.10", | ||||
|     "imagemin-mozjpeg": "7.0.0", | ||||
|     "imagemin-mozjpeg": "8.0.0", | ||||
|     "imagemin-pngquant": "6.0.0", | ||||
|     "ini": "1.3.5", | ||||
|     "jimp": "0.4.0", | ||||
|     "jimp": "0.5.6", | ||||
|     "moment": "2.22.2", | ||||
|     "multer": "1.3.1", | ||||
|     "multer": "1.4.1", | ||||
|     "open": "0.0.5", | ||||
|     "rand-token": "0.4.0", | ||||
|     "rcedit": "1.1.0", | ||||
|     "rcedit": "1.1.1", | ||||
|     "request": "2.88.0", | ||||
|     "request-promise": "4.2.2", | ||||
|     "rimraf": "2.6.2", | ||||
|     "sanitize-filename": "1.6.1", | ||||
|     "sax": "^1.2.4", | ||||
|     "serve-favicon": "2.5.0", | ||||
|     "session-file-store": "1.2.0", | ||||
|     "simple-node-logger": "0.93.40", | ||||
|     "sqlite": "3.0.0", | ||||
|     "tar-stream": "1.6.1", | ||||
|     "tar-stream": "1.6.2", | ||||
|     "turndown": "5.0.1", | ||||
|     "unescape": "1.0.1", | ||||
|     "ws": "6.0.0", | ||||
|     "ws": "6.1.0", | ||||
|     "xml2js": "0.4.19" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "electron": "2.0.9", | ||||
|     "electron": "4.0.0-beta.7", | ||||
|     "electron-compile": "6.4.3", | ||||
|     "electron-packager": "12.1.1", | ||||
|     "electron-packager": "12.2.0", | ||||
|     "electron-rebuild": "1.8.2", | ||||
|     "lorem-ipsum": "1.0.6", | ||||
|     "tape": "4.9.1", | ||||
|     "xo": "0.23.0" | ||||
|   }, | ||||
|   "config": { | ||||
|     "forge": { | ||||
|       "make_targets": { | ||||
|         "win32": [ | ||||
|           "squirrel" | ||||
|         ], | ||||
|         "darwin": [ | ||||
|           "zip" | ||||
|         ], | ||||
|         "linux": [ | ||||
|           "deb", | ||||
|           "rpm" | ||||
|         ] | ||||
|       }, | ||||
|       "electronPackagerConfig": { | ||||
|         "packageManager": "npm" | ||||
|       }, | ||||
|       "electronWinstallerConfig": { | ||||
|         "name": "trilium" | ||||
|       }, | ||||
|       "electronInstallerDebian": {}, | ||||
|       "electronInstallerRedhat": {}, | ||||
|       "github_repository": { | ||||
|         "owner": "", | ||||
|         "name": "" | ||||
|       }, | ||||
|       "windowsStoreConfig": { | ||||
|         "packageName": "", | ||||
|         "name": "trilium" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "xo": { | ||||
|     "envs": [ | ||||
|       "node", | ||||
|   | ||||
							
								
								
									
										7
									
								
								src/anonymize.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,7 @@ | ||||
| const anonymizationService = require('./services/anonymization'); | ||||
|  | ||||
| anonymizationService.anonymize().then(filePath => { | ||||
|     console.log("Anonymized file has been saved to:", filePath); | ||||
|  | ||||
|     process.exit(0); | ||||
| }); | ||||
| @@ -19,7 +19,9 @@ const app = express(); | ||||
| app.set('views', path.join(__dirname, 'views')); | ||||
| app.set('view engine', 'ejs'); | ||||
|  | ||||
| app.use(helmet()); | ||||
| app.use(helmet({ | ||||
|     hidePoweredBy: false // deactivated because electron 4.0 crashes on this right after startup | ||||
| })); | ||||
|  | ||||
| app.use((req, res, next) => { | ||||
|     log.request(req); | ||||
|   | ||||
| @@ -40,10 +40,20 @@ class Attribute extends Entity { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<Note|null>} | ||||
|      */ | ||||
|     async getNote() { | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); | ||||
|         if (!this.__note) { | ||||
|             this.__note = await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); | ||||
|         } | ||||
|  | ||||
|         return this.__note; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<Note|null>} | ||||
|      */ | ||||
|     async getTargetNote() { | ||||
|         if (this.type !== 'relation') { | ||||
|             throw new Error(`Attribute ${this.attributeId} is not relation`); | ||||
| @@ -53,9 +63,16 @@ class Attribute extends Entity { | ||||
|             return null; | ||||
|         } | ||||
|  | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.value]); | ||||
|         if (!this.__targetNote) { | ||||
|             this.__targetNote = await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.value]); | ||||
|         } | ||||
|  | ||||
|         return this.__targetNote; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @return {boolean} | ||||
|      */ | ||||
|     isDefinition() { | ||||
|         return this.type === 'label-definition' || this.type === 'relation-definition'; | ||||
|     } | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| const Note = require('../entities/note'); | ||||
| const NoteRevision = require('../entities/note_revision'); | ||||
| const Image = require('../entities/image'); | ||||
| const NoteImage = require('../entities/note_image'); | ||||
| const Link = require('../entities/link'); | ||||
| const Branch = require('../entities/branch'); | ||||
| const Attribute = require('../entities/attribute'); | ||||
| const RecentNote = require('../entities/recent_note'); | ||||
| @@ -11,8 +10,6 @@ const repository = require('../services/repository'); | ||||
|  | ||||
| const ENTITY_NAME_TO_ENTITY = { | ||||
|     "attributes": Attribute, | ||||
|     "images": Image, | ||||
|     "note_images": NoteImage, | ||||
|     "branches": Branch, | ||||
|     "notes": Note, | ||||
|     "note_revisions": NoteRevision, | ||||
| @@ -38,11 +35,8 @@ function createEntityFromRow(row) { | ||||
|     else if (row.noteRevisionId) { | ||||
|         entity = new NoteRevision(row); | ||||
|     } | ||||
|     else if (row.noteImageId) { | ||||
|         entity = new NoteImage(row); | ||||
|     } | ||||
|     else if (row.imageId) { | ||||
|         entity = new Image(row); | ||||
|     else if (row.linkId) { | ||||
|         entity = new Link(row); | ||||
|     } | ||||
|     else if (row.branchId && row.notePath) { | ||||
|         entity = new RecentNote(row); | ||||
|   | ||||
| @@ -1,42 +0,0 @@ | ||||
| "use strict"; | ||||
|  | ||||
| const Entity = require('./entity'); | ||||
| const dateUtils = require('../services/date_utils'); | ||||
|  | ||||
| /** | ||||
|  * This class represents image data. | ||||
|  * | ||||
|  * @param {string} imageId | ||||
|  * @param {string} format | ||||
|  * @param {string} checksum | ||||
|  * @param {string} name | ||||
|  * @param {blob} data | ||||
|  * @param {boolean} isDeleted | ||||
|  * @param {string} dateModified | ||||
|  * @param {string} dateCreated | ||||
|  * | ||||
|  * @extends Entity | ||||
|  */ | ||||
| class Image extends Entity { | ||||
|     static get entityName() { return "images"; } | ||||
|     static get primaryKeyName() { return "imageId"; } | ||||
|     static get hashedProperties() { return ["imageId", "format", "checksum", "name", "isDeleted", "dateCreated"]; } | ||||
|  | ||||
|     beforeSaving() { | ||||
|         if (!this.isDeleted) { | ||||
|             this.isDeleted = false; | ||||
|         } | ||||
|  | ||||
|         if (!this.dateCreated) { | ||||
|             this.dateCreated = dateUtils.nowDate(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.dateModified = dateUtils.nowDate(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| module.exports = Image; | ||||
| @@ -5,28 +5,30 @@ const repository = require('../services/repository'); | ||||
| const dateUtils = require('../services/date_utils'); | ||||
| 
 | ||||
| /** | ||||
|  * This class represents image's placement in the note(s). One image may be placed into several notes. | ||||
|  * 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. | ||||
|  * | ||||
|  * @param {string} noteImageId | ||||
|  * @param {string} linkId | ||||
|  * @param {string} noteId | ||||
|  * @param {string} imageId | ||||
|  * @param {string} targetNoteId | ||||
|  * @param {string} type | ||||
|  * @param {boolean} isDeleted | ||||
|  * @param {string} dateModified | ||||
|  * @param {string} dateCreated | ||||
|  * | ||||
|  * @extends Entity | ||||
|  */ | ||||
| class NoteImage extends Entity { | ||||
|     static get entityName() { return "note_images"; } | ||||
|     static get primaryKeyName() { return "noteImageId"; } | ||||
|     static get hashedProperties() { return ["noteImageId", "noteId", "imageId", "isDeleted", "dateCreated"]; } | ||||
| 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"]; } | ||||
| 
 | ||||
|     async getNote() { | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]); | ||||
|     } | ||||
| 
 | ||||
|     async getImage() { | ||||
|         return await repository.getEntity("SELECT * FROM images WHERE imageId = ?", [this.imageId]); | ||||
|     async getTargetNote() { | ||||
|         return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.targetNoteId]); | ||||
|     } | ||||
| 
 | ||||
|     beforeSaving() { | ||||
| @@ -46,4 +48,4 @@ class NoteImage extends Entity { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| module.exports = NoteImage; | ||||
| module.exports = Link; | ||||
| @@ -7,7 +7,9 @@ const repository = require('../services/repository'); | ||||
| const dateUtils = require('../services/date_utils'); | ||||
|  | ||||
| const LABEL = 'label'; | ||||
| const LABEL_DEFINITION = 'label-definition'; | ||||
| const RELATION = 'relation'; | ||||
| const RELATION_DEFINITION = 'relation-definition'; | ||||
|  | ||||
| /** | ||||
|  * This represents a Note which is a central object in the Trilium Notes project. | ||||
| @@ -36,9 +38,14 @@ class Note extends Entity { | ||||
|         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 noteId, otherwise this is a new entity which wasn't encrypted yet | ||||
|         if (this.isProtected && this.noteId) { | ||||
|             this.isContentAvailable = protectedSessionService.isProtectedSessionAvailable(); | ||||
|  | ||||
|             protectedSessionService.decryptNote(this); | ||||
|         } | ||||
|  | ||||
| @@ -99,6 +106,13 @@ class Note extends Entity { | ||||
|         return await repository.getEntities(`SELECT * FROM attributes WHERE isDeleted = 0 AND noteId = ?`, [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<Attribute[]>} relations targetting this specific note | ||||
|      */ | ||||
|     async getTargetRelations() { | ||||
|         return await repository.getEntities("SELECT * FROM attributes WHERE type = 'relation' AND isDeleted = 0 AND value = ?", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - attribute name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's attributes, including inherited ones | ||||
| @@ -124,6 +138,14 @@ class Note extends Entity { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === LABEL); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - label name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's label definitions, including inherited ones | ||||
|      */ | ||||
|     async getLabelDefinitions(name) { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === LABEL_DEFINITION); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - relation name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's relations (attributes with type relation), including inherited ones | ||||
| @@ -132,6 +154,14 @@ class Note extends Entity { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === RELATION); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param {string} [name] - relation name to filter | ||||
|      * @returns {Promise<Attribute[]>} all note's relation definitions including inherited ones | ||||
|      */ | ||||
|     async getRelationDefinitions(name) { | ||||
|         return (await this.getAttributes(name)).filter(attr => attr.type === RELATION_DEFINITION); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Clear note's attributes cache to force fresh reload for next attribute request. | ||||
|      * Cache is note instance scoped. | ||||
| @@ -403,14 +433,14 @@ class Note extends Entity { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Finds notes with given attribute name and value. Only own attributes are considered, not inherited ones | ||||
|      * Finds child notes with given attribute name and value. Only own attributes are considered, not inherited ones | ||||
|      * | ||||
|      * @param {string} type - attribute type (label, relation, etc.) | ||||
|      * @param {string} name - attribute name | ||||
|      * @param {string} [value] - attribute value | ||||
|      * @returns {Promise<Note[]>} | ||||
|      */ | ||||
|     async findNotesWithAttribute(type, name, value) { | ||||
|     async findChildNotesWithAttribute(type, name, value) { | ||||
|         const params = [this.noteId, name]; | ||||
|         let valueCondition = ""; | ||||
|  | ||||
| @@ -448,7 +478,7 @@ class Note extends Entity { | ||||
|      * @param {string} [value] - label value | ||||
|      * @returns {Promise<Note[]>} | ||||
|      */ | ||||
|     async findNotesWithLabel(name, value) { return await this.findNotesWithAttribute(LABEL, name, value); } | ||||
|     async findChildNotesWithLabel(name, value) { return await this.findChildNotesWithAttribute(LABEL, name, value); } | ||||
|  | ||||
|     /** | ||||
|      * Finds notes with given relation name and value. Only own relations are considered, not inherited ones | ||||
| @@ -457,7 +487,7 @@ class Note extends Entity { | ||||
|      * @param {string} [value] - relation value | ||||
|      * @returns {Promise<Note[]>} | ||||
|      */ | ||||
|     async findNotesWithRelation(name, value) { return await this.findNotesWithAttribute(RELATION, name, value); } | ||||
|     async findChildNotesWithRelation(name, value) { return await this.findChildNotesWithAttribute(RELATION, name, value); } | ||||
|  | ||||
|     /** | ||||
|      * Returns note revisions of this note. | ||||
| @@ -469,10 +499,30 @@ class Note extends Entity { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @returns {Promise<NoteImage[]>} | ||||
|      * Get list of links coming out of this note. | ||||
|      * | ||||
|      * @returns {Promise<Link[]>} | ||||
|      */ | ||||
|     async getNoteImages() { | ||||
|         return await repository.getEntities("SELECT * FROM note_images WHERE noteId = ? AND isDeleted = 0", [this.noteId]); | ||||
|     async getLinks() { | ||||
|         return await repository.getEntities("SELECT * FROM links WHERE noteId = ? AND isDeleted = 0", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get list of links targetting this note. | ||||
|      * | ||||
|      * @returns {Promise<Link[]>} | ||||
|      */ | ||||
|     async getTargetLinks() { | ||||
|         return await repository.getEntities("SELECT * FROM links WHERE targetNoteId = ? AND isDeleted = 0", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return all links from this note, including deleted ones. | ||||
|      * | ||||
|      * @returns {Promise<Link[]>} | ||||
|      */ | ||||
|     async getLinksWithDeleted() { | ||||
|         return await repository.getEntities("SELECT * FROM links WHERE noteId = ?", [this.noteId]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| Before Width: | Height: | Size: 511 B | 
| Before Width: | Height: | Size: 381 B | 
| Before Width: | Height: | Size: 245 B | 
| Before Width: | Height: | Size: 339 B | 
| Before Width: | Height: | Size: 463 B | 
| Before Width: | Height: | Size: 312 B | 
| Before Width: | Height: | Size: 288 B | 
| Before Width: | Height: | Size: 284 B | 
| Before Width: | Height: | Size: 292 B | 
| Before Width: | Height: | Size: 511 B | 
| Before Width: | Height: | Size: 155 B | 
| Before Width: | Height: | Size: 358 B | 
| Before Width: | Height: | Size: 252 B | 
| Before Width: | Height: | Size: 288 B | 
| Before Width: | Height: | Size: 388 B | 
| Before Width: | Height: | Size: 431 B | 
| Before Width: | Height: | Size: 419 B | 
| Before Width: | Height: | Size: 354 B | 
| Before Width: | Height: | Size: 388 B | 
| Before Width: | Height: | Size: 462 B | 
| Before Width: | Height: | Size: 240 B | 
| Before Width: | Height: | Size: 259 B | 
| @@ -15,7 +15,6 @@ const $prefixFormGroup = $("#add-link-prefix-form-group"); | ||||
| const $linkTypeDiv = $("#add-link-type-div"); | ||||
| const $linkTypes = $("input[name='add-link-type']"); | ||||
| const $linkTypeHtml = $linkTypes.filter('input[value="html"]'); | ||||
| const $showRecentNotesButton = $dialog.find(".show-recent-notes-button"); | ||||
|  | ||||
| function setLinkType(linkType) { | ||||
|     $linkTypes.each(function () { | ||||
| @@ -39,10 +38,7 @@ async function showDialog() { | ||||
|         setLinkType('selected-to-current'); | ||||
|     } | ||||
|  | ||||
|     $dialog.dialog({ | ||||
|         modal: true, | ||||
|         width: 700 | ||||
|     }); | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     $autoComplete.val('').focus(); | ||||
|     $clonePrefix.val(''); | ||||
| @@ -54,50 +50,31 @@ async function showDialog() { | ||||
|         $linkTitle.val(noteTitle); | ||||
|     } | ||||
|  | ||||
|     await $autoComplete.autocomplete({ | ||||
|         source: noteAutocompleteService.autocompleteSource, | ||||
|         minLength: 0, | ||||
|         change: async (event, ui) => { | ||||
|             if (!ui.item) { | ||||
|                 return; | ||||
|             } | ||||
|     noteAutocompleteService.initNoteAutocomplete($autoComplete); | ||||
|  | ||||
|             const notePath = linkService.getNotePathFromLabel(ui.item.value); | ||||
|  | ||||
|             if (!notePath) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             const noteId = treeUtils.getNoteIdFromNotePath(notePath); | ||||
|  | ||||
|             if (noteId) { | ||||
|                 await setDefaultLinkTitle(noteId); | ||||
|             } | ||||
|         }, | ||||
|         select: function (event, ui) { | ||||
|             if (ui.item.value === 'No results') { | ||||
|     $autoComplete.on('autocomplete:selected', function(event, suggestion, dataset) { | ||||
|         if (!suggestion.path) { | ||||
|             return false; | ||||
|         } | ||||
|         }, | ||||
|         // this is called when user goes through autocomplete list with keyboard | ||||
|         // at this point the item isn't selected yet so we use supplied ui.item to see WHERE the cursor is | ||||
|         focus: async (event, ui) => { | ||||
|             const notePath = linkService.getNotePathFromLabel(ui.item.value); | ||||
|             const noteId = treeUtils.getNoteIdFromNotePath(notePath); | ||||
|  | ||||
|             await setDefaultLinkTitle(noteId); | ||||
|         const noteId = treeUtils.getNoteIdFromNotePath(suggestion.path); | ||||
|  | ||||
|             event.preventDefault(); | ||||
|         if (noteId) { | ||||
|             setDefaultLinkTitle(noteId); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     showRecentNotes(); | ||||
|     $autoComplete.on('autocomplete:cursorchanged', function(event, suggestion, dataset) { | ||||
|         const noteId = treeUtils.getNoteIdFromNotePath(suggestion.path); | ||||
|  | ||||
|         setDefaultLinkTitle(noteId); | ||||
|     }); | ||||
|  | ||||
|     noteAutocompleteService.showRecentNotes($autoComplete); | ||||
| } | ||||
|  | ||||
| $form.submit(() => { | ||||
|     const value = $autoComplete.val(); | ||||
|  | ||||
|     const notePath = linkService.getNotePathFromLabel(value); | ||||
|     const notePath = $autoComplete.getSelectedPath(); | ||||
|     const noteId = treeUtils.getNoteIdFromNotePath(notePath); | ||||
|  | ||||
|     if (notePath) { | ||||
| @@ -106,7 +83,7 @@ $form.submit(() => { | ||||
|         if (linkType === 'html') { | ||||
|             const linkTitle = $linkTitle.val(); | ||||
|  | ||||
|             $dialog.dialog("close"); | ||||
|             $dialog.modal('hide'); | ||||
|  | ||||
|             const linkHref = '#' + notePath; | ||||
|  | ||||
| @@ -124,16 +101,19 @@ $form.submit(() => { | ||||
|  | ||||
|             cloningService.cloneNoteTo(noteId, noteDetailService.getCurrentNoteId(), prefix); | ||||
|  | ||||
|             $dialog.dialog("close"); | ||||
|             $dialog.modal('hide'); | ||||
|         } | ||||
|         else if (linkType === 'current-to-selected') { | ||||
|             const prefix = $clonePrefix.val(); | ||||
|  | ||||
|             cloningService.cloneNoteTo(noteDetailService.getCurrentNoteId(), noteId, prefix); | ||||
|  | ||||
|             $dialog.dialog("close"); | ||||
|             $dialog.modal('hide'); | ||||
|         } | ||||
|     } | ||||
|     else { | ||||
|         console.error("No path to add link."); | ||||
|     } | ||||
|  | ||||
|     return false; | ||||
| }); | ||||
| @@ -155,14 +135,8 @@ function linkTypeChanged() { | ||||
|     $linkTypeDiv.toggle(!hasSelection()); | ||||
| } | ||||
|  | ||||
| function showRecentNotes() { | ||||
|     $autoComplete.autocomplete("search", ""); | ||||
| } | ||||
|  | ||||
| $linkTypes.change(linkTypeChanged); | ||||
|  | ||||
| $showRecentNotesButton.click(showRecentNotes); | ||||
|  | ||||
| export default { | ||||
|     showDialog | ||||
| }; | ||||
| @@ -2,7 +2,8 @@ import noteDetailService from '../services/note_detail.js'; | ||||
| import server from '../services/server.js'; | ||||
| import infoService from "../services/info.js"; | ||||
| import treeUtils from "../services/tree_utils.js"; | ||||
| import linkService from "../services/link.js"; | ||||
| import attributeService from "../services/attributes.js"; | ||||
| import attributeAutocompleteService from "../services/attribute_autocomplete.js"; | ||||
|  | ||||
| const $dialog = $("#attributes-dialog"); | ||||
| const $saveAttributesButton = $("#save-attributes-button"); | ||||
| @@ -61,7 +62,8 @@ function AttributesModel() { | ||||
|  | ||||
|         for (const attr of ownedAttributes) { | ||||
|             attr.labelValue = attr.type === 'label' ? attr.value : ''; | ||||
|             attr.relationValue = attr.type === 'relation' ? (await treeUtils.getNoteTitle(attr.value) + " (" + attr.value + ")") : ''; | ||||
|             attr.relationValue = attr.type === 'relation' ? (await treeUtils.getNoteTitle(attr.value)) : ''; | ||||
|             attr.selectedPath = attr.type === 'relation' ? attr.value : ''; | ||||
|             attr.labelDefinition = (attr.type === 'label-definition' && attr.value) ? attr.value : { | ||||
|                 labelType: "text", | ||||
|                 multiplicityType: "singlevalue", | ||||
| @@ -70,6 +72,7 @@ function AttributesModel() { | ||||
|  | ||||
|             attr.relationDefinition = (attr.type === 'relation-definition' && attr.value) ? attr.value : { | ||||
|                 multiplicityType: "singlevalue", | ||||
|                 mirrorRelation: "", | ||||
|                 isPromoted: true | ||||
|             }; | ||||
|  | ||||
| @@ -94,12 +97,6 @@ function AttributesModel() { | ||||
|  | ||||
|         // attribute might not be rendered immediatelly so could not focus | ||||
|         setTimeout(() => $(".attribute-type-select:last").focus(), 100); | ||||
|  | ||||
|         $ownedAttributesBody.sortable({ | ||||
|             handle: '.handle', | ||||
|             containment: $ownedAttributesBody, | ||||
|             update: this.updateAttributePositions | ||||
|         }); | ||||
|     }; | ||||
|  | ||||
|     this.deleteAttribute = function(data, event) { | ||||
| @@ -149,7 +146,7 @@ function AttributesModel() { | ||||
|                 attr.value = attr.labelValue; | ||||
|             } | ||||
|             else if (attr.type === 'relation') { | ||||
|                 attr.value = treeUtils.getNoteIdFromNotePath(linkService.getNotePathFromLabel(attr.relationValue)) || ""; | ||||
|                 attr.value = treeUtils.getNoteIdFromNotePath(attr.selectedPath); | ||||
|             } | ||||
|             else if (attr.type === 'label-definition') { | ||||
|                 attr.value = attr.labelDefinition; | ||||
| @@ -170,7 +167,7 @@ function AttributesModel() { | ||||
|  | ||||
|         infoService.showMessage("Attributes have been saved."); | ||||
|  | ||||
|         noteDetailService.refreshAttributes(); | ||||
|         attributeService.refreshAttributes(); | ||||
|     }; | ||||
|  | ||||
|     function addLastEmptyRow() { | ||||
| @@ -194,6 +191,7 @@ function AttributesModel() { | ||||
|                 }, | ||||
|                 relationDefinition: { | ||||
|                     multiplicityType: "singlevalue", | ||||
|                     mirrorRelation: "", | ||||
|                     isPromoted: true | ||||
|                 } | ||||
|             })); | ||||
| @@ -223,78 +221,34 @@ function AttributesModel() { | ||||
| } | ||||
|  | ||||
| async function showDialog() { | ||||
|     // lazily apply bindings on first use | ||||
|     if (!ko.dataFor($dialog[0])) { | ||||
|         ko.applyBindings(attributesModel, $dialog[0]); | ||||
|     } | ||||
|  | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     await attributesModel.loadAttributes(); | ||||
|  | ||||
|     $dialog.dialog({ | ||||
|         modal: true, | ||||
|         width: 950, | ||||
|         height: 700 | ||||
|     }); | ||||
|     $dialog.modal(); | ||||
| } | ||||
|  | ||||
| ko.applyBindings(attributesModel, $dialog[0]); | ||||
|  | ||||
| $dialog.on('focus', '.attribute-name', function (e) { | ||||
|     if (!$(this).hasClass("ui-autocomplete-input")) { | ||||
|         $(this).autocomplete({ | ||||
|             source: async (request, response) => { | ||||
|     attributeAutocompleteService.initAttributeNameAutocomplete({ | ||||
|         $el: $(this), | ||||
|         attributeType: () => { | ||||
|             const attribute = attributesModel.getTargetAttribute(this); | ||||
|                 const type = (attribute().type === 'relation' || attribute().type === 'relation-definition') ? 'relation' : 'label'; | ||||
|                 const names = await server.get('attributes/names/?type=' + type + '&query=' + encodeURIComponent(request.term)); | ||||
|                 const result = names.map(name => { | ||||
|                     return { | ||||
|                         label: name, | ||||
|                         value: name | ||||
|                     } | ||||
|                 }); | ||||
|  | ||||
|                 if (result.length > 0) { | ||||
|                     response(result); | ||||
|                 } | ||||
|                 else { | ||||
|                     response([{ | ||||
|                         label: "No results", | ||||
|                         value: "No results" | ||||
|                     }]); | ||||
|                 } | ||||
|             return (attribute().type === 'relation' || attribute().type === 'relation-definition') ? 'relation' : 'label'; | ||||
|         }, | ||||
|             minLength: 0 | ||||
|         open: true | ||||
|     }); | ||||
|     } | ||||
|  | ||||
|     $(this).autocomplete("search", $(this).val()); | ||||
| }); | ||||
|  | ||||
| $dialog.on('focus', '.label-value', async function (e) { | ||||
|     if (!$(this).hasClass("ui-autocomplete-input")) { | ||||
|         const attributeName = $(this).parent().parent().find('.attribute-name').val(); | ||||
|  | ||||
|         if (attributeName.trim() === "") { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         const attributeValues = await server.get('attributes/values/' + encodeURIComponent(attributeName)); | ||||
|  | ||||
|         if (attributeValues.length === 0) { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         $(this).autocomplete({ | ||||
|             // shouldn't be required and autocomplete should just accept array of strings, but that fails | ||||
|             // because we have overriden filter() function in autocomplete.js | ||||
|             source: attributeValues.map(attribute => { | ||||
|                 return { | ||||
|                     attribute: attribute, | ||||
|                     value: attribute | ||||
|                 } | ||||
|             }), | ||||
|             minLength: 0 | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     $(this).autocomplete("search", $(this).val()); | ||||
| $dialog.on('focus', '.label-value', function (e) { | ||||
|     attributeAutocompleteService.initLabelValueAutocomplete({ | ||||
|         $el: $(this), | ||||
|         open: true | ||||
|     }) | ||||
| }); | ||||
|  | ||||
| export default { | ||||
|   | ||||
| @@ -3,20 +3,17 @@ import server from '../services/server.js'; | ||||
| import treeCache from "../services/tree_cache.js"; | ||||
| import treeUtils from "../services/tree_utils.js"; | ||||
|  | ||||
| const $dialog = $("#edit-tree-prefix-dialog"); | ||||
| const $form = $("#edit-tree-prefix-form"); | ||||
| const $treePrefixInput = $("#tree-prefix-input"); | ||||
| const $noteTitle = $('#tree-prefix-note-title'); | ||||
| const $dialog = $("#branch-prefix-dialog"); | ||||
| const $form = $("#branch-prefix-form"); | ||||
| const $treePrefixInput = $("#branch-prefix-input"); | ||||
| const $noteTitle = $('#branch-prefix-note-title'); | ||||
|  | ||||
| let branchId; | ||||
|  | ||||
| async function showDialog() { | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     await $dialog.dialog({ | ||||
|         modal: true, | ||||
|         width: 600 | ||||
|     }); | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     const currentNode = treeService.getCurrentNode(); | ||||
|  | ||||
| @@ -37,7 +34,7 @@ async function savePrefix() { | ||||
|  | ||||
|     await treeService.setPrefix(branchId, prefix); | ||||
|  | ||||
|     $dialog.dialog("close"); | ||||
|     $dialog.modal('hide'); | ||||
| } | ||||
|  | ||||
| $form.submit(() => { | ||||
|   | ||||
							
								
								
									
										74
									
								
								src/public/javascripts/dialogs/confirm.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,74 @@ | ||||
| const $dialog = $("#confirm-dialog"); | ||||
| const $confirmContent = $("#confirm-dialog-content"); | ||||
| const $okButton = $("#confirm-dialog-ok-button"); | ||||
| const $cancelButton = $("#confirm-dialog-cancel-button"); | ||||
| const $custom = $("#confirm-dialog-custom"); | ||||
|  | ||||
| const DELETE_NOTE_BUTTON_ID = "confirm-dialog-delete-note"; | ||||
|  | ||||
| let resolve; | ||||
|  | ||||
| function confirm(message) { | ||||
|     $custom.hide(); | ||||
|  | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     $confirmContent.text(message); | ||||
|  | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     return new Promise((res, rej) => { resolve = res; }); | ||||
| } | ||||
|  | ||||
| function confirmDeleteNoteBoxWithNote(title) { | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     $confirmContent.text(`Are you sure you want to remove the note "${title}" from relation map?`); | ||||
|  | ||||
|     $custom.empty() | ||||
|         .append("<br/>") | ||||
|         .append($("<div>").addClass("form-check") | ||||
|             .append($("<input>") | ||||
|                 .attr("id", DELETE_NOTE_BUTTON_ID) | ||||
|                 .attr("type", "checkbox") | ||||
|                 .addClass("form-check-input")) | ||||
|             .append($("<label>") | ||||
|                 .attr("for", DELETE_NOTE_BUTTON_ID) | ||||
|                 .addClass("form-check-label") | ||||
|                 .attr("style", "text-decoration: underline dotted black") | ||||
|                 .attr("title", "If you don't check this, note will be only removed from relation map, but will stay as a note.") | ||||
|                 .html("Also delete note"))); | ||||
|     $custom.show(); | ||||
|  | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     return new Promise((res, rej) => { resolve = res; }); | ||||
| } | ||||
|  | ||||
| function isDeleteNoteChecked() { | ||||
|     return $("#" + DELETE_NOTE_BUTTON_ID + ":checked").length > 0; | ||||
| } | ||||
|  | ||||
| $dialog.on('shown.bs.modal', () => $okButton.trigger("focus")); | ||||
|  | ||||
| $dialog.on("hidden.bs.modal", () => { | ||||
|     if (resolve) { | ||||
|         resolve(false); | ||||
|     } | ||||
| }); | ||||
|  | ||||
| function doResolve(ret) { | ||||
|     resolve(ret); | ||||
|     resolve = null; | ||||
|  | ||||
|     $dialog.modal("hide"); | ||||
| } | ||||
|  | ||||
| $cancelButton.click(() => doResolve(false)); | ||||
| $okButton.click(() => doResolve(true)); | ||||
|  | ||||
| export default { | ||||
|     confirm, | ||||
|     confirmDeleteNoteBoxWithNote, | ||||
|     isDeleteNoteChecked | ||||
| } | ||||
| @@ -8,11 +8,7 @@ const $list = $("#event-log-list"); | ||||
| async function showDialog() { | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     $dialog.dialog({ | ||||
|         modal: true, | ||||
|         width: 800, | ||||
|         height: 700 | ||||
|     }); | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     const result = await server.get('event-log'); | ||||
|  | ||||
|   | ||||
							
								
								
									
										35
									
								
								src/public/javascripts/dialogs/export_subtree.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,35 @@ | ||||
| import treeService from '../services/tree.js'; | ||||
| import server from '../services/server.js'; | ||||
| import treeUtils from "../services/tree_utils.js"; | ||||
| import exportService from "../services/export.js"; | ||||
|  | ||||
| const $dialog = $("#export-subtree-dialog"); | ||||
| const $form = $("#export-subtree-form"); | ||||
| const $noteTitle = $dialog.find(".note-title"); | ||||
|  | ||||
| async function showDialog() { | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     const currentNode = treeService.getCurrentNode(); | ||||
|     const noteTitle = await treeUtils.getNoteTitle(currentNode.data.noteId); | ||||
|  | ||||
|     $noteTitle.html(noteTitle); | ||||
| } | ||||
|  | ||||
| $form.submit(() => { | ||||
|     const exportFormat = $dialog.find("input[name='export-format']:checked").val(); | ||||
|  | ||||
|     const currentNode = treeService.getCurrentNode(); | ||||
|  | ||||
|     exportService.exportSubtree(currentNode.data.branchId, exportFormat); | ||||
|  | ||||
|     $dialog.modal('hide'); | ||||
|  | ||||
|     return false; | ||||
| }); | ||||
|  | ||||
| export default { | ||||
|     showDialog | ||||
| }; | ||||