@quantyapp/quanty-mcp-server 1.0.7 → 1.0.8
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.
|
@@ -9,6 +9,7 @@ export interface BudgetRow {
|
|
|
9
9
|
unitCost: number;
|
|
10
10
|
isComposition?: boolean;
|
|
11
11
|
bdiType?: 'Principal' | 'Diferenciado';
|
|
12
|
+
composition?: BudgetRow[];
|
|
12
13
|
}
|
|
13
14
|
export interface Budget {
|
|
14
15
|
id: string;
|
|
@@ -67,6 +68,7 @@ export declare function prepareAddItem(budgetId: string, item: {
|
|
|
67
68
|
};
|
|
68
69
|
/**
|
|
69
70
|
* Executes adding an item
|
|
71
|
+
* CORRIGIDO: Busca dados RAW e preserva estrutura original do campo 'data'
|
|
70
72
|
*/
|
|
71
73
|
export declare function executeAddItem(auth: AuthContext, data: any): Promise<void>;
|
|
72
74
|
/**
|
|
@@ -79,6 +81,7 @@ export declare function prepareDeleteItem(budgetId: string, itemId: string, item
|
|
|
79
81
|
};
|
|
80
82
|
/**
|
|
81
83
|
* Executes item deletion
|
|
84
|
+
* CORRIGIDO: Busca dados RAW e preserva estrutura original
|
|
82
85
|
*/
|
|
83
86
|
export declare function executeDeleteItem(auth: AuthContext, data: any): Promise<void>;
|
|
84
87
|
/**
|
|
@@ -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;
|
|
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,CAgCvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAOhD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAM3I;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAmD/G"}
|
|
@@ -56,6 +56,23 @@ export async function getBudget(auth, budgetId) {
|
|
|
56
56
|
bdiDiferenciado: data.data?.bdiDiferenciado || 0
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Busca os dados RAW do orçamento (sem transformação)
|
|
61
|
+
* Necessário para updates que preservem a estrutura original do campo 'data'
|
|
62
|
+
*/
|
|
63
|
+
async function getRawBudgetData(budgetId) {
|
|
64
|
+
const { data, error } = await supabase
|
|
65
|
+
.from('budgets')
|
|
66
|
+
.select('data')
|
|
67
|
+
.eq('id', budgetId)
|
|
68
|
+
.single();
|
|
69
|
+
if (error) {
|
|
70
|
+
if (error.code === 'PGRST116')
|
|
71
|
+
return null;
|
|
72
|
+
throw new Error(`Failed to get budget data: ${error.message}`);
|
|
73
|
+
}
|
|
74
|
+
return data?.data || null;
|
|
75
|
+
}
|
|
59
76
|
/**
|
|
60
77
|
* Creates a new budget (returns preview for confirmation)
|
|
61
78
|
*/
|
|
@@ -114,26 +131,33 @@ export function prepareAddItem(budgetId, item) {
|
|
|
114
131
|
}
|
|
115
132
|
/**
|
|
116
133
|
* Executes adding an item
|
|
134
|
+
* CORRIGIDO: Busca dados RAW e preserva estrutura original do campo 'data'
|
|
117
135
|
*/
|
|
118
136
|
export async function executeAddItem(auth, data) {
|
|
119
|
-
|
|
120
|
-
|
|
137
|
+
// Busca os dados RAW do orçamento (estrutura original do banco)
|
|
138
|
+
const rawData = await getRawBudgetData(data.budgetId);
|
|
139
|
+
if (!rawData)
|
|
121
140
|
throw new Error('Budget not found');
|
|
122
141
|
const newRow = {
|
|
123
142
|
id: crypto.randomUUID(),
|
|
124
143
|
level: 0,
|
|
125
|
-
code: '',
|
|
144
|
+
code: data.item.code || '',
|
|
126
145
|
description: data.item.description,
|
|
127
146
|
unit: data.item.unit,
|
|
128
147
|
quantity: data.item.quantity,
|
|
129
148
|
unitCost: data.item.unitCost,
|
|
130
|
-
isComposition: false
|
|
149
|
+
isComposition: data.item.isComposition || false,
|
|
150
|
+
composition: data.item.composition || undefined
|
|
151
|
+
};
|
|
152
|
+
// Atualiza apenas o array de rows, mantendo toda a estrutura original
|
|
153
|
+
const updatedData = {
|
|
154
|
+
...rawData,
|
|
155
|
+
rows: [...(rawData.rows || []), newRow]
|
|
131
156
|
};
|
|
132
|
-
const updatedRows = [...budget.rows, newRow];
|
|
133
157
|
const { error } = await supabase
|
|
134
158
|
.from('budgets')
|
|
135
159
|
.update({
|
|
136
|
-
data:
|
|
160
|
+
data: updatedData,
|
|
137
161
|
last_modified: new Date().toISOString()
|
|
138
162
|
})
|
|
139
163
|
.eq('id', data.budgetId);
|
|
@@ -152,16 +176,20 @@ export function prepareDeleteItem(budgetId, itemId, itemDescription) {
|
|
|
152
176
|
}
|
|
153
177
|
/**
|
|
154
178
|
* Executes item deletion
|
|
179
|
+
* CORRIGIDO: Busca dados RAW e preserva estrutura original
|
|
155
180
|
*/
|
|
156
181
|
export async function executeDeleteItem(auth, data) {
|
|
157
|
-
const
|
|
158
|
-
if (!
|
|
182
|
+
const rawData = await getRawBudgetData(data.budgetId);
|
|
183
|
+
if (!rawData)
|
|
159
184
|
throw new Error('Budget not found');
|
|
160
|
-
const
|
|
185
|
+
const updatedData = {
|
|
186
|
+
...rawData,
|
|
187
|
+
rows: (rawData.rows || []).filter((r) => r.id !== data.itemId)
|
|
188
|
+
};
|
|
161
189
|
const { error } = await supabase
|
|
162
190
|
.from('budgets')
|
|
163
191
|
.update({
|
|
164
|
-
data:
|
|
192
|
+
data: updatedData,
|
|
165
193
|
last_modified: new Date().toISOString()
|
|
166
194
|
})
|
|
167
195
|
.eq('id', data.budgetId);
|
package/package.json
CHANGED