@newpeak/barista-cli 0.2.212 → 0.2.217
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/commands/liberica/finance/expense/attachment/delete.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/attachment/delete.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/delete.js +54 -0
- package/dist/commands/liberica/finance/expense/attachment/delete.js.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/download.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/attachment/download.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/download.js +56 -0
- package/dist/commands/liberica/finance/expense/attachment/download.js.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/index.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/attachment/index.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/index.js +15 -0
- package/dist/commands/liberica/finance/expense/attachment/index.js.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/list.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/attachment/list.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/list.js +90 -0
- package/dist/commands/liberica/finance/expense/attachment/list.js.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/upload.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/attachment/upload.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/attachment/upload.js +128 -0
- package/dist/commands/liberica/finance/expense/attachment/upload.js.map +1 -0
- package/dist/commands/liberica/finance/expense/cancel.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/cancel.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/cancel.js +54 -0
- package/dist/commands/liberica/finance/expense/cancel.js.map +1 -0
- package/dist/commands/liberica/finance/expense/confirm.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/confirm.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/confirm.js +55 -0
- package/dist/commands/liberica/finance/expense/confirm.js.map +1 -0
- package/dist/commands/liberica/finance/expense/create.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/create.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/create.js +115 -0
- package/dist/commands/liberica/finance/expense/create.js.map +1 -0
- package/dist/commands/liberica/finance/expense/delete.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/delete.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/delete.js +54 -0
- package/dist/commands/liberica/finance/expense/delete.js.map +1 -0
- package/dist/commands/liberica/finance/expense/dept-summary.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/dept-summary.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/dept-summary.js +79 -0
- package/dist/commands/liberica/finance/expense/dept-summary.js.map +1 -0
- package/dist/commands/liberica/finance/expense/edit.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/edit.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/edit.js +89 -0
- package/dist/commands/liberica/finance/expense/edit.js.map +1 -0
- package/dist/commands/liberica/finance/expense/export.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/export.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/export.js +70 -0
- package/dist/commands/liberica/finance/expense/export.js.map +1 -0
- package/dist/commands/liberica/finance/expense/get.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/get.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/get.js +84 -0
- package/dist/commands/liberica/finance/expense/get.js.map +1 -0
- package/dist/commands/liberica/finance/expense/index.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/index.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/index.js +49 -0
- package/dist/commands/liberica/finance/expense/index.js.map +1 -0
- package/dist/commands/liberica/finance/expense/item/add.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/item/add.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/item/add.js +162 -0
- package/dist/commands/liberica/finance/expense/item/add.js.map +1 -0
- package/dist/commands/liberica/finance/expense/item/delete.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/item/delete.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/item/delete.js +59 -0
- package/dist/commands/liberica/finance/expense/item/delete.js.map +1 -0
- package/dist/commands/liberica/finance/expense/item/edit.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/item/edit.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/item/edit.js +124 -0
- package/dist/commands/liberica/finance/expense/item/edit.js.map +1 -0
- package/dist/commands/liberica/finance/expense/item/index.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/item/index.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/item/index.js +17 -0
- package/dist/commands/liberica/finance/expense/item/index.js.map +1 -0
- package/dist/commands/liberica/finance/expense/item/list.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/item/list.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/item/list.js +94 -0
- package/dist/commands/liberica/finance/expense/item/list.js.map +1 -0
- package/dist/commands/liberica/finance/expense/item/summary.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/item/summary.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/item/summary.js +59 -0
- package/dist/commands/liberica/finance/expense/item/summary.js.map +1 -0
- package/dist/commands/liberica/finance/expense/list.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/list.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/list.js +99 -0
- package/dist/commands/liberica/finance/expense/list.js.map +1 -0
- package/dist/commands/liberica/finance/expense/pay-fail.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/pay-fail.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/pay-fail.js +75 -0
- package/dist/commands/liberica/finance/expense/pay-fail.js.map +1 -0
- package/dist/commands/liberica/finance/expense/pay.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/pay.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/pay.js +70 -0
- package/dist/commands/liberica/finance/expense/pay.js.map +1 -0
- package/dist/commands/liberica/finance/expense/print.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/print.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/print.js +53 -0
- package/dist/commands/liberica/finance/expense/print.js.map +1 -0
- package/dist/commands/liberica/finance/expense/remove-item.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/remove-item.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/remove-item.js +71 -0
- package/dist/commands/liberica/finance/expense/remove-item.js.map +1 -0
- package/dist/commands/liberica/finance/expense/review.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/review.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/review.js +91 -0
- package/dist/commands/liberica/finance/expense/review.js.map +1 -0
- package/dist/commands/liberica/finance/expense/submit.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/submit.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/submit.js +55 -0
- package/dist/commands/liberica/finance/expense/submit.js.map +1 -0
- package/dist/commands/liberica/finance/expense/summary.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/summary.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/summary.js +47 -0
- package/dist/commands/liberica/finance/expense/summary.js.map +1 -0
- package/dist/commands/liberica/finance/expense/undo-pay.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/undo-pay.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/undo-pay.js +59 -0
- package/dist/commands/liberica/finance/expense/undo-pay.js.map +1 -0
- package/dist/commands/liberica/finance/expense/unreview.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/unreview.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/unreview.js +59 -0
- package/dist/commands/liberica/finance/expense/unreview.js.map +1 -0
- package/dist/commands/liberica/finance/expense/withdraw.d.ts +3 -0
- package/dist/commands/liberica/finance/expense/withdraw.d.ts.map +1 -0
- package/dist/commands/liberica/finance/expense/withdraw.js +54 -0
- package/dist/commands/liberica/finance/expense/withdraw.js.map +1 -0
- package/dist/commands/liberica/finance/index.d.ts.map +1 -1
- package/dist/commands/liberica/finance/index.js +3 -1
- package/dist/commands/liberica/finance/index.js.map +1 -1
- package/dist/commands/liberica/system/deploy-info.d.ts +3 -0
- package/dist/commands/liberica/system/deploy-info.d.ts.map +1 -0
- package/dist/commands/liberica/system/deploy-info.js +57 -0
- package/dist/commands/liberica/system/deploy-info.js.map +1 -0
- package/dist/commands/liberica/system/index.d.ts.map +1 -1
- package/dist/commands/liberica/system/index.js +2 -0
- package/dist/commands/liberica/system/index.js.map +1 -1
- package/dist/commands/liberica/teams/issues/create.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/create.js +10 -0
- package/dist/commands/liberica/teams/issues/create.js.map +1 -1
- package/dist/commands/liberica/teams/issues/get.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/get.js +6 -0
- package/dist/commands/liberica/teams/issues/get.js.map +1 -1
- package/dist/commands/liberica/teams/issues/list.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/list.js +4 -2
- package/dist/commands/liberica/teams/issues/list.js.map +1 -1
- package/dist/commands/liberica/teams/issues/update.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/update.js +12 -1
- package/dist/commands/liberica/teams/issues/update.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/create.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/create.js +29 -0
- package/dist/commands/liberica/teams/tasks/create.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/get.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/get.js +3 -0
- package/dist/commands/liberica/teams/tasks/get.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/update.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/update.js +44 -0
- package/dist/commands/liberica/teams/tasks/update.js.map +1 -1
- package/dist/core/api/client.d.ts +51 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +473 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/types/deploy-info.d.ts +12 -0
- package/dist/types/deploy-info.d.ts.map +1 -0
- package/dist/types/deploy-info.js +2 -0
- package/dist/types/deploy-info.js.map +1 -0
- package/dist/types/expense.d.ts +221 -0
- package/dist/types/expense.d.ts.map +1 -0
- package/dist/types/expense.js +2 -0
- package/dist/types/expense.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/team-issue.d.ts +6 -0
- package/dist/types/team-issue.d.ts.map +1 -1
- package/dist/types/team-task.d.ts +9 -0
- package/dist/types/team-task.d.ts.map +1 -1
- package/dist/utils/expense-user.d.ts +17 -0
- package/dist/utils/expense-user.d.ts.map +1 -0
- package/dist/utils/expense-user.js +59 -0
- package/dist/utils/expense-user.js.map +1 -0
- package/dist/utils/finance-error.d.ts +3 -0
- package/dist/utils/finance-error.d.ts.map +1 -1
- package/dist/utils/finance-error.js +10 -1
- package/dist/utils/finance-error.js.map +1 -1
- package/package.json +1 -1
- package/skills/barista-cli/data/commands.json +177 -1
- package/skills/barista-cli/data/commands.yaml +104 -1
package/dist/core/api/client.js
CHANGED
|
@@ -13723,6 +13723,21 @@ export const apiClient = {
|
|
|
13723
13723
|
return handleApiError(error);
|
|
13724
13724
|
}
|
|
13725
13725
|
},
|
|
13726
|
+
// ── 部署信息(免鉴权) ─────────────────────────────────────
|
|
13727
|
+
async getDeployInfo(environment, tenant) {
|
|
13728
|
+
try {
|
|
13729
|
+
const baseURL = configManager.getEnvironmentUrl('liberica', environment, tenant);
|
|
13730
|
+
const timeout = configManager.getConfig().environments[environment].liberica.timeout;
|
|
13731
|
+
const response = await axios.get(`${baseURL}/api/enterprise/system/deployInfo`, {
|
|
13732
|
+
timeout,
|
|
13733
|
+
headers: { 'Content-Type': 'application/json' },
|
|
13734
|
+
});
|
|
13735
|
+
return response.data;
|
|
13736
|
+
}
|
|
13737
|
+
catch (error) {
|
|
13738
|
+
return handleApiError(error);
|
|
13739
|
+
}
|
|
13740
|
+
},
|
|
13726
13741
|
async fpEstimate(environment, tenant, data) {
|
|
13727
13742
|
try {
|
|
13728
13743
|
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
@@ -13877,6 +13892,464 @@ export const apiClient = {
|
|
|
13877
13892
|
return handleApiErrorFpEvaluation(error);
|
|
13878
13893
|
}
|
|
13879
13894
|
},
|
|
13895
|
+
// ── Finance Expense ─────────────────────────────────────────
|
|
13896
|
+
async addExpenseItem(environment, tenant, data) {
|
|
13897
|
+
try {
|
|
13898
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13899
|
+
if (!token)
|
|
13900
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13901
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13902
|
+
client.setAuthToken(token);
|
|
13903
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/item/add', data);
|
|
13904
|
+
return response.data;
|
|
13905
|
+
}
|
|
13906
|
+
catch (error) {
|
|
13907
|
+
return handleApiError(error);
|
|
13908
|
+
}
|
|
13909
|
+
},
|
|
13910
|
+
async editExpenseItem(environment, tenant, data) {
|
|
13911
|
+
try {
|
|
13912
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13913
|
+
if (!token)
|
|
13914
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13915
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13916
|
+
client.setAuthToken(token);
|
|
13917
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/item/edit', data);
|
|
13918
|
+
return response.data;
|
|
13919
|
+
}
|
|
13920
|
+
catch (error) {
|
|
13921
|
+
return handleApiError(error);
|
|
13922
|
+
}
|
|
13923
|
+
},
|
|
13924
|
+
async deleteExpenseItem(environment, tenant, itemId) {
|
|
13925
|
+
try {
|
|
13926
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13927
|
+
if (!token)
|
|
13928
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13929
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13930
|
+
client.setAuthToken(token);
|
|
13931
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/item/delete?itemId=${encodeURIComponent(itemId)}`);
|
|
13932
|
+
return response.data;
|
|
13933
|
+
}
|
|
13934
|
+
catch (error) {
|
|
13935
|
+
return handleApiError(error);
|
|
13936
|
+
}
|
|
13937
|
+
},
|
|
13938
|
+
async expenseItemPage(environment, tenant, params) {
|
|
13939
|
+
try {
|
|
13940
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13941
|
+
if (!token)
|
|
13942
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13943
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13944
|
+
client.setAuthToken(token);
|
|
13945
|
+
const query = new URLSearchParams();
|
|
13946
|
+
for (const [k, v] of Object.entries(params)) {
|
|
13947
|
+
if (v === undefined || v === null)
|
|
13948
|
+
continue;
|
|
13949
|
+
if (Array.isArray(v)) {
|
|
13950
|
+
v.forEach((item) => query.append(k, String(item)));
|
|
13951
|
+
}
|
|
13952
|
+
else if (v !== '') {
|
|
13953
|
+
query.append(k, String(v));
|
|
13954
|
+
}
|
|
13955
|
+
}
|
|
13956
|
+
const qs = query.toString();
|
|
13957
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/item/page${qs ? '?' + qs : ''}`);
|
|
13958
|
+
return response.data;
|
|
13959
|
+
}
|
|
13960
|
+
catch (error) {
|
|
13961
|
+
return handleApiError(error);
|
|
13962
|
+
}
|
|
13963
|
+
},
|
|
13964
|
+
async expenseItemSummary(environment, tenant) {
|
|
13965
|
+
try {
|
|
13966
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13967
|
+
if (!token)
|
|
13968
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13969
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13970
|
+
client.setAuthToken(token);
|
|
13971
|
+
const response = await client.getClient().get('/api/enterprise/finance/expense/item/summary');
|
|
13972
|
+
return response.data;
|
|
13973
|
+
}
|
|
13974
|
+
catch (error) {
|
|
13975
|
+
return handleApiError(error);
|
|
13976
|
+
}
|
|
13977
|
+
},
|
|
13978
|
+
async addExpense(environment, tenant, data) {
|
|
13979
|
+
try {
|
|
13980
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13981
|
+
if (!token)
|
|
13982
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13983
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13984
|
+
client.setAuthToken(token);
|
|
13985
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/add', data);
|
|
13986
|
+
return response.data;
|
|
13987
|
+
}
|
|
13988
|
+
catch (error) {
|
|
13989
|
+
return handleApiError(error);
|
|
13990
|
+
}
|
|
13991
|
+
},
|
|
13992
|
+
async editExpense(environment, tenant, data) {
|
|
13993
|
+
try {
|
|
13994
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
13995
|
+
if (!token)
|
|
13996
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
13997
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
13998
|
+
client.setAuthToken(token);
|
|
13999
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/edit', data);
|
|
14000
|
+
return response.data;
|
|
14001
|
+
}
|
|
14002
|
+
catch (error) {
|
|
14003
|
+
return handleApiError(error);
|
|
14004
|
+
}
|
|
14005
|
+
},
|
|
14006
|
+
async removeExpenseItems(environment, tenant, data) {
|
|
14007
|
+
try {
|
|
14008
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14009
|
+
if (!token)
|
|
14010
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14011
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14012
|
+
client.setAuthToken(token);
|
|
14013
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/removeItem', data);
|
|
14014
|
+
return response.data;
|
|
14015
|
+
}
|
|
14016
|
+
catch (error) {
|
|
14017
|
+
return handleApiError(error);
|
|
14018
|
+
}
|
|
14019
|
+
},
|
|
14020
|
+
async deleteExpense(environment, tenant, expenseId) {
|
|
14021
|
+
try {
|
|
14022
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14023
|
+
if (!token)
|
|
14024
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14025
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14026
|
+
client.setAuthToken(token);
|
|
14027
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/delete?expenseId=${encodeURIComponent(expenseId)}`);
|
|
14028
|
+
return response.data;
|
|
14029
|
+
}
|
|
14030
|
+
catch (error) {
|
|
14031
|
+
return handleApiError(error);
|
|
14032
|
+
}
|
|
14033
|
+
},
|
|
14034
|
+
async submitExpense(environment, tenant, data) {
|
|
14035
|
+
try {
|
|
14036
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14037
|
+
if (!token)
|
|
14038
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14039
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14040
|
+
client.setAuthToken(token);
|
|
14041
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/submit', data);
|
|
14042
|
+
return response.data;
|
|
14043
|
+
}
|
|
14044
|
+
catch (error) {
|
|
14045
|
+
return handleApiError(error);
|
|
14046
|
+
}
|
|
14047
|
+
},
|
|
14048
|
+
async withdrawExpense(environment, tenant, expenseId) {
|
|
14049
|
+
try {
|
|
14050
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14051
|
+
if (!token)
|
|
14052
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14053
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14054
|
+
client.setAuthToken(token);
|
|
14055
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/withdraw?expenseId=${encodeURIComponent(expenseId)}`);
|
|
14056
|
+
return response.data;
|
|
14057
|
+
}
|
|
14058
|
+
catch (error) {
|
|
14059
|
+
return handleApiError(error);
|
|
14060
|
+
}
|
|
14061
|
+
},
|
|
14062
|
+
async reviewExpense(environment, tenant, data) {
|
|
14063
|
+
try {
|
|
14064
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14065
|
+
if (!token)
|
|
14066
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14067
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14068
|
+
client.setAuthToken(token);
|
|
14069
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/review', data);
|
|
14070
|
+
return response.data;
|
|
14071
|
+
}
|
|
14072
|
+
catch (error) {
|
|
14073
|
+
return handleApiError(error);
|
|
14074
|
+
}
|
|
14075
|
+
},
|
|
14076
|
+
async unReviewExpense(environment, tenant, expenseId) {
|
|
14077
|
+
try {
|
|
14078
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14079
|
+
if (!token)
|
|
14080
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14081
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14082
|
+
client.setAuthToken(token);
|
|
14083
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/unReview?expenseId=${encodeURIComponent(expenseId)}`);
|
|
14084
|
+
return response.data;
|
|
14085
|
+
}
|
|
14086
|
+
catch (error) {
|
|
14087
|
+
return handleApiError(error);
|
|
14088
|
+
}
|
|
14089
|
+
},
|
|
14090
|
+
async payExpense(environment, tenant, data) {
|
|
14091
|
+
try {
|
|
14092
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14093
|
+
if (!token)
|
|
14094
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14095
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14096
|
+
client.setAuthToken(token);
|
|
14097
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/pay', data);
|
|
14098
|
+
return response.data;
|
|
14099
|
+
}
|
|
14100
|
+
catch (error) {
|
|
14101
|
+
return handleApiError(error);
|
|
14102
|
+
}
|
|
14103
|
+
},
|
|
14104
|
+
async payFailExpense(environment, tenant, data) {
|
|
14105
|
+
try {
|
|
14106
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14107
|
+
if (!token)
|
|
14108
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14109
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14110
|
+
client.setAuthToken(token);
|
|
14111
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/pay/fail', data);
|
|
14112
|
+
return response.data;
|
|
14113
|
+
}
|
|
14114
|
+
catch (error) {
|
|
14115
|
+
return handleApiError(error);
|
|
14116
|
+
}
|
|
14117
|
+
},
|
|
14118
|
+
async undoPayExpense(environment, tenant, expenseId) {
|
|
14119
|
+
try {
|
|
14120
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14121
|
+
if (!token)
|
|
14122
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14123
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14124
|
+
client.setAuthToken(token);
|
|
14125
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/undoPay?expenseId=${encodeURIComponent(expenseId)}`);
|
|
14126
|
+
return response.data;
|
|
14127
|
+
}
|
|
14128
|
+
catch (error) {
|
|
14129
|
+
return handleApiError(error);
|
|
14130
|
+
}
|
|
14131
|
+
},
|
|
14132
|
+
async confirmExpense(environment, tenant, data) {
|
|
14133
|
+
try {
|
|
14134
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14135
|
+
if (!token)
|
|
14136
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14137
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14138
|
+
client.setAuthToken(token);
|
|
14139
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/confirm', data);
|
|
14140
|
+
return response.data;
|
|
14141
|
+
}
|
|
14142
|
+
catch (error) {
|
|
14143
|
+
return handleApiError(error);
|
|
14144
|
+
}
|
|
14145
|
+
},
|
|
14146
|
+
async cancelExpense(environment, tenant, expenseId) {
|
|
14147
|
+
try {
|
|
14148
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14149
|
+
if (!token)
|
|
14150
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14151
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14152
|
+
client.setAuthToken(token);
|
|
14153
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/cancel?expenseId=${encodeURIComponent(expenseId)}`);
|
|
14154
|
+
return response.data;
|
|
14155
|
+
}
|
|
14156
|
+
catch (error) {
|
|
14157
|
+
return handleApiError(error);
|
|
14158
|
+
}
|
|
14159
|
+
},
|
|
14160
|
+
async expensePage(environment, tenant, params) {
|
|
14161
|
+
try {
|
|
14162
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14163
|
+
if (!token)
|
|
14164
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14165
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14166
|
+
client.setAuthToken(token);
|
|
14167
|
+
const query = new URLSearchParams();
|
|
14168
|
+
for (const [k, v] of Object.entries(params)) {
|
|
14169
|
+
if (v === undefined || v === null)
|
|
14170
|
+
continue;
|
|
14171
|
+
if (Array.isArray(v)) {
|
|
14172
|
+
v.forEach((item) => query.append(k, String(item)));
|
|
14173
|
+
}
|
|
14174
|
+
else if (v !== '') {
|
|
14175
|
+
query.append(k, String(v));
|
|
14176
|
+
}
|
|
14177
|
+
}
|
|
14178
|
+
const qs = query.toString();
|
|
14179
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/page${qs ? '?' + qs : ''}`);
|
|
14180
|
+
return response.data;
|
|
14181
|
+
}
|
|
14182
|
+
catch (error) {
|
|
14183
|
+
return handleApiError(error);
|
|
14184
|
+
}
|
|
14185
|
+
},
|
|
14186
|
+
async expenseDetail(environment, tenant, expenseId) {
|
|
14187
|
+
try {
|
|
14188
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14189
|
+
if (!token)
|
|
14190
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14191
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14192
|
+
client.setAuthToken(token);
|
|
14193
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/detail?expenseId=${encodeURIComponent(expenseId)}`);
|
|
14194
|
+
return response.data;
|
|
14195
|
+
}
|
|
14196
|
+
catch (error) {
|
|
14197
|
+
return handleApiError(error);
|
|
14198
|
+
}
|
|
14199
|
+
},
|
|
14200
|
+
async expenseSummary(environment, tenant) {
|
|
14201
|
+
try {
|
|
14202
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14203
|
+
if (!token)
|
|
14204
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14205
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14206
|
+
client.setAuthToken(token);
|
|
14207
|
+
const response = await client.getClient().get('/api/enterprise/finance/expense/summary');
|
|
14208
|
+
return response.data;
|
|
14209
|
+
}
|
|
14210
|
+
catch (error) {
|
|
14211
|
+
return handleApiError(error);
|
|
14212
|
+
}
|
|
14213
|
+
},
|
|
14214
|
+
async expenseDeptSummary(environment, tenant, params) {
|
|
14215
|
+
try {
|
|
14216
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14217
|
+
if (!token)
|
|
14218
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14219
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14220
|
+
client.setAuthToken(token);
|
|
14221
|
+
const query = new URLSearchParams();
|
|
14222
|
+
for (const [k, v] of Object.entries(params)) {
|
|
14223
|
+
if (v !== undefined && v !== null && v !== '') {
|
|
14224
|
+
query.append(k, String(v));
|
|
14225
|
+
}
|
|
14226
|
+
}
|
|
14227
|
+
const qs = query.toString();
|
|
14228
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/summary/dept${qs ? '?' + qs : ''}`);
|
|
14229
|
+
return response.data;
|
|
14230
|
+
}
|
|
14231
|
+
catch (error) {
|
|
14232
|
+
return handleApiError(error);
|
|
14233
|
+
}
|
|
14234
|
+
},
|
|
14235
|
+
async exportExpenses(environment, tenant, params) {
|
|
14236
|
+
try {
|
|
14237
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14238
|
+
if (!token)
|
|
14239
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14240
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14241
|
+
client.setAuthToken(token);
|
|
14242
|
+
const query = new URLSearchParams();
|
|
14243
|
+
for (const [k, v] of Object.entries(params)) {
|
|
14244
|
+
if (v === undefined || v === null)
|
|
14245
|
+
continue;
|
|
14246
|
+
if (Array.isArray(v)) {
|
|
14247
|
+
v.forEach((item) => query.append(k, String(item)));
|
|
14248
|
+
}
|
|
14249
|
+
else if (v !== '') {
|
|
14250
|
+
query.append(k, String(v));
|
|
14251
|
+
}
|
|
14252
|
+
}
|
|
14253
|
+
const qs = query.toString();
|
|
14254
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/export${qs ? '?' + qs : ''}`, null, { responseType: 'arraybuffer' });
|
|
14255
|
+
return { success: true, data: response.data };
|
|
14256
|
+
}
|
|
14257
|
+
catch (error) {
|
|
14258
|
+
return extractApiError(error);
|
|
14259
|
+
}
|
|
14260
|
+
},
|
|
14261
|
+
async printExpense(environment, tenant, expenseId) {
|
|
14262
|
+
try {
|
|
14263
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14264
|
+
if (!token)
|
|
14265
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14266
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14267
|
+
client.setAuthToken(token);
|
|
14268
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/print?expenseId=${encodeURIComponent(expenseId)}`, { responseType: 'arraybuffer' });
|
|
14269
|
+
return { success: true, data: response.data };
|
|
14270
|
+
}
|
|
14271
|
+
catch (error) {
|
|
14272
|
+
return extractApiError(error);
|
|
14273
|
+
}
|
|
14274
|
+
},
|
|
14275
|
+
async uploadExpenseAttachment(environment, tenant, filePath, data) {
|
|
14276
|
+
try {
|
|
14277
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14278
|
+
if (!token)
|
|
14279
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14280
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14281
|
+
client.setAuthToken(token);
|
|
14282
|
+
const { createReadStream } = await import('node:fs');
|
|
14283
|
+
const { basename } = await import('node:path');
|
|
14284
|
+
const FormData = (await import('form-data')).default;
|
|
14285
|
+
const formData = new FormData();
|
|
14286
|
+
formData.append('file', createReadStream(filePath), basename(filePath));
|
|
14287
|
+
for (const [k, v] of Object.entries(data)) {
|
|
14288
|
+
if (v !== undefined && v !== null) {
|
|
14289
|
+
formData.append(k, String(v));
|
|
14290
|
+
}
|
|
14291
|
+
}
|
|
14292
|
+
const response = await client.getClient().post('/api/enterprise/finance/expense/attachment/upload', formData, { headers: formData.getHeaders() });
|
|
14293
|
+
return response.data;
|
|
14294
|
+
}
|
|
14295
|
+
catch (error) {
|
|
14296
|
+
return handleApiError(error);
|
|
14297
|
+
}
|
|
14298
|
+
},
|
|
14299
|
+
async expenseAttachmentPage(environment, tenant, params) {
|
|
14300
|
+
try {
|
|
14301
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14302
|
+
if (!token)
|
|
14303
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14304
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14305
|
+
client.setAuthToken(token);
|
|
14306
|
+
const query = new URLSearchParams();
|
|
14307
|
+
for (const [k, v] of Object.entries(params)) {
|
|
14308
|
+
if (v === undefined || v === null)
|
|
14309
|
+
continue;
|
|
14310
|
+
if (Array.isArray(v)) {
|
|
14311
|
+
v.forEach((item) => query.append(k, String(item)));
|
|
14312
|
+
}
|
|
14313
|
+
else if (v !== '') {
|
|
14314
|
+
query.append(k, String(v));
|
|
14315
|
+
}
|
|
14316
|
+
}
|
|
14317
|
+
const qs = query.toString();
|
|
14318
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/attachment/page${qs ? '?' + qs : ''}`);
|
|
14319
|
+
return response.data;
|
|
14320
|
+
}
|
|
14321
|
+
catch (error) {
|
|
14322
|
+
return handleApiError(error);
|
|
14323
|
+
}
|
|
14324
|
+
},
|
|
14325
|
+
async deleteExpenseAttachment(environment, tenant, attachmentId) {
|
|
14326
|
+
try {
|
|
14327
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14328
|
+
if (!token)
|
|
14329
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14330
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14331
|
+
client.setAuthToken(token);
|
|
14332
|
+
const response = await client.getClient().post(`/api/enterprise/finance/expense/attachment/delete?attachmentId=${encodeURIComponent(attachmentId)}`);
|
|
14333
|
+
return response.data;
|
|
14334
|
+
}
|
|
14335
|
+
catch (error) {
|
|
14336
|
+
return handleApiError(error);
|
|
14337
|
+
}
|
|
14338
|
+
},
|
|
14339
|
+
async downloadExpenseAttachment(environment, tenant, attachmentId) {
|
|
14340
|
+
try {
|
|
14341
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
14342
|
+
if (!token)
|
|
14343
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in' } };
|
|
14344
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
14345
|
+
client.setAuthToken(token);
|
|
14346
|
+
const response = await client.getClient().get(`/api/enterprise/finance/expense/attachment/download?attachmentId=${encodeURIComponent(attachmentId)}`, { responseType: 'arraybuffer' });
|
|
14347
|
+
return { success: true, data: response.data };
|
|
14348
|
+
}
|
|
14349
|
+
catch (error) {
|
|
14350
|
+
return extractApiError(error);
|
|
14351
|
+
}
|
|
14352
|
+
},
|
|
13880
14353
|
};
|
|
13881
14354
|
function handleApiErrorEmail(error) {
|
|
13882
14355
|
return extractApiError(error);
|