queries.gd 7,1 КБ
Newer Older
magcourier's avatar
magcourier включено в состав коммита
1
2
3
4
5
6
7
8
extends Object
# Здесь будем хранить всё для запросов к бэкэнду по блоку "rajtigo"


# URL к API
const URL_DATA = "https://t34.tehnokom.su/api/v1.1/"


magcourier's avatar
magcourier включено в состав коммита
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# запрос на список управляемых объектов для вебсокета
func get_direktebla_json(statusoId, kategorioId, tipoId, id=0):
	if !id:
		id = Net.current_query_id
		Net.current_query_id += 1
	var query = JSON.print({
	'type': 'start',
	'id': '%s' % id,
	'payload': {"query": "query ($UzantoId:Int, $statusoId:Float, "+
		" $kategorioId:Float, $tipoId:Float)"+
		"{ universoObjekto (" +
		" universoobjektouzanto_Isnull:false,"+
		" universoobjektouzanto_Autoro_SiriusoUzanto_Id:$UzantoId," +
		") { edges { node { uuid " +
		" projekto (statuso_Id: $statusoId, tipo_Id: $tipoId){ "+
		"  edges { node { uuid "+
		"  tasko (kategorio_Id:$kategorioId){ edges {node { "+
magcourier's avatar
magcourier включено в состав коммита
26
27
		"   uuid finKoordinatoX finKoordinatoY finKoordinatoZ "+
		"   pozicio statuso {objId} } } } } } } "+
magcourier's avatar
magcourier включено в состав коммита
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
		" nomo { enhavo } priskribo { enhavo } "+
		" resurso { objId nomo { enhavo } priskribo { enhavo } "+
		"  tipo { objId nomo { enhavo } } "+
		" } "+
		" koordinatoX koordinatoY koordinatoZ "+
		' posedantoObjekto '+
		'  { uuid } '+
		" ligiloLigilo{edges{node{uuid "+
		"  posedanto{ kubo {objId} koordinatoX koordinatoY koordinatoZ }}}}" +
		" ligilo{edges{node{ "+
		"  konektiloPosedanto konektiloLigilo tipo{objId}"+
		"  ligilo{ uuid nomo{enhavo} integreco resurso{objId} "+
		"   ligilo{edges{node{" +
		"    konektiloPosedanto konektiloLigilo tipo{objId} " +
		"    ligilo{ uuid integreco resurso{objId} }}}}}" +
		"    tipo{objId}}}}" +
		" realeco{objId}" +
		" posedanto{edges{node{" +
		"  posedantoUzanto{ siriusoUzanto{ objId}}}}}" +
		" rotaciaX rotaciaY rotaciaZ } } } }",
		'variables': {"statusoId":statusoId, 
		"kategorioId":kategorioId, "tipoId":tipoId,
		"UzantoId":Global.id} } })

	# print("=== get_direktebla_query = ",query)
	return query
	

magcourier's avatar
magcourier включено в состав коммита
56
# запрос на список управляемых объектов в космосе
magcourier's avatar
magcourier включено в состав коммита
57
58
59
60
61
62
63
64
func get_direktebla_kosmo_json(id=0):
	if !id:
		id = Net.current_query_id
		Net.current_query_id += 1
	var query = JSON.print({
	'type': 'start',
	'id': '%s' % id,
	'payload': { "query": "query ($UzantoId:Int )"+
magcourier's avatar
magcourier включено в состав коммита
65
66
67
68
69
70
	"{ filteredUniversoObjekto (" +
	" universoobjektouzanto_Isnull:false,"+
	" universoobjektouzanto_Autoro_SiriusoUzanto_Id:$UzantoId," +
	" koordinatoX_Isnull:false, koordinatoY_Isnull:false, koordinatoZ_Isnull:false," +
	" kubo_Isnull:false," +
	") { edges { node { uuid " +
magcourier's avatar
magcourier включено в состав коммита
71
	"  realeco{objId}}}}}",
magcourier's avatar
magcourier включено в состав коммита
72
	'variables': {"UzantoId":Global.id} } })
magcourier's avatar
magcourier включено в состав коммита
73
	# print("=== get_direktebla_kosmo_query = ",query)
magcourier's avatar
magcourier включено в состав коммита
74
75
76
	return query


magcourier's avatar
magcourier включено в состав коммита
77
# задаём координаты и угол поворота объекту, удаляем связь по нахождению внутри
magcourier's avatar
magcourier включено в состав коммита
78
func go_objekt_kosmo_query(uuid, koordX, koordY, koordZ, rotaciaX, rotaciaY, rotaciaZ, uuid_ligilo_del, kuboId=1):
magcourier's avatar
magcourier включено в состав коммита
79
80
81
82
83
84
85
86
87
88
89
90
91
92
	var del = ''
	if uuid_ligilo_del:
		del = ' redaktuUniversoObjektoLigiloj (uuid: "'+uuid_ligilo_del+'",'
		del = del + 'forigo:true) {status message universoObjektojLigiloj{ uuid } } '

	var query = JSON.print({ 'query': 'mutation ($uuid:UUID, $koordX:Float, $koordY:Float, $koordZ:Float,'+
		' $rotaciaX:Float, $rotaciaY:Float, $rotaciaZ:Float, $kuboId:Int )'+
		' { redaktuUniversoObjekto ( uuid: $uuid, koordinatoX: $koordX, koordinatoY: $koordY, '+
		' koordinatoZ: $koordZ, rotaciaX: $rotaciaX, rotaciaY: $rotaciaY, rotaciaZ: $rotaciaZ, '+
		' kuboId: $kuboId) '+
		' { status message universoObjektoj { uuid } } ' + del + '}',
		'variables': {"uuid":uuid, "koordX": koordX, "koordY": koordY, "koordZ": koordZ,
		"rotaciaX": rotaciaX, "rotaciaY": rotaciaY, "rotaciaZ": rotaciaZ, 
		"kuboId":kuboId } })
