@quantyapp/quanty-mcp-server 1.0.9 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core/bankService.js
CHANGED
|
@@ -10,7 +10,7 @@ function isItemComposition(item) {
|
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
12
12
|
function extractCompositionInputs(item) {
|
|
13
|
-
const sources = ['composition', 'children', 'insumos', 'items', 'components'];
|
|
13
|
+
const sources = ['composition', 'children', 'insumos', 'items', 'components', 'compositionItems'];
|
|
14
14
|
for (const key of sources) {
|
|
15
15
|
if (item[key] && Array.isArray(item[key]) && item[key].length > 0) {
|
|
16
16
|
return item[key].map((input) => ({
|
|
@@ -32,9 +32,9 @@ function toBankItem(item) {
|
|
|
32
32
|
return {
|
|
33
33
|
id: item.id,
|
|
34
34
|
code: item.code || '',
|
|
35
|
-
description: item.description || '',
|
|
36
|
-
unit: item.unit || '',
|
|
37
|
-
unitCost: item.unitCost || 0,
|
|
35
|
+
description: item.description || item.name || item.title || item.descricao || '',
|
|
36
|
+
unit: item.unit || item.unidade || '',
|
|
37
|
+
unitCost: item.unitCost || item.unit_cost || item.custoUnitario || item.custo_unitario || 0,
|
|
38
38
|
itemType: isComp ? 'Composição' : (item.itemType || 'Insumo'),
|
|
39
39
|
isComposition: isComp,
|
|
40
40
|
composition: inputs.length > 0 ? inputs : undefined
|
|
@@ -167,7 +167,7 @@ export async function searchBankItems(bankId, query, limit = 50) {
|
|
|
167
167
|
// Busca recursiva em todas as propriedades que podem conter filhos
|
|
168
168
|
// NOTA: 'composition' e 'items' dentro de um item podem ser ignorados se quisermos só buscar itens "pai"
|
|
169
169
|
// mas para profundidade máxima vamos varrer tudo. O addIfMatches filtra duplicatas pelo ID.
|
|
170
|
-
const childKeys = ['items', 'children', 'composition', 'categories', 'rows'];
|
|
170
|
+
const childKeys = ['items', 'children', 'composition', 'categories', 'rows', 'compositionItems'];
|
|
171
171
|
for (const key of childKeys) {
|
|
172
172
|
if (node[key] && Array.isArray(node[key])) {
|
|
173
173
|
if (!searchRecursive(node[key]))
|
|
@@ -248,7 +248,7 @@ export async function getBankItemById(bankId, itemId) {
|
|
|
248
248
|
return true;
|
|
249
249
|
}
|
|
250
250
|
// Busca em filhos
|
|
251
|
-
const childKeys = ['items', 'children', 'composition', 'categories', 'rows'];
|
|
251
|
+
const childKeys = ['items', 'children', 'composition', 'categories', 'rows', 'compositionItems'];
|
|
252
252
|
for (const key of childKeys) {
|
|
253
253
|
if (node[key] && Array.isArray(node[key])) {
|
|
254
254
|
if (findById(node[key]))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budgetService.d.ts","sourceRoot":"","sources":["../../src/core/budgetService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IACvC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA0BjG;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyB3F;AAqBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAMpH;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"budgetService.d.ts","sourceRoot":"","sources":["../../src/core/budgetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,18 @@ export async function executeCreateBudget(auth, data) {
|
|
|
99
99
|
deleted: false,
|
|
100
100
|
data: {
|
|
101
101
|
title: data.title,
|
|
102
|
-
|
|
102
|
+
// Cria 50 linhas vazias
|
|
103
|
+
rows: Array.from({ length: 50 }, () => ({
|
|
104
|
+
id: crypto.randomUUID(),
|
|
105
|
+
level: 0,
|
|
106
|
+
code: '',
|
|
107
|
+
description: '',
|
|
108
|
+
unit: '',
|
|
109
|
+
quantity: 0,
|
|
110
|
+
unitCost: 0,
|
|
111
|
+
isComposition: false,
|
|
112
|
+
bdiType: 'Principal'
|
|
113
|
+
})),
|
|
103
114
|
bdi: 0,
|
|
104
115
|
bdiItems: [],
|
|
105
116
|
bdiPrincipal: 0,
|
|
@@ -149,10 +160,18 @@ export async function executeAddItem(auth, data) {
|
|
|
149
160
|
isComposition: data.item.isComposition || false,
|
|
150
161
|
composition: data.item.composition || undefined
|
|
151
162
|
};
|
|
152
|
-
|
|
163
|
+
let rows = [...(rawData.rows || [])];
|
|
164
|
+
// Encontra primeira linha vazia e substitui
|
|
165
|
+
const emptyIndex = rows.findIndex((r) => !r.description && !r.code && (!r.quantity || r.quantity === 0));
|
|
166
|
+
if (emptyIndex >= 0) {
|
|
167
|
+
rows[emptyIndex] = newRow;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
rows.push(newRow);
|
|
171
|
+
}
|
|
153
172
|
const updatedData = {
|
|
154
173
|
...rawData,
|
|
155
|
-
rows
|
|
174
|
+
rows
|
|
156
175
|
};
|
|
157
176
|
const { error } = await supabase
|
|
158
177
|
.from('budgets')
|
package/package.json
CHANGED