bkper 4.12.31 → 4.13.1
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/README.md +4 -1
- package/lib/auth/local-auth-service.d.ts.map +1 -1
- package/lib/auth/local-auth-service.js +83 -66
- package/lib/auth/local-auth-service.js.map +1 -1
- package/lib/cli.js +2 -0
- package/lib/cli.js.map +1 -1
- package/lib/commands/cli-helpers.d.ts +4 -0
- package/lib/commands/cli-helpers.d.ts.map +1 -1
- package/lib/commands/cli-helpers.js +8 -2
- package/lib/commands/cli-helpers.js.map +1 -1
- package/lib/commands/files/get.d.ts +14 -0
- package/lib/commands/files/get.d.ts.map +1 -0
- package/lib/commands/files/get.js +34 -0
- package/lib/commands/files/get.js.map +1 -0
- package/lib/commands/files/index.d.ts +3 -0
- package/lib/commands/files/index.d.ts.map +1 -0
- package/lib/commands/files/index.js +3 -0
- package/lib/commands/files/index.js.map +1 -0
- package/lib/commands/files/register.d.ts +3 -0
- package/lib/commands/files/register.d.ts.map +1 -0
- package/lib/commands/files/register.js +42 -0
- package/lib/commands/files/register.js.map +1 -0
- package/lib/commands/files/upload.d.ts +18 -0
- package/lib/commands/files/upload.d.ts.map +1 -0
- package/lib/commands/files/upload.js +94 -0
- package/lib/commands/files/upload.js.map +1 -0
- package/lib/commands/transactions/create.d.ts +9 -0
- package/lib/commands/transactions/create.d.ts.map +1 -1
- package/lib/commands/transactions/create.js +30 -1
- package/lib/commands/transactions/create.js.map +1 -1
- package/lib/commands/transactions/index.d.ts +2 -2
- package/lib/commands/transactions/index.d.ts.map +1 -1
- package/lib/commands/transactions/index.js +1 -1
- package/lib/commands/transactions/index.js.map +1 -1
- package/lib/commands/transactions/merge.d.ts +7 -12
- package/lib/commands/transactions/merge.d.ts.map +1 -1
- package/lib/commands/transactions/merge.js +7 -34
- package/lib/commands/transactions/merge.js.map +1 -1
- package/lib/commands/transactions/register.d.ts.map +1 -1
- package/lib/commands/transactions/register.js +7 -13
- package/lib/commands/transactions/register.js.map +1 -1
- package/lib/docs/bkper-js.md +1 -1
- package/lib/docs/cli-reference.md +4 -1
- package/lib/docs/data-management.md +45 -1
- package/lib/docs/index.md +2 -2
- package/lib/utils/local-file.d.ts +11 -0
- package/lib/utils/local-file.d.ts.map +1 -0
- package/lib/utils/local-file.js +55 -0
- package/lib/utils/local-file.js.map +1 -0
- package/package.json +3 -2
- package/lib/domain/transaction/merge-operation.d.ts +0 -48
- package/lib/domain/transaction/merge-operation.d.ts.map +0 -1
- package/lib/domain/transaction/merge-operation.js +0 -194
- package/lib/domain/transaction/merge-operation.js.map +0 -1
- package/lib/domain/transaction/merge-types.d.ts +0 -25
- package/lib/domain/transaction/merge-types.d.ts.map +0 -1
- package/lib/domain/transaction/merge-types.js +0 -8
- package/lib/domain/transaction/merge-types.js.map +0 -1
package/README.md
CHANGED
|
@@ -137,10 +137,13 @@ Pi-specific extensions are loaded from Pi extension folders (for example `.pi/ex
|
|
|
137
137
|
|
|
138
138
|
## Data Management
|
|
139
139
|
|
|
140
|
-
Manage books, accounts, transactions, and balances.
|
|
140
|
+
Manage books, files, accounts, transactions, and balances.
|
|
141
141
|
|
|
142
142
|
```bash
|
|
143
143
|
bkper book list
|
|
144
|
+
bkper file upload ./receipt.pdf -b <bookId>
|
|
145
|
+
bkper file get <fileId> -b <bookId>
|
|
146
|
+
bkper transaction create -b <bookId> --description "Team lunch" --file ./receipt.pdf
|
|
144
147
|
bkper account list -b <bookId>
|
|
145
148
|
bkper transaction list -b <bookId> -q 'on:2025' --format csv
|
|
146
149
|
bkper balance list -b <bookId> -q 'on:2025-12-31' --format csv
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AA+CrF;;;GAGG;AACH,wBAAsB,KAAK,kBAK1B;AAED;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,YAEzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAE9D;
|
|
1
|
+
{"version":3,"file":"local-auth-service.d.ts","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AA+CrF;;;GAGG;AACH,wBAAsB,KAAK,kBAK1B;AAED;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,YAEzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAE9D;AAqKD;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoBvE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAiBrD"}
|
|
@@ -116,11 +116,11 @@ function generatePKCECodes() {
|
|
|
116
116
|
const codeChallenge = crypto.createHash('sha256').update(codeVerifier).digest('base64url');
|
|
117
117
|
return { codeVerifier, codeChallenge };
|
|
118
118
|
}
|
|
119
|
-
function createOAuthClient() {
|
|
119
|
+
function createOAuthClient(redirectUri) {
|
|
120
120
|
return new OAuth2Client({
|
|
121
121
|
clientId: OAUTH_CONFIG.clientId,
|
|
122
122
|
clientSecret: OAUTH_CONFIG.clientSecret,
|
|
123
|
-
redirectUri: OAUTH_CONFIG.redirectUri,
|
|
123
|
+
redirectUri: redirectUri !== null && redirectUri !== void 0 ? redirectUri : OAUTH_CONFIG.redirectUri,
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
function mergeCredentials(base, updates) {
|
|
@@ -143,78 +143,95 @@ function registerCredentialPersistence(localAuth) {
|
|
|
143
143
|
* opening the user's browser, and waiting for the authorization code.
|
|
144
144
|
* Uses PKCE (Proof Key for Code Exchange) for enhanced security without client_secret.
|
|
145
145
|
*/
|
|
146
|
+
const MAX_PORT_ATTEMPTS = 10;
|
|
146
147
|
function authenticateLocal() {
|
|
147
148
|
return __awaiter(this, void 0, void 0, function* () {
|
|
148
149
|
const pkceCodes = generatePKCECodes();
|
|
149
|
-
const oAuth2Client = createOAuthClient();
|
|
150
|
-
const authorizeUrl = oAuth2Client.generateAuthUrl({
|
|
151
|
-
access_type: 'offline',
|
|
152
|
-
scope: ['https://www.googleapis.com/auth/userinfo.email'],
|
|
153
|
-
prompt: 'consent',
|
|
154
|
-
code_challenge: pkceCodes.codeChallenge,
|
|
155
|
-
code_challenge_method: CodeChallengeMethod.S256,
|
|
156
|
-
});
|
|
157
150
|
const open = (yield import('open')).default;
|
|
151
|
+
const baseRedirectUrl = new URL(OAUTH_CONFIG.redirectUri);
|
|
152
|
+
const basePort = parseInt(baseRedirectUrl.port) || 3000;
|
|
158
153
|
return new Promise((resolve, reject) => {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
154
|
+
let attempts = 0;
|
|
155
|
+
function tryPort(port) {
|
|
156
|
+
if (attempts >= MAX_PORT_ATTEMPTS) {
|
|
157
|
+
reject(new Error(`Failed to start local server: All ports in range ${basePort}-${basePort + MAX_PORT_ATTEMPTS - 1} are in use`));
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
attempts++;
|
|
161
|
+
const redirectUri = `http://localhost:${port}/oauth2callback`;
|
|
162
|
+
const oAuth2Client = createOAuthClient(redirectUri);
|
|
163
|
+
const authorizeUrl = oAuth2Client.generateAuthUrl({
|
|
164
|
+
access_type: 'offline',
|
|
165
|
+
scope: ['https://www.googleapis.com/auth/userinfo.email'],
|
|
166
|
+
prompt: 'consent',
|
|
167
|
+
code_challenge: pkceCodes.codeChallenge,
|
|
168
|
+
code_challenge_method: CodeChallengeMethod.S256,
|
|
169
|
+
});
|
|
170
|
+
const server = http.createServer((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
try {
|
|
172
|
+
if (req.url && req.url.startsWith('/oauth2callback')) {
|
|
173
|
+
const searchParams = new URL(req.url, `http://localhost:${port}`).searchParams;
|
|
174
|
+
const code = searchParams.get('code');
|
|
175
|
+
if (code) {
|
|
176
|
+
const { tokens } = yield oAuth2Client.getToken({
|
|
177
|
+
code,
|
|
178
|
+
codeVerifier: pkceCodes.codeVerifier,
|
|
179
|
+
});
|
|
180
|
+
oAuth2Client.setCredentials(tokens);
|
|
181
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
182
|
+
res.end(generateAuthPage({
|
|
183
|
+
type: 'success',
|
|
184
|
+
title: 'Authentication Successful',
|
|
185
|
+
message: 'You have been successfully authenticated with Bkper CLI.',
|
|
186
|
+
}));
|
|
187
|
+
server.closeAllConnections();
|
|
188
|
+
server.close();
|
|
189
|
+
resolve(oAuth2Client);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
const error = searchParams.get('error');
|
|
193
|
+
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
194
|
+
res.end(generateAuthPage({
|
|
195
|
+
type: 'error',
|
|
196
|
+
title: 'Authentication Failed',
|
|
197
|
+
message: error || 'No authorization code received.',
|
|
198
|
+
}));
|
|
199
|
+
server.closeAllConnections();
|
|
200
|
+
server.close();
|
|
201
|
+
reject(new Error(error || 'No authorization code received'));
|
|
202
|
+
}
|
|
193
203
|
}
|
|
194
204
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
205
|
+
catch (err) {
|
|
206
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
207
|
+
res.writeHead(500, { 'Content-Type': 'text/html' });
|
|
208
|
+
res.end(generateAuthPage({
|
|
209
|
+
type: 'error',
|
|
210
|
+
title: 'Authentication Error',
|
|
211
|
+
message: errorMessage,
|
|
212
|
+
}));
|
|
213
|
+
server.closeAllConnections();
|
|
214
|
+
server.close();
|
|
215
|
+
reject(err);
|
|
216
|
+
}
|
|
217
|
+
}));
|
|
218
|
+
server.listen(port, () => {
|
|
219
|
+
console.log(`\nOpen this URL to authenticate:\n${authorizeUrl}\n`);
|
|
220
|
+
open(authorizeUrl, { wait: false }).catch(() => {
|
|
221
|
+
// Browser couldn't open - URL already displayed above
|
|
222
|
+
});
|
|
213
223
|
});
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
224
|
+
server.on('error', err => {
|
|
225
|
+
if ('code' in err && err.code === 'EADDRINUSE') {
|
|
226
|
+
server.close();
|
|
227
|
+
tryPort(port + 1);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
reject(new Error(`Failed to start local server: ${err.message}`));
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
tryPort(basePort);
|
|
218
235
|
});
|
|
219
236
|
});
|
|
220
237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-auth-service.js","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local-auth-service.js","sourceRoot":"","sources":["../../src/auth/local-auth-service.ts"],"names":[],"mappings":"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"}
|
package/lib/cli.js
CHANGED
|
@@ -18,6 +18,7 @@ import { registerGroupCommands } from './commands/groups/register.js';
|
|
|
18
18
|
import { registerTransactionCommands } from './commands/transactions/register.js';
|
|
19
19
|
import { registerBalanceCommands } from './commands/balances/register.js';
|
|
20
20
|
import { registerCollectionCommands } from './commands/collections/register.js';
|
|
21
|
+
import { registerFileCommands } from './commands/files/register.js';
|
|
21
22
|
import { registerUpgradeCommand } from './commands/upgrade.js';
|
|
22
23
|
import { registerAgentCommands, runAgentCommand } from './commands/agent-command.js';
|
|
23
24
|
import { shouldRunAgentCommand } from './agent/cli-dispatch.js';
|
|
@@ -49,6 +50,7 @@ function main() {
|
|
|
49
50
|
registerTransactionCommands(program);
|
|
50
51
|
registerBalanceCommands(program);
|
|
51
52
|
registerCollectionCommands(program);
|
|
53
|
+
registerFileCommands(program);
|
|
52
54
|
// Agent bridge command
|
|
53
55
|
registerAgentCommands(program);
|
|
54
56
|
// Upgrade command
|
package/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,eAAe,CAAC,CAAC,sDAAsD;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,SAAe,IAAI;;QACf,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAED,UAAU;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAErE,gBAAgB;QAChB,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,oBAAoB;QACpB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,eAAe,CAAC,CAAC,sDAAsD;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,SAAe,IAAI;;QACf,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAED,UAAU;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAErE,gBAAgB;QAChB,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,oBAAoB;QACpB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACpC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,uBAAuB;QACvB,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,kBAAkB;QAClB,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACxC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { OutputFormat } from '../render/output.js';
|
|
2
|
+
/**
|
|
3
|
+
* Commander option collector for repeatable scalar flags.
|
|
4
|
+
*/
|
|
5
|
+
export declare function collectRepeatable(value: string, previous: string[] | undefined): string[];
|
|
2
6
|
/**
|
|
3
7
|
* Commander option collector for repeatable --property flags.
|
|
4
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAUxC"}
|
|
1
|
+
{"version":3,"file":"cli-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAUxC"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { program } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Commander option collector for repeatable scalar flags.
|
|
4
|
+
*/
|
|
5
|
+
export function collectRepeatable(value, previous) {
|
|
6
|
+
return previous ? [...previous, value] : [value];
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* Commander option collector for repeatable --property flags.
|
|
4
10
|
*/
|
|
5
11
|
export function collectProperty(value, previous) {
|
|
6
|
-
return
|
|
12
|
+
return collectRepeatable(value, previous);
|
|
7
13
|
}
|
|
8
14
|
/**
|
|
9
15
|
* Commander option collector for repeatable --book flags.
|
|
10
16
|
*/
|
|
11
17
|
export function collectBook(value, previous) {
|
|
12
|
-
return
|
|
18
|
+
return collectRepeatable(value, previous);
|
|
13
19
|
}
|
|
14
20
|
/**
|
|
15
21
|
* Returns the active output format, considering both --format and --json flags.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-helpers.js","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"cli-helpers.js","sourceRoot":"","sources":["../../src/commands/cli-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAA8B;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAA8B;IACzE,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAA8B;IACrE,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;IACrC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { File as BkperFile } from 'bkper-js';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves a single file by ID from the specified book.
|
|
4
|
+
*
|
|
5
|
+
* The file content is hydrated before returning so CLI output can verify the
|
|
6
|
+
* full upload cycle, not just metadata.
|
|
7
|
+
*
|
|
8
|
+
* @param bookId - The target book ID
|
|
9
|
+
* @param fileId - File ID to look up
|
|
10
|
+
* @returns The matching file
|
|
11
|
+
* @throws Error if the file is not found
|
|
12
|
+
*/
|
|
13
|
+
export declare function getFile(bookId: string, fileId: string): Promise<BkperFile>;
|
|
14
|
+
//# sourceMappingURL=get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/files/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAUhF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { getBkperInstance } from '../../bkper-factory.js';
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves a single file by ID from the specified book.
|
|
13
|
+
*
|
|
14
|
+
* The file content is hydrated before returning so CLI output can verify the
|
|
15
|
+
* full upload cycle, not just metadata.
|
|
16
|
+
*
|
|
17
|
+
* @param bookId - The target book ID
|
|
18
|
+
* @param fileId - File ID to look up
|
|
19
|
+
* @returns The matching file
|
|
20
|
+
* @throws Error if the file is not found
|
|
21
|
+
*/
|
|
22
|
+
export function getFile(bookId, fileId) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const bkper = getBkperInstance();
|
|
25
|
+
const book = yield bkper.getBook(bookId);
|
|
26
|
+
const file = yield book.getFile(fileId);
|
|
27
|
+
if (!file) {
|
|
28
|
+
throw new Error(`File not found: ${fileId}`);
|
|
29
|
+
}
|
|
30
|
+
yield file.getContent();
|
|
31
|
+
return file;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/files/get.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAgB,OAAO,CAAC,MAAc,EAAE,MAAc;;QACxD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/commands/files/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { withAction } from '../action.js';
|
|
11
|
+
import { collectProperty } from '../cli-helpers.js';
|
|
12
|
+
import { renderItem } from '../../render/index.js';
|
|
13
|
+
import { validateRequiredOptions, throwIfErrors } from '../../utils/validation.js';
|
|
14
|
+
import { getFile, uploadFile } from './index.js';
|
|
15
|
+
export function registerFileCommands(program) {
|
|
16
|
+
const fileCommand = program.command('file').description('Manage Files');
|
|
17
|
+
fileCommand
|
|
18
|
+
.command('get <fileId>')
|
|
19
|
+
.description('Get a file by ID')
|
|
20
|
+
.option('-b, --book <bookId>', 'Book ID')
|
|
21
|
+
.action((fileId, options) => withAction('getting file', (format) => __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
throwIfErrors(validateRequiredOptions(options, [{ name: 'book', flag: '--book' }]));
|
|
23
|
+
const file = yield getFile(options.book, fileId);
|
|
24
|
+
renderItem(file.json(), format);
|
|
25
|
+
}))());
|
|
26
|
+
fileCommand
|
|
27
|
+
.command('upload <path>')
|
|
28
|
+
.description('Upload a local file to a book')
|
|
29
|
+
.option('-b, --book <bookId>', 'Book ID')
|
|
30
|
+
.option('--account <accountIdOrName>', 'Account name or ID for file routing')
|
|
31
|
+
.option('-p, --property <key=value>', 'Set a property (repeatable, empty value deletes)', collectProperty)
|
|
32
|
+
.action((filePath, options) => withAction('uploading file', (format) => __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
throwIfErrors(validateRequiredOptions(options, [{ name: 'book', flag: '--book' }]));
|
|
34
|
+
const file = yield uploadFile(options.book, {
|
|
35
|
+
path: filePath,
|
|
36
|
+
account: options.account,
|
|
37
|
+
property: options.property,
|
|
38
|
+
});
|
|
39
|
+
renderItem(file.json(), format);
|
|
40
|
+
}))());
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/commands/files/register.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAExE,WAAW;SACN,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC;SACxC,MAAM,CAAC,CAAC,MAAc,EAAE,OAAO,EAAE,EAAE,CAChC,UAAU,CAAC,cAAc,EAAE,CAAM,MAAM,EAAC,EAAE;QACtC,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAA,CAAC,EAAE,CACP,CAAC;IAEN,WAAW;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC;SACxC,MAAM,CAAC,6BAA6B,EAAE,qCAAqC,CAAC;SAC5E,MAAM,CACH,4BAA4B,EAC5B,kDAAkD,EAClD,eAAe,CAClB;SACA,MAAM,CAAC,CAAC,QAAgB,EAAE,OAAO,EAAE,EAAE,CAClC,UAAU,CAAC,gBAAgB,EAAE,CAAM,MAAM,EAAC,EAAE;QACxC,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAA,CAAC,EAAE,CACP,CAAC;AACV,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { File as BkperFile } from 'bkper-js';
|
|
2
|
+
/**
|
|
3
|
+
* Options for uploading a local file to a book.
|
|
4
|
+
*/
|
|
5
|
+
export interface UploadFileOptions {
|
|
6
|
+
path: string;
|
|
7
|
+
account?: string;
|
|
8
|
+
property?: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Uploads a local file to a book.
|
|
12
|
+
*
|
|
13
|
+
* @param bookId - Target book ID
|
|
14
|
+
* @param options - Upload options including local path and optional properties
|
|
15
|
+
* @returns The created file resource
|
|
16
|
+
*/
|
|
17
|
+
export declare function uploadFile(bookId: string, options: UploadFileOptions): Promise<BkperFile>;
|
|
18
|
+
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/files/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAS7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,SAAS,CAAC,CA4EpB"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { File as BkperFile } from 'bkper-js';
|
|
11
|
+
import { getBkperInstance } from '../../bkper-factory.js';
|
|
12
|
+
import { parsePropertyFlag } from '../../utils/properties.js';
|
|
13
|
+
import { readLocalFilePayload } from '../../utils/local-file.js';
|
|
14
|
+
import { throwIfErrors } from '../../utils/validation.js';
|
|
15
|
+
const ACCOUNT_ID_PROPERTY = 'account_id';
|
|
16
|
+
const UPLOAD_METHOD_PROPERTY = 'upload_method';
|
|
17
|
+
/**
|
|
18
|
+
* Uploads a local file to a book.
|
|
19
|
+
*
|
|
20
|
+
* @param bookId - Target book ID
|
|
21
|
+
* @param options - Upload options including local path and optional properties
|
|
22
|
+
* @returns The created file resource
|
|
23
|
+
*/
|
|
24
|
+
export function uploadFile(bookId, options) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const bkper = getBkperInstance();
|
|
27
|
+
const book = yield bkper.getBook(bookId);
|
|
28
|
+
const errors = [];
|
|
29
|
+
let payload;
|
|
30
|
+
try {
|
|
31
|
+
payload = yield readLocalFilePayload(options.path);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
errors.push(err.message);
|
|
35
|
+
}
|
|
36
|
+
const parsedProperties = [];
|
|
37
|
+
let hasRawAccountId = false;
|
|
38
|
+
if (options.property) {
|
|
39
|
+
for (const raw of options.property) {
|
|
40
|
+
try {
|
|
41
|
+
const [key, value] = parsePropertyFlag(raw);
|
|
42
|
+
if (key === UPLOAD_METHOD_PROPERTY) {
|
|
43
|
+
errors.push('Property upload_method is reserved for transaction attachments and cannot be set with file upload');
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (key === ACCOUNT_ID_PROPERTY) {
|
|
47
|
+
hasRawAccountId = true;
|
|
48
|
+
}
|
|
49
|
+
parsedProperties.push([key, value]);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
errors.push(err.message);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (options.account && hasRawAccountId) {
|
|
57
|
+
errors.push('Cannot combine --account with -p account_id=...');
|
|
58
|
+
}
|
|
59
|
+
let resolvedAccountId;
|
|
60
|
+
if (options.account) {
|
|
61
|
+
const account = yield book.getAccount(options.account);
|
|
62
|
+
if (!account) {
|
|
63
|
+
errors.push(`Account (--account) not found: ${options.account}`);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const accountId = account.getId();
|
|
67
|
+
if (!accountId) {
|
|
68
|
+
errors.push(`Resolved account (--account) is missing an id: ${options.account}`);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
resolvedAccountId = accountId;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
throwIfErrors(errors);
|
|
76
|
+
if (!payload) {
|
|
77
|
+
throw new Error(`Unable to load local file payload: ${options.path}`);
|
|
78
|
+
}
|
|
79
|
+
const file = new BkperFile(book, payload);
|
|
80
|
+
for (const [key, value] of parsedProperties) {
|
|
81
|
+
if (value === '') {
|
|
82
|
+
file.deleteProperty(key);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
file.setProperty(key, value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (resolvedAccountId) {
|
|
89
|
+
file.setProperty(ACCOUNT_ID_PROPERTY, resolvedAccountId);
|
|
90
|
+
}
|
|
91
|
+
return file.create();
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/files/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,16 @@ export interface CreateTransactionOptions {
|
|
|
11
11
|
url?: string[];
|
|
12
12
|
remoteId?: string[];
|
|
13
13
|
property?: string[];
|
|
14
|
+
file?: string;
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the single supported --file value for transaction create.
|
|
18
|
+
*
|
|
19
|
+
* @param filePaths - Parsed --file option values
|
|
20
|
+
* @param hasStdinInput - Whether stdin JSON input was provided
|
|
21
|
+
* @returns The single file path, if any
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveCreateTransactionFilePath(filePaths: string[] | undefined, hasStdinInput: boolean): string | undefined;
|
|
15
24
|
/**
|
|
16
25
|
* Creates a new transaction in the specified book.
|
|
17
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/transactions/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/transactions/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,UAAU,CAAC;AAM1D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,aAAa,EAAE,OAAO,GACvB,MAAM,GAAG,SAAS,CAepB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,WAAW,CAAC,CAsEtB"}
|