magcourier's avatar
magcourier включено в состав коммита
93
	# print('==go_objekt_kosmo_query == ', query)
magcourier's avatar
magcourier включено в состав коммита
94
95
	return query

magcourier's avatar
magcourier включено в состав коммита
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115

# завершение задачи, проекта, запись в таблицу связей, что находимся внутри другого объекта
# station_uuid - в какой станции находимся
func eniri_kosmostacio(projekto_uuid, tasko_uuid, station_uuid):
	var statusoId = 4
	var tipoId = 3 #находится внутри
	var param = ''
	var mutateProjekto = ''

	if projekto_uuid:
		param = ', $tasko_uuid:UUID, $projekto_uuid:UUID, $statusoId:Int'
		mutateProjekto = 'redaktuUniversoTaskoj (uuid: $tasko_uuid, statusoId:$statusoId) { status '
		mutateProjekto = mutateProjekto + ' message universoTaskoj { uuid } } '
		mutateProjekto = mutateProjekto + 'redaktuUniversoProjekto (uuid: $projekto_uuid,  '
		mutateProjekto = mutateProjekto + ' statusoId:$statusoId) { status '
		mutateProjekto = mutateProjekto + ' message universoProjekto { uuid } } '
	return JSON.print({ 'query': 'mutation ($posedantoUuid:String, $ligiloUuid:String, '+
		' $tipoId:Int '+param+')'+
		'{ '+
		' redaktuUniversoObjektoLigiloj ( posedantoUuid:$posedantoUuid,' +
magcourier's avatar
magcourier включено в состав коммита
116
		'  ligiloUuid:$ligiloUuid, tipoId:$tipoId, publikigo:true) { message status' +
magcourier's avatar
magcourier включено в состав коммита
117
118
119
120
121
122
123
124
		'  universoObjektojLigiloj{ uuid } }' +
		mutateProjekto +
		'}',
		'variables': {"tasko_uuid":tasko_uuid, "statusoId": statusoId, "projekto_uuid":projekto_uuid,
			"posedantoUuid":station_uuid, 
			"ligiloUuid":Global.direktebla_objekto[Global.realeco-2]['uuid'], 
			"tipoId":tipoId } })

magcourier's avatar
magcourier включено в состав коммита
125
126
127
128
129

# Запрос к API, выбираем объекты, которые в космосе
# statusoId - статус проекта (2=в работе)
# kategorioId - категория задач Универсо (3 - Движение объектов)
# tipoId - тип проекта Универсо (2 - Для объектов)
magcourier's avatar
magcourier включено в состав коммита
130
func get_objekto_json(statusoId, kategorioId, tipoId, kuboId=1, id=0):
magcourier's avatar
magcourier включено в состав коммита
131
132
133
134
135
136
137
138
139
140
141
142
143
144
	if !id:
		id = Net.current_query_id
		Net.current_query_id += 1
	var query = JSON.print({
	'type': 'start',
	'id': '%s' % id,
	'payload':{ "query": "query ($kuboId:Float, $statusoId:Float, "+
		" $realecoId:Float, $kategorioId:Float, $tipoId:Float) " +
		"{ filteredUniversoObjekto (realeco_Id:$realecoId, kubo_Id: $kuboId, "+
		" koordinatoX_Isnull:false, koordinatoY_Isnull:false, koordinatoZ_Isnull:false," +
			" ) { edges { node { uuid posedantoId "+
		" projekto (statuso_Id: $statusoId, tipo_Id: $tipoId){ "+
		"  edges { node { uuid "+
		"  tasko (kategorio_Id:$kategorioId){ edges {node { "+
magcourier's avatar
magcourier включено в состав коммита
145
146
		"   uuid finKoordinatoX finKoordinatoY finKoordinatoZ "+
		"   pozicio statuso {objId} } } } } } } "+
magcourier's avatar
magcourier включено в состав коммита
147
148
149
150
151
152
153
154
155
		" nomo { enhavo } priskribo { enhavo } "+
		" resurso { objId nomo { enhavo } priskribo { enhavo } "+
		"  tipo { objId nomo { enhavo } } "+
		" } "+
		" koordinatoX koordinatoY koordinatoZ "+
		' posedantoObjekto '+
		'  { uuid } '+
		" nomo{enhavo}" +
		" ligilo{edges{node{ "+
magcourier's avatar
magcourier включено в состав коммита
156
		"  konektiloPosedanto konektiloLigilo tipo{objId}"+
magcourier's avatar
magcourier включено в состав коммита
157
158
159
160
161
162
163
164
165
166
167
		"  ligilo{ uuid nomo{enhavo} integreco resurso{objId} "+
		"   ligilo{edges{node{" +
		"    konektiloPosedanto konektiloLigilo tipo{objId} " +
		"    ligilo{ uuid integreco resurso{objId} }}}}}" +
		"    tipo{objId}}}}" +
		" posedanto{edges{node{" +
		"  posedantoUzanto{ siriusoUzanto{ objId}}}}}" +
		" rotaciaX rotaciaY rotaciaZ } } } }",
		'variables': {"kuboId":kuboId, "statusoId":statusoId, 
		"kategorioId":kategorioId, "tipoId":tipoId,
		"realecoId":Global.realeco} } })
magcourier's avatar
magcourier включено в состав коммита
168
	# print('===objecto_json=',query)
magcourier's avatar
magcourier включено в состав коммита
169
	return query
magcourier's avatar
magcourier включено в состав коммита
170
171
172