mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-27 01:51:34 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTTP
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTTP
		
	
	
	
	
	
| POST {{triliumHost}}/etapi/create-note
 | |
| Authorization: {{authToken}}
 | |
| Content-Type: application/json
 | |
| 
 | |
| {
 | |
|   "parentNoteId": "root",
 | |
|   "title": "Hello parent",
 | |
|   "type": "text",
 | |
|   "content": "Hi there!"
 | |
| }
 | |
| 
 | |
| > {%
 | |
| client.assert(response.status === 201);
 | |
| client.global.set("parentNoteId", response.body.note.noteId);
 | |
| client.global.set("parentBranchId", response.body.branch.branchId);
 | |
| %}
 | |
| 
 | |
| ### Create inheritable parent attribute
 | |
| 
 | |
| POST {{triliumHost}}/etapi/attributes
 | |
| Authorization: {{authToken}}
 | |
| Content-Type: application/json
 | |
| 
 | |
| {
 | |
|   "noteId": "{{parentNoteId}}",
 | |
|   "type": "label",
 | |
|   "name": "mylabel",
 | |
|   "value": "",
 | |
|   "isInheritable": true,
 | |
|   "position": 10
 | |
| }
 | |
| 
 | |
| > {%
 | |
| client.assert(response.status === 201);
 | |
| client.global.set("parentAttributeId", response.body.attributeId);
 | |
| %}
 | |
| 
 | |
| ### Create child note under root
 | |
| 
 | |
| POST {{triliumHost}}/etapi/create-note
 | |
| Authorization: {{authToken}}
 | |
| Content-Type: application/json
 | |
| 
 | |
| {
 | |
|   "parentNoteId": "root",
 | |
|   "title": "Hello child",
 | |
|   "type": "text",
 | |
|   "content": "Hi there!"
 | |
| }
 | |
| 
 | |
| > {%
 | |
| client.assert(response.status === 201);
 | |
| client.global.set("childNoteId", response.body.note.noteId);
 | |
| client.global.set("childBranchId", response.body.branch.branchId);
 | |
| %}
 | |
| 
 | |
| ### Create child attribute
 | |
| 
 | |
| POST {{triliumHost}}/etapi/attributes
 | |
| Authorization: {{authToken}}
 | |
| Content-Type: application/json
 | |
| 
 | |
| {
 | |
|   "noteId": "{{childNoteId}}",
 | |
|   "type": "label",
 | |
|   "name": "mylabel",
 | |
|   "value": "val",
 | |
|   "isInheritable": false,
 | |
|   "position": 10
 | |
| }
 | |
| 
 | |
| > {%
 | |
| client.assert(response.status === 201);
 | |
| client.global.set("childAttributeId", response.body.attributeId);
 | |
| %}
 | |
| 
 | |
| ### Clone child to parent
 | |
| 
 | |
| POST {{triliumHost}}/etapi/branches
 | |
| Authorization: {{authToken}}
 | |
| Content-Type: application/json
 | |
| 
 | |
| {
 | |
|   "noteId": "{{childNoteId}}",
 | |
|   "parentNoteId": "{{parentNoteId}}"
 | |
| }
 | |
| 
 | |
| > {%
 | |
| client.assert(response.status === 201);
 | |
| client.assert(response.body.parentNoteId == client.global.get("parentNoteId"));
 | |
| %}
 | |
| 
 | |
| ###
 | |
| 
 | |
| GET {{triliumHost}}/etapi/notes/{{childNoteId}}
 | |
| Authorization: {{authToken}}
 | |
| 
 | |
| > {%
 | |
| 
 | |
| function hasAttribute(list, attributeId) {
 | |
|   for (let i = 0; i < list.length; i++) {
 | |
|     if (list[i]["attributeId"] === attributeId) {
 | |
|       return true;
 | |
|     }
 | |
|   }
 | |
|   return false;
 | |
| }
 | |
| 
 | |
| client.log(JSON.stringify(response.body.attributes));
 | |
| 
 | |
| client.assert(response.status === 200);
 | |
| client.assert(response.body.noteId == client.global.get("childNoteId"));
 | |
| client.assert(response.body.attributes.length == 2);
 | |
| client.assert(hasAttribute(response.body.attributes, client.global.get("parentAttributeId")));
 | |
| client.assert(hasAttribute(response.body.attributes, client.global.get("childAttributeId")));
 | |
| %}
 | 
