bkper 2.5.9 → 2.6.0
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/lib/cli.js +4 -2
- package/lib/index.d.ts +243 -33
- package/lib/index.js +7 -1
- package/lib/model/Account.js +1 -1
- package/lib/model/Bkper.js +21 -16
- package/lib/model/Book.js +44 -1
- package/lib/{auth/OAuthTokenProvider.js → model/Config.js} +1 -1
- package/lib/model/Connection.js +220 -0
- package/lib/model/Integration.js +95 -0
- package/lib/model/Transaction.js +5 -5
- package/lib/model/User.js +78 -0
- package/lib/service/HttpApiRequest.js +53 -23
- package/lib/service/account-service.js +1 -2
- package/lib/service/app-service.js +3 -6
- package/lib/service/book-service.js +1 -2
- package/lib/service/connection-service.js +72 -0
- package/lib/service/file-service.js +1 -2
- package/lib/service/group-service.js +4 -9
- package/lib/service/integration-service.js +53 -0
- package/lib/service/transaction-service.js +24 -17
- package/lib/service/user-service.js +21 -0
- package/package.json +2 -2
package/lib/cli.js
CHANGED
|
@@ -17,6 +17,7 @@ const commander_1 = __importDefault(require("commander"));
|
|
|
17
17
|
const local_auth_service_1 = require("./auth/local-auth-service");
|
|
18
18
|
const Bkper_1 = require("./model/Bkper");
|
|
19
19
|
const utils_1 = require("./utils");
|
|
20
|
+
const App_1 = require("./model/App");
|
|
20
21
|
var fs = require('fs');
|
|
21
22
|
require('dotenv').config();
|
|
22
23
|
process.env.NODE_ENV = utils_1.NODE_ENV_DEV;
|
|
@@ -39,8 +40,9 @@ commander_1.default
|
|
|
39
40
|
.option('-c, --create', 'Create a new App')
|
|
40
41
|
.action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
42
|
try {
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
Bkper_1.Bkper.setConfig({ apiKeyProvider: () => __awaiter(void 0, void 0, void 0, function* () { return process.env.BKPER_API_KEY; }) });
|
|
44
|
+
let app = new App_1.App();
|
|
45
|
+
app.setJson(JSON.parse(fs.readFileSync('./bkperapp.json', 'utf8')))
|
|
44
46
|
.setReadme(fs.readFileSync('./README.md', 'utf8'))
|
|
45
47
|
.setClientSecret(process.env.BKPER_CLIENT_SECRET)
|
|
46
48
|
.setDeveloperEmail(process.env.BKPER_DEVELOPER_EMAIL)
|
package/lib/index.d.ts
CHANGED
|
@@ -352,25 +352,21 @@ export declare class Bkper {
|
|
|
352
352
|
*/
|
|
353
353
|
static getBook(id: string): Promise<Book>;
|
|
354
354
|
/**
|
|
355
|
-
*
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
*
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
355
|
+
* Gets the current logged [[User]].
|
|
356
|
+
*/
|
|
357
|
+
static getUser(): Promise<User>;
|
|
358
|
+
/**
|
|
359
|
+
* Sets the API [[Config]] object.
|
|
360
|
+
*/
|
|
361
|
+
static setConfig(config: Config): void;
|
|
362
|
+
/**
|
|
363
|
+
* @deprecated Use `setConfig()` instead
|
|
363
364
|
*/
|
|
364
365
|
static setApiKey(key: string): App;
|
|
365
366
|
/**
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
* OAuthTokenProvider issue a valid OAuth token upon calling the Bkper Rest API.
|
|
369
|
-
*
|
|
370
|
-
* @param oauthTokenProvider - The [[OAuthTokenProvider]] implementation.
|
|
371
|
-
*
|
|
367
|
+
* @deprecated Use `setConfig()` instead
|
|
372
368
|
*/
|
|
373
|
-
static setOAuthTokenProvider(oauthTokenProvider:
|
|
369
|
+
static setOAuthTokenProvider(oauthTokenProvider: () => Promise<string>): Promise<void>;
|
|
374
370
|
}
|
|
375
371
|
|
|
376
372
|
/**
|
|
@@ -386,11 +382,8 @@ export declare class Book {
|
|
|
386
382
|
|
|
387
383
|
|
|
388
384
|
|
|
389
|
-
|
|
390
|
-
|
|
391
385
|
constructor(json: bkper.Book);
|
|
392
386
|
/**
|
|
393
|
-
*
|
|
394
387
|
* @returns The wrapped plain json object
|
|
395
388
|
*/
|
|
396
389
|
json(): bkper.Book;
|
|
@@ -582,7 +575,7 @@ export declare class Book {
|
|
|
582
575
|
*
|
|
583
576
|
* @returns The value formated
|
|
584
577
|
*/
|
|
585
|
-
formatValue(value: Amount | number): string;
|
|
578
|
+
formatValue(value: Amount | number | null | undefined): string;
|
|
586
579
|
/**
|
|
587
580
|
* Parse a value string according to [[DecimalSeparator]] and fraction digits of the Book.
|
|
588
581
|
*/
|
|
@@ -599,10 +592,17 @@ export declare class Book {
|
|
|
599
592
|
* Create [[Transactions]] on the Book, in batch.
|
|
600
593
|
*/
|
|
601
594
|
batchCreateTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
595
|
+
/**
|
|
596
|
+
* Trash [[Transactions]] on the Book, in batch.
|
|
597
|
+
*/
|
|
598
|
+
batchTrashTransactions(transactions: Transaction[]): Promise<void>;
|
|
602
599
|
/**
|
|
603
600
|
* Trigger [Balances Audit](https://help.bkper.com/en/articles/4412038-balances-audit) async process.
|
|
604
601
|
*/
|
|
605
602
|
audit(): void;
|
|
603
|
+
getIntegrations(): Promise<Integration[]>;
|
|
604
|
+
createIntegration(integration: bkper.Integration | Integration): Promise<Integration>;
|
|
605
|
+
updateIntegration(integration: bkper.Integration): Promise<Integration>;
|
|
606
606
|
/**
|
|
607
607
|
* Resumes a transaction iteration using a continuation token from a previous iterator.
|
|
608
608
|
*
|
|
@@ -761,6 +761,141 @@ export declare class Collection {
|
|
|
761
761
|
getBooks(): Book[];
|
|
762
762
|
}
|
|
763
763
|
|
|
764
|
+
declare interface Config {
|
|
765
|
+
/**
|
|
766
|
+
* The API key to identify the agent.
|
|
767
|
+
*
|
|
768
|
+
* API keys are intended for agent identification only, not for authentication. [Learn more](https://cloud.google.com/endpoints/docs/frameworks/java/when-why-api-key)
|
|
769
|
+
*
|
|
770
|
+
* See how to create your api key [here](https://cloud.google.com/docs/authentication/api-keys).
|
|
771
|
+
*/
|
|
772
|
+
apiKeyProvider?: () => Promise<string>;
|
|
773
|
+
oauthTokenProvider?: () => Promise<string>;
|
|
774
|
+
/**
|
|
775
|
+
* Provides additional headers to append to the API request
|
|
776
|
+
*/
|
|
777
|
+
requestHeadersProvider?: () => Promise<{
|
|
778
|
+
[key: string]: string;
|
|
779
|
+
}>;
|
|
780
|
+
requestErrorHandler?: (error: any) => any;
|
|
781
|
+
/**
|
|
782
|
+
* Sets the base api url. Default to https://app.bkper.com/_ah/api/bkper
|
|
783
|
+
*/
|
|
784
|
+
apiBaseUrl?: string;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
/**
|
|
788
|
+
* This class defines a Connection from an User to an external service.
|
|
789
|
+
*
|
|
790
|
+
* @public
|
|
791
|
+
*/
|
|
792
|
+
export declare class Connection {
|
|
793
|
+
|
|
794
|
+
constructor(json?: bkper.Connection);
|
|
795
|
+
/**
|
|
796
|
+
* @returns The wrapped plain json object
|
|
797
|
+
*/
|
|
798
|
+
json(): bkper.Connection;
|
|
799
|
+
/**
|
|
800
|
+
* @returns The id of this User
|
|
801
|
+
*/
|
|
802
|
+
getId(): string;
|
|
803
|
+
/**
|
|
804
|
+
* @returns The Connection agentId
|
|
805
|
+
*/
|
|
806
|
+
getAgentId(): string;
|
|
807
|
+
/**
|
|
808
|
+
* Sets the Connection agentId
|
|
809
|
+
*
|
|
810
|
+
* @returns This Connection, for chainning.
|
|
811
|
+
*/
|
|
812
|
+
setAgentId(agentId: string): Connection;
|
|
813
|
+
/**
|
|
814
|
+
* @returns The name of this Connection
|
|
815
|
+
*/
|
|
816
|
+
getName(): string;
|
|
817
|
+
/**
|
|
818
|
+
* @returns The email of the owner of this Connection
|
|
819
|
+
*/
|
|
820
|
+
getEmail(): string;
|
|
821
|
+
/**
|
|
822
|
+
* Sets the name of the Connection.
|
|
823
|
+
*
|
|
824
|
+
* @returns This Connection, for chainning.
|
|
825
|
+
*/
|
|
826
|
+
setName(name: string): Connection;
|
|
827
|
+
/**
|
|
828
|
+
* Sets the universal unique identifier of this connection.
|
|
829
|
+
*
|
|
830
|
+
* @returns This Connection, for chainning.
|
|
831
|
+
*/
|
|
832
|
+
setUUID(uuid: string): Connection;
|
|
833
|
+
/**
|
|
834
|
+
* @returns The name of universal unique identifier of the connection
|
|
835
|
+
*/
|
|
836
|
+
getUUID(): string;
|
|
837
|
+
/**
|
|
838
|
+
* @returns The connection type
|
|
839
|
+
*/
|
|
840
|
+
getType(): "APP" | "BANK";
|
|
841
|
+
/**
|
|
842
|
+
* Sets the connection type.
|
|
843
|
+
*
|
|
844
|
+
* @returns This Connection, for chainning.
|
|
845
|
+
*/
|
|
846
|
+
setType(type: "APP" | "BANK"): Connection;
|
|
847
|
+
/**
|
|
848
|
+
* Gets the custom properties stored in this Connection
|
|
849
|
+
*/
|
|
850
|
+
getProperties(): {
|
|
851
|
+
[key: string]: string;
|
|
852
|
+
};
|
|
853
|
+
/**
|
|
854
|
+
* Sets the custom properties of the Connection
|
|
855
|
+
*
|
|
856
|
+
* @param properties - Object with key/value pair properties
|
|
857
|
+
*
|
|
858
|
+
* @returns This Connection, for chainning.
|
|
859
|
+
*/
|
|
860
|
+
setProperties(properties: {
|
|
861
|
+
[key: string]: string;
|
|
862
|
+
}): Connection;
|
|
863
|
+
/**
|
|
864
|
+
* Gets the property value for given keys. First property found will be retrieved
|
|
865
|
+
*
|
|
866
|
+
* @param keys - The property key
|
|
867
|
+
*/
|
|
868
|
+
getProperty(...keys: string[]): string;
|
|
869
|
+
/**
|
|
870
|
+
* Sets a custom property in the Connection.
|
|
871
|
+
*
|
|
872
|
+
* @param key - The property key
|
|
873
|
+
* @param value - The property value
|
|
874
|
+
*/
|
|
875
|
+
setProperty(key: string, value: string): Connection;
|
|
876
|
+
/**
|
|
877
|
+
* Delete a custom property
|
|
878
|
+
*
|
|
879
|
+
* @param key - The property key
|
|
880
|
+
*
|
|
881
|
+
* @returns This Connection, for chainning.
|
|
882
|
+
*/
|
|
883
|
+
deleteProperty(key: string): Connection;
|
|
884
|
+
/**
|
|
885
|
+
* Clean any token property
|
|
886
|
+
*/
|
|
887
|
+
clearTokenProperties(): void;
|
|
888
|
+
/**
|
|
889
|
+
* Gets the custom properties keys stored in the Connection.
|
|
890
|
+
*/
|
|
891
|
+
getPropertyKeys(): string[];
|
|
892
|
+
getIntegrations(): Promise<Integration[]>;
|
|
893
|
+
/**
|
|
894
|
+
* Perform create new connection.
|
|
895
|
+
*/
|
|
896
|
+
create(): Promise<Connection>;
|
|
897
|
+
}
|
|
898
|
+
|
|
764
899
|
/**
|
|
765
900
|
* Decimal separator of numbers on book
|
|
766
901
|
*
|
|
@@ -956,6 +1091,66 @@ export declare class Group {
|
|
|
956
1091
|
remove(): Promise<Group>;
|
|
957
1092
|
}
|
|
958
1093
|
|
|
1094
|
+
/**
|
|
1095
|
+
* This class defines a Integration from an User to an external service.
|
|
1096
|
+
*
|
|
1097
|
+
* @public
|
|
1098
|
+
*/
|
|
1099
|
+
export declare class Integration {
|
|
1100
|
+
|
|
1101
|
+
constructor(json: bkper.Integration);
|
|
1102
|
+
/**
|
|
1103
|
+
* @returns The wrapped plain json object
|
|
1104
|
+
*/
|
|
1105
|
+
json(): bkper.Integration;
|
|
1106
|
+
getBookId(): string;
|
|
1107
|
+
/**
|
|
1108
|
+
* @returns The id of this User
|
|
1109
|
+
*/
|
|
1110
|
+
getId(): string;
|
|
1111
|
+
/**
|
|
1112
|
+
* @returns The name of this Integration
|
|
1113
|
+
*/
|
|
1114
|
+
getName(): string;
|
|
1115
|
+
/**
|
|
1116
|
+
* Gets the custom properties stored in this Integration
|
|
1117
|
+
*/
|
|
1118
|
+
getProperties(): {
|
|
1119
|
+
[key: string]: string;
|
|
1120
|
+
};
|
|
1121
|
+
/**
|
|
1122
|
+
* Sets the custom properties of the Integration
|
|
1123
|
+
*
|
|
1124
|
+
* @param properties - Object with key/value pair properties
|
|
1125
|
+
*
|
|
1126
|
+
* @returns This Integration, for chainning.
|
|
1127
|
+
*/
|
|
1128
|
+
setProperties(properties: {
|
|
1129
|
+
[key: string]: string;
|
|
1130
|
+
}): Integration;
|
|
1131
|
+
/**
|
|
1132
|
+
* Gets the property value for given keys. First property found will be retrieved
|
|
1133
|
+
*
|
|
1134
|
+
* @param keys - The property key
|
|
1135
|
+
*/
|
|
1136
|
+
getProperty(...keys: string[]): string;
|
|
1137
|
+
/**
|
|
1138
|
+
* Sets a custom property in the Integration.
|
|
1139
|
+
*
|
|
1140
|
+
* @param key - The property key
|
|
1141
|
+
* @param value - The property value
|
|
1142
|
+
*/
|
|
1143
|
+
setProperty(key: string, value: string): Integration;
|
|
1144
|
+
/**
|
|
1145
|
+
* Delete a custom property
|
|
1146
|
+
*
|
|
1147
|
+
* @param key - The property key
|
|
1148
|
+
*
|
|
1149
|
+
* @returns This Integration, for chainning.
|
|
1150
|
+
*/
|
|
1151
|
+
deleteProperty(key: string): Integration;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
959
1154
|
/**
|
|
960
1155
|
* Enum that represents a Month.
|
|
961
1156
|
*
|
|
@@ -976,18 +1171,6 @@ declare enum Month {
|
|
|
976
1171
|
DECEMBER = "DECEMBER"
|
|
977
1172
|
}
|
|
978
1173
|
|
|
979
|
-
/**
|
|
980
|
-
* Interface to provide OAuth2 tokens upon calling the API.
|
|
981
|
-
*
|
|
982
|
-
* @public
|
|
983
|
-
*/
|
|
984
|
-
export declare interface OAuthTokenProvider {
|
|
985
|
-
/**
|
|
986
|
-
* A valid OAuth2 access token with **https://www.googleapis.com/auth/userinfo.email** scope authorized.
|
|
987
|
-
*/
|
|
988
|
-
(): Promise<string>;
|
|
989
|
-
}
|
|
990
|
-
|
|
991
1174
|
/**
|
|
992
1175
|
* Enum that represents a period slice.
|
|
993
1176
|
*
|
|
@@ -1235,7 +1418,7 @@ export declare class Transaction {
|
|
|
1235
1418
|
getDebitAccountName(): Promise<string>;
|
|
1236
1419
|
/**
|
|
1237
1420
|
*
|
|
1238
|
-
* Sets the debit/
|
|
1421
|
+
* Sets the debit/destination Account of the Transaction. Same as to().
|
|
1239
1422
|
*
|
|
1240
1423
|
* @param account - Account id, name or object.
|
|
1241
1424
|
*
|
|
@@ -1244,7 +1427,7 @@ export declare class Transaction {
|
|
|
1244
1427
|
setDebitAccount(account: Account | bkper.Account): Transaction;
|
|
1245
1428
|
/**
|
|
1246
1429
|
*
|
|
1247
|
-
* Sets the debit/
|
|
1430
|
+
* Sets the debit/destination Account of the Transaction. Same as setDebitAccount().
|
|
1248
1431
|
*
|
|
1249
1432
|
* @param account - Account id, name or object.
|
|
1250
1433
|
*
|
|
@@ -1442,4 +1625,31 @@ export declare class TransactionIterator {
|
|
|
1442
1625
|
getAccount(): Promise<Account>;
|
|
1443
1626
|
}
|
|
1444
1627
|
|
|
1628
|
+
/**
|
|
1629
|
+
* This class defines a User.
|
|
1630
|
+
*
|
|
1631
|
+
* @public
|
|
1632
|
+
*/
|
|
1633
|
+
export declare class User {
|
|
1634
|
+
|
|
1635
|
+
constructor(wrapped: bkper.User);
|
|
1636
|
+
/**
|
|
1637
|
+
* @returns The id of the User
|
|
1638
|
+
*/
|
|
1639
|
+
getId(): string;
|
|
1640
|
+
/**
|
|
1641
|
+
* @returns The name of the User
|
|
1642
|
+
*/
|
|
1643
|
+
getName(): string;
|
|
1644
|
+
/**
|
|
1645
|
+
* @returns The full name of the User
|
|
1646
|
+
*/
|
|
1647
|
+
getFullName(): string;
|
|
1648
|
+
/**
|
|
1649
|
+
* @returns The User connections
|
|
1650
|
+
*/
|
|
1651
|
+
getConnections(): Promise<Connection[]>;
|
|
1652
|
+
getConnection(id: string): Promise<Connection>;
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1445
1655
|
export { }
|
package/lib/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.Permission = exports.DecimalSeparator = exports.AccountType = exports.Periodicity = exports.TransactionIterator = exports.Transaction = exports.Group = exports.File = exports.Collection = exports.Book = exports.Account = exports.Bkper = exports.Amount = exports.App = void 0;
|
|
10
|
+
exports.Permission = exports.DecimalSeparator = exports.AccountType = exports.Periodicity = exports.Connection = exports.Integration = exports.User = exports.TransactionIterator = exports.Transaction = exports.Group = exports.File = exports.Collection = exports.Book = exports.Account = exports.Bkper = exports.Amount = exports.App = void 0;
|
|
11
11
|
var App_1 = require("./model/App");
|
|
12
12
|
Object.defineProperty(exports, "App", { enumerable: true, get: function () { return App_1.App; } });
|
|
13
13
|
var Amount_1 = require("./model/Amount");
|
|
@@ -28,6 +28,12 @@ var Transaction_1 = require("./model/Transaction");
|
|
|
28
28
|
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return Transaction_1.Transaction; } });
|
|
29
29
|
var TransactionIterator_1 = require("./model/TransactionIterator");
|
|
30
30
|
Object.defineProperty(exports, "TransactionIterator", { enumerable: true, get: function () { return TransactionIterator_1.TransactionIterator; } });
|
|
31
|
+
var User_1 = require("./model/User");
|
|
32
|
+
Object.defineProperty(exports, "User", { enumerable: true, get: function () { return User_1.User; } });
|
|
33
|
+
var Integration_1 = require("./model/Integration");
|
|
34
|
+
Object.defineProperty(exports, "Integration", { enumerable: true, get: function () { return Integration_1.Integration; } });
|
|
35
|
+
var Connection_1 = require("./model/Connection");
|
|
36
|
+
Object.defineProperty(exports, "Connection", { enumerable: true, get: function () { return Connection_1.Connection; } });
|
|
31
37
|
var Enums_1 = require("./model/Enums");
|
|
32
38
|
Object.defineProperty(exports, "Periodicity", { enumerable: true, get: function () { return Enums_1.Periodicity; } });
|
|
33
39
|
Object.defineProperty(exports, "AccountType", { enumerable: true, get: function () { return Enums_1.AccountType; } });
|
package/lib/model/Account.js
CHANGED
package/lib/model/Bkper.js
CHANGED
|
@@ -32,7 +32,9 @@ exports.Bkper = void 0;
|
|
|
32
32
|
const Book_1 = require("./Book");
|
|
33
33
|
const App_1 = require("./App");
|
|
34
34
|
const BookService = __importStar(require("../service/book-service"));
|
|
35
|
+
const UserService = __importStar(require("../service/user-service"));
|
|
35
36
|
const HttpApiRequest_1 = require("../service/HttpApiRequest");
|
|
37
|
+
const User_1 = require("./User");
|
|
36
38
|
/**
|
|
37
39
|
* This is the main Entry Point of the [bkper-node](https://www.npmjs.com/package/bkper) library.
|
|
38
40
|
*
|
|
@@ -52,30 +54,33 @@ class Bkper {
|
|
|
52
54
|
});
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
55
|
-
*
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
* Gets the current logged [[User]].
|
|
58
|
+
*/
|
|
59
|
+
static getUser() {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
let user = yield UserService.getUser();
|
|
62
|
+
return new User_1.User(user);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Sets the API [[Config]] object.
|
|
67
|
+
*/
|
|
68
|
+
static setConfig(config) {
|
|
69
|
+
HttpApiRequest_1.HttpApiRequest.config = config;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated Use `setConfig()` instead
|
|
63
73
|
*/
|
|
64
74
|
static setApiKey(key) {
|
|
65
|
-
HttpApiRequest_1.HttpApiRequest.
|
|
75
|
+
HttpApiRequest_1.HttpApiRequest.config.apiKeyProvider = () => __awaiter(this, void 0, void 0, function* () { return key; });
|
|
66
76
|
return new App_1.App();
|
|
67
77
|
}
|
|
68
78
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* OAuthTokenProvider issue a valid OAuth token upon calling the Bkper Rest API.
|
|
72
|
-
*
|
|
73
|
-
* @param oauthTokenProvider - The [[OAuthTokenProvider]] implementation.
|
|
74
|
-
*
|
|
79
|
+
* @deprecated Use `setConfig()` instead
|
|
75
80
|
*/
|
|
76
81
|
static setOAuthTokenProvider(oauthTokenProvider) {
|
|
77
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
HttpApiRequest_1.HttpApiRequest.
|
|
83
|
+
HttpApiRequest_1.HttpApiRequest.config.oauthTokenProvider = oauthTokenProvider;
|
|
79
84
|
});
|
|
80
85
|
}
|
|
81
86
|
}
|
package/lib/model/Book.js
CHANGED
|
@@ -34,6 +34,7 @@ const GroupService = __importStar(require("../service/group-service"));
|
|
|
34
34
|
const BookService = __importStar(require("../service/book-service"));
|
|
35
35
|
const FileService = __importStar(require("../service/file-service"));
|
|
36
36
|
const TransactionService = __importStar(require("../service/transaction-service"));
|
|
37
|
+
const IntegrationService = __importStar(require("../service/integration-service"));
|
|
37
38
|
const Utils = __importStar(require("../utils"));
|
|
38
39
|
const utils_1 = require("../utils");
|
|
39
40
|
const Account_1 = require("./Account");
|
|
@@ -42,6 +43,7 @@ const File_1 = require("./File");
|
|
|
42
43
|
const Group_1 = require("./Group");
|
|
43
44
|
const Transaction_1 = require("./Transaction");
|
|
44
45
|
const TransactionIterator_1 = require("./TransactionIterator");
|
|
46
|
+
const Integration_1 = require("./Integration");
|
|
45
47
|
/**
|
|
46
48
|
*
|
|
47
49
|
* A Book represents [General Ledger](https://en.wikipedia.org/wiki/General_ledger) for a company or business, but can also represent a [Ledger](https://en.wikipedia.org/wiki/Ledger) for a project or department
|
|
@@ -55,7 +57,6 @@ class Book {
|
|
|
55
57
|
this.wrapped = json;
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
|
-
*
|
|
59
60
|
* @returns The wrapped plain json object
|
|
60
61
|
*/
|
|
61
62
|
json() {
|
|
@@ -349,6 +350,9 @@ class Book {
|
|
|
349
350
|
* @returns The value formated
|
|
350
351
|
*/
|
|
351
352
|
formatValue(value) {
|
|
353
|
+
if (!value) {
|
|
354
|
+
return '';
|
|
355
|
+
}
|
|
352
356
|
return Utils.formatValue(value, this.getDecimalSeparator(), this.getFractionDigits());
|
|
353
357
|
}
|
|
354
358
|
/**
|
|
@@ -380,12 +384,51 @@ class Book {
|
|
|
380
384
|
return transactions;
|
|
381
385
|
});
|
|
382
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Trash [[Transactions]] on the Book, in batch.
|
|
389
|
+
*/
|
|
390
|
+
batchTrashTransactions(transactions) {
|
|
391
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
392
|
+
let transactionPayloads = [];
|
|
393
|
+
transactions.forEach(tx => transactionPayloads.push(tx.wrapped));
|
|
394
|
+
yield TransactionService.trashTransactionsBatch(this.getId(), transactionPayloads);
|
|
395
|
+
});
|
|
396
|
+
}
|
|
383
397
|
/**
|
|
384
398
|
* Trigger [Balances Audit](https://help.bkper.com/en/articles/4412038-balances-audit) async process.
|
|
385
399
|
*/
|
|
386
400
|
audit() {
|
|
387
401
|
BookService.audit(this.getId());
|
|
388
402
|
}
|
|
403
|
+
getIntegrations() {
|
|
404
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
405
|
+
const integrationsPlain = yield IntegrationService.listIntegrations(this.getId());
|
|
406
|
+
const integrations = integrationsPlain.map(i => new Integration_1.Integration(i));
|
|
407
|
+
return integrations;
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
createIntegration(integration) {
|
|
411
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
412
|
+
if (integration instanceof Integration_1.Integration) {
|
|
413
|
+
integration = yield IntegrationService.createIntegration(this.getId(), integration.json());
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
integration = yield IntegrationService.createIntegration(this.getId(), integration);
|
|
417
|
+
}
|
|
418
|
+
return new Integration_1.Integration(integration);
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
updateIntegration(integration) {
|
|
422
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
423
|
+
if (integration instanceof Integration_1.Integration) {
|
|
424
|
+
integration = yield IntegrationService.updateIntegration(this.getId(), integration.json());
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
integration = yield IntegrationService.updateIntegration(this.getId(), integration);
|
|
428
|
+
}
|
|
429
|
+
return new Integration_1.Integration(integration);
|
|
430
|
+
});
|
|
431
|
+
}
|
|
389
432
|
/**
|
|
390
433
|
* Resumes a transaction iteration using a continuation token from a previous iterator.
|
|
391
434
|
*
|