Project

General

Profile

API » History » Version 4

Denis Kildishev, 04/22/2020 05:49 PM

1 1 Denis Kildishev
h1. API
2
3
h2. Experimental
4
5
h3. Test data
6
7
ed612ae4-ced3-408c-8d64-66d87981611f — id of document
8
5b9946fe-585c-47f6-93bb-5bb2e37a04d3 — id of new location
9
b7088d84-9c96-4657-abab-7690585ddd8e — id of requirement
10
11
h3. Methods
12
13 2 Denis Kildishev
GET
14
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f
15
get document and all locs
16
17 1 Denis Kildishev
PUT
18
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/addlocation
19
add location to doc with id before addloc
20
21
GET
22
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/locations
23
list all locations
24
25
GET
26
http://localhost:9988/projects/someproject/documents/ed612ae4-ced3-408c-8d64-66d87981611f/contents
27
get contents of document and all related resourses in form of multidata
28
have fields 
29
*fileName* — name of xhtml file
30
*resources* — list of related resources
31
for example, "imgs/testDoc_html_2f94255ac1355d0d.jpg", "testDoc.xhtml", "imgs/testDoc_html_6a3c8113b28c3ae7.jpg"
32
and several files. File with html content have name «html»
33
34
DELETE
35
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3
36
removes location
37
38 2 Denis Kildishev
GET
39
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3
40
get location
41
42 1 Denis Kildishev
POST
43
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/addfragment
44
BODY
45
{
46 2 Denis Kildishev
	„start“:“0“,
47
        „end“:“20“
48 1 Denis Kildishev
}
49
adds fragment to location
50
51
52
POST
53
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/removefragment
54
BODY
55
{
56 2 Denis Kildishev
	„start“:“0“,
57
        „end“:“20“
58 1 Denis Kildishev
}
59
removes fragment from location
60
61
62
63
POST
64
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/linkto/b7088d84-9c96-4657-abab-7690585ddd8e
65
add link between requirement and location
66
67
DELETE
68
http://localhost:9988/projects/someproject/documents/location/5b9946fe-585c-47f6-93bb-5bb2e37a04d3/linkto/b7088d84-9c96-4657-abab-7690585ddd8e
69
remove link between requirement and location
70 3 Denis Kildishev
71
GET
72
http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f
73
list all resources for node
74
75
GET
76
http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f/subpath.xhtml
77
or
78
http://localhost:9988/projects/someproject/resources/ed612ae4-ced3-408c-8d64-66d87981611f/images/1.jpg
79
returns content of resource with given subpath
80 4 Denis Kildishev
81
82
h2. Old ru description
83
Создание проекта
84
85
Путь: 	http://localhost:9988/projects/{имя_проекта}
86
Метод: 	PUT
87
Headers:	
88
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
89
90
Удаление проекта
91
92
Путь: 	http://localhost:9988/projects/{имя_проекта}
93
Метод: 	DELETE
94
Headers:	
95
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
96
97
Просмотр проекта, выдает полное дерево узлов и свойств
98
99
Путь: 	http://localhost:9988/projects/{имя_проекта}
100
Метод: 	GET
101
Headers:	
102
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
103
104
Просмотр списка определений enum
105
106
Путь: 	http://localhost:9988/projects/{имя_проекта}/enumDefs
107
Метод: 	GET
108
Headers:	
109
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
110
111
112
Добавление определений enum
113
114
Путь: 	http://localhost:9988/projects/{имя_проекта}/enumDefs
115
Метод: 	PUT
116
Headers:	
117
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
118
Body: 
119
{
120
	"attributes":{
121
		"3": {
122
		    "value": [
123
		      {
124
			"value": "1"
125
		      },
126
		      {
127
			"value": "2"
128
		      },
129
		      {
130
			"comment"[optional]: "test",
131
			"value": "3"
132
		      }
133
		    ],
134
		    "valuesType"[optional, STRING by def]: "STRING",
135
		    "type": "ENUM_DEFINITION"
136
		}
137
	}
138
}
139
140
Переустановка определений enum(удаляет старые)
141
Путь: 	http://localhost:9988/projects/{имя_проекта}/enumDefs
142
Метод: 	POST
143
остальное см. выше
144
145
146
Получение узла со свойствами
147
148
Путь: 	http://localhost:9988/projects/{имя_проекта}/node
149
Метод: 	POST
150
Body:
151
Путь к узлу - qid, uvid или uuid
152
153
Получение поддерева со свойствами
154
155
Путь: 	http://localhost:9988/projects/{имя_проекта}/tree
156
Метод: 	POST
157
Body:
158
Путь к узлу - qid, uvid или uuid
159
160
Получение поддерева требований со свойствами (начиная с Requirements)
161
162
Путь: 	http://localhost:9988/projects/{имя_проекта}/tree
163
Метод: 	GET
164
165
Получение поддерева с ограничением по глубине 
166
Путь: 	http://localhost:9988/projects/{имя_проекта}/tree-{глубина}
167
Метод: 	POST
168
Body:
169
Путь к узлу - qid, uvid или uuid
170
171
Установка свойств
172
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/attributes/
173
Метод: 	PUT
174
Headers:
175
	Content-Type=application/json
176
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
177
Тип данных - multipart/form-data
178
Body:
179
два вида полей - input содержит json, images содержит изображения
180
пример input = 
181
{
182
  "attributes": {
183
    "test": {
184
      "value": "13d23",
185
      "type": "INT"
186
    },
187
    "_name": {
188
      "value": "{test} test 123"
189
    },
190
    "Ref": {
191
      "type": "REFERENCE",
192
      "value":"test"
193
    }
194
  "2": {
195
    "value": [
196
      {
197
        "value": "001 2/001"
198
      },
199
      {
200
        "value": "002/001/001"
201
      },
202
      {
203
        "value": "Requirements"
204
      }
205
    ],
206
    "valuesType": "REFERENCE",
207
    "type": "LIST"
208
  },
209
  "3val": {
210
    "value": "1",
211
    "enumName": "3",
212
    "type": "ENUM"
213
  }
214
}
215
216
Удаление свойств
217
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/attributes/
218
Метод: 	DELETE
219
Headers:
220
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
221
222
Body: //пример установки свойств
223
{имя1}, {имя2}...
224
Возвращает текущий набор свойств
225
226
Удаление узла
227
Путь: 	http://localhost:9988/projects/{имя_проекта}/node
228
Метод: 	DELETE
229
Body:
230
Путь к узлу - qid, uvid или uuid
231
Возвращает новое поддерево с предком выбранного узла после удаления
232
233
Перемещение узла без автопереименования, вернет ошибку при совпадении id
234
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move
235
Метод: 	POST
236
Headers:
237
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
238
Body:
239
Путь к новому предку узла - qid, uvid или uuid
240
Возвращает новое поддерево с предком выбранного узла после перемещения
241
242
Перемещение узла с автопереименованием
243
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move-rename
244
Метод: 	POST
245
Headers:
246
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
247
Body:
248
Путь к новому предку узла - qid, uvid или uuid
249
Возвращает новое поддерево с предком выбранного узла после перемещения
250
251
Перемещение узла после указанного с автопереименованием
252
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/move-after
253
Метод: 	POST
254
Headers:
255
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
256
Body:
257
Путь к узлу в место после которого должен переместиться {uuid_узла} - qid, uvid или uuid
258
Возвращает новое поддерево с предком выбранного узла после перемещения
259
260
Получение идентефикаторов
261
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/id
262
Метод: 	GET
263
Headers:
264
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
265
Возвращает id, qid, uvid
266
267
Переименование узла
268
Путь: 	http://localhost:9988/projects/{имя_проекта}/nodes/{uuid_узла}/id
269
Метод: 	PUT
270
Headers:
271
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
272
Body:
273
Новый id
274
Возвращает новые id, qid, uvid
275
276
Создание узла
277
Путь: 	http://localhost:9988/projects/{имя_проекта}/create
278
Метод: 	PUT
279
Headers:
280
	Authorization=Bearer 36AC0A0F7F271314B72986EB54DB2343
281
Тип данных - multipart/form-data
282
Body:
283
два вида полей - input содержит json, images содержит изображения
284
285
пример input = 
286
{
287
	"parent": "516bbbbc-babf-45d6-a146-61db334411be",     
288
	"type":"Requirement",     
289
	"id":"002",            
290
	"attributes":{         
291
		"test": {
292
	           "value": "13d23",
293
	           "type": "INT"         
294
		},
295
		"_name": {           
296
			"value": "{test} test 123"         
297
		},
298
		 "Ref": {
299
			"type": "REFERENCE",
300
			"value":"test"
301
		},
302
		"_description": {
303
			"value":"test desc <img src='strange.png' alt='strange.xcf'/>", 			"type":"HTML"
304
		}      
305
	}     
306
}
307
308
Идентефикатор("id") опционален
309
310
Примеры выдачи:
311
Список ссылок
312
2: {
313
"valuesType": "REFERENCE",
314
"value": [
315
  {
316
"nodes": [
317
  "71f2c6d9-aa54-4293-95d4-ed0d50fba6c1"
318
],
319
"value": "001 2/001"
320
},
321
  {
322
"value": "*Missing: '002/001/001'"
323
},
324
  {
325
"nodes": [
326
  "516bbbbc-babf-45d6-a146-61db334411be"
327
],
328
"value": "Requirements"
329
}
330
],
331
"type": "LIST"
332
},
333
334
Ссылка с ошибкой
335
1: {
336
"value": "*Missing: '002/001/001'",
337
"type": "REFERENCE"
338
},
339
340
enum def(GET http://localhost:9988/projects/{проект}/enumDefs)
341
{
342
"success": true,
343
"result": {
344
"attributes": {
345
3: {
346
"value": [
347
  {
348
"comment": null,
349
"value": "1"
350
},
351
  {
352
"comment": null,
353
"value": "2"
354
},
355
  {
356
"comment": null,
357
"value": "3"
358
}
359
],
360
"valuesType": "INT",
361
"type": "ENUM_DEFINITION"
362
}
363
}
364
}
365
}
366
367
Enum value, значение должно содержаться в enum def с именем enumName
368
369
    "3Value": {
370
      "type": "ENUM",
371
      "enumName": "3",
372
      "value": "1"
373
    },