taxtank-core 0.30.48 → 0.30.49
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Transform, Type } from 'class-transformer';
|
|
2
|
+
import { Expose, plainToClass, Transform, Type } from 'class-transformer';
|
|
3
3
|
import { User } from '../user';
|
|
4
4
|
import { HoldingType } from './holding-type';
|
|
5
5
|
import { AppFile } from '../file';
|
|
@@ -39,17 +39,6 @@ export class Holding extends AbstractModel {
|
|
|
39
39
|
const yearTime = 1000 * 60 * 60 * 24 * 365;
|
|
40
40
|
return (new FinancialYear().startDate.getTime() - this.date.getTime()) > yearTime;
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
43
|
-
* in holding we are interested in 3 main categories: stock/crypto/other
|
|
44
|
-
*/
|
|
45
|
-
get category() {
|
|
46
|
-
if (this.type) {
|
|
47
|
-
return this.type.isOther() ? null : this.type.category;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
return HoldingTypeCategoryEnum.STOCK;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
42
|
isSold() {
|
|
54
43
|
return this.currentQuantity === 0;
|
|
55
44
|
}
|
|
@@ -70,4 +59,22 @@ __decorate([
|
|
|
70
59
|
Type(() => HoldingSale),
|
|
71
60
|
Transform(({ value }) => new Collection(value))
|
|
72
61
|
], Holding.prototype, "sales", void 0);
|
|
73
|
-
|
|
62
|
+
__decorate([
|
|
63
|
+
Transform(({ obj }) => {
|
|
64
|
+
const type = plainToClass(HoldingType, obj.type);
|
|
65
|
+
if (type) {
|
|
66
|
+
return type.isOther() ? null : type.category;
|
|
67
|
+
}
|
|
68
|
+
if (obj.category) {
|
|
69
|
+
return [
|
|
70
|
+
HoldingTypeCategoryEnum.COLLECTIBLE,
|
|
71
|
+
HoldingTypeCategoryEnum.UNLISTED_STOCK,
|
|
72
|
+
HoldingTypeCategoryEnum.UNLISTED_UNIT,
|
|
73
|
+
HoldingTypeCategoryEnum.OTHER
|
|
74
|
+
].includes(obj.category) ? null : obj.category;
|
|
75
|
+
}
|
|
76
|
+
return HoldingTypeCategoryEnum.STOCK;
|
|
77
|
+
}, { toClassOnly: true }),
|
|
78
|
+
Expose({ toClassOnly: true })
|
|
79
|
+
], Holding.prototype, "category", void 0);
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLE9BQVEsU0FBUSxhQUFhO0lBQTFDOztRQUNFLGNBQVMsR0FBRyxLQUFLLENBQUM7SUErRXBCLENBQUM7SUF4REM7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsV0FBd0I7UUFDckMsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsV0FBd0I7UUFDM0MsT0FBTyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxRQUFRLEdBQVcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUVuRCxPQUFPLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNwRixDQUFDO0lBdUJELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQXZFQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7cUNBQ047QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3FDQUNOO0FBSWQ7SUFGQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3ZCLFNBQVMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFjLEtBQUssQ0FBQyxDQUFDO3NDQUM1QjtBQXFERjtJQWY1QixTQUFTLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEdBQWdCLFlBQVksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtTQUM3QztRQUNELElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNoQixPQUFPO2dCQUNMLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ25DLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3RDLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3JDLHVCQUF1QixDQUFDLEtBQUs7YUFDOUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDaEQ7UUFDRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssQ0FBQztJQUN2QyxDQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDdEIsTUFBTSxDQUFDLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDO3lDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9zZSwgcGxhaW5Ub0NsYXNzLCBUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZSB9IGZyb20gJy4vaG9sZGluZy10eXBlJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IEhvbGRpbmdTYWxlIH0gZnJvbSAnLi9ob2xkaW5nLXNhbGUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZyBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBpc1RheEZyZWUgPSBmYWxzZTtcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgY3VycmVudFF1YW50aXR5OiBudW1iZXI7XG4gIG93bmVyc2hpcFBlcmNlbnQ/OiBudW1iZXI7XG4gIHByaWNlOiBudW1iZXI7XG4gIGZlZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgdHlwZTogSG9sZGluZ1R5cGU7XG5cbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nU2FsZSlcbiAgQFRyYW5zZm9ybSgoe3ZhbHVlfSkgPT4gbmV3IENvbGxlY3Rpb248SG9sZGluZ1NhbGU+KHZhbHVlKSlcbiAgc2FsZXM6IENvbGxlY3Rpb248SG9sZGluZ1NhbGU+O1xuXG4gIC8qKlxuICAgKiBHZXQgdG90YWwgcHVyY2hhc2luZyBwcmljZVxuICAgKi9cbiAgZ2V0IHB1cmNoYXNlVmFsdWUoKTogbnVtYmVyIHtcbiAgICAvLyBQcmljZSBhbmQgZW50aXR5IG1heSBiZSBlbXB0eSB3aGVuIHdlIHVzZSBIb2xkaW5nRm9ybS5jdXJyZW50VmFsdWVcbiAgICBpZiAoIXRoaXMucHJpY2UgfHwgIXRoaXMucXVhbnRpdHkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByaWNlICogdGhpcy5xdWFudGl0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCBtYXJrZXQgcHJpY2VcbiAgICovXG4gIGdldE1hcmtldFZhbHVlKGhvbGRpbmdUeXBlOiBIb2xkaW5nVHlwZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucXVhbnRpdHkgKiBob2xkaW5nVHlwZS5wcmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcGVyY2VudCBkaWZmZXJlbmNlIGJldHdlZW4gY3VycmVudCBhbmQgYnV5IHByaWNlXG4gICAqL1xuICBnZXRHcm93dGhDb2VmZmljaWVudChob2xkaW5nVHlwZTogSG9sZGluZ1R5cGUpOiBudW1iZXIge1xuICAgIHJldHVybiBob2xkaW5nVHlwZS5wcmljZSAvIHRoaXMucHJpY2UgLSAxO1xuICB9XG5cbiAgaGVsZE1vcmVZZWFyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHllYXJUaW1lOiBudW1iZXIgPSAxMDAwICogNjAgKiA2MCAqIDI0ICogMzY1O1xuXG4gICAgcmV0dXJuIChuZXcgRmluYW5jaWFsWWVhcigpLnN0YXJ0RGF0ZS5nZXRUaW1lKCkgLSB0aGlzLmRhdGUuZ2V0VGltZSgpKSA+IHllYXJUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFydGVtL0FsZXggbG9va3MgYmFkLCBjb21lIHVwIHdpdGggYSBiZXR0ZXIgc29sdXRpb25cbiAgICogZ2V0IGN1cnJlbnQgY2F0ZWdvcnksIGluIGhvbGRpbmcgd2UgYXJlIGludGVyZXN0ZWQgaW4gMyBtYWluIGNhdGVnb3JpZXM6IHN0b2NrL2NyeXB0by9vdGhlclxuICAgKi9cbiAgQFRyYW5zZm9ybSgoe29ian0pID0+IHtcbiAgICBjb25zdCB0eXBlIDpIb2xkaW5nVHlwZSA9IHBsYWluVG9DbGFzcyhIb2xkaW5nVHlwZSwgb2JqLnR5cGUpXG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIHJldHVybiB0eXBlLmlzT3RoZXIoKSA/IG51bGwgOiB0eXBlLmNhdGVnb3J5XG4gICAgfVxuICAgIGlmIChvYmouY2F0ZWdvcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNPTExFQ1RJQkxFLFxuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfVU5JVCxcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uT1RIRVJcbiAgICAgIF0uaW5jbHVkZXMob2JqLmNhdGVnb3J5KSA/IG51bGwgOiBvYmouY2F0ZWdvcnk7XG4gICAgfVxuICAgIHJldHVybiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5TVE9DSztcbiAgfSwge3RvQ2xhc3NPbmx5OiB0cnVlfSlcbiAgQEV4cG9zZSh7dG9DbGFzc09ubHk6IHRydWV9KSBjYXRlZ29yeTogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW07XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWFudGl0eSA9PT0gMDtcbiAgfVxufVxuIl19
|
|
@@ -8550,17 +8550,6 @@ class Holding extends AbstractModel {
|
|
|
8550
8550
|
const yearTime = 1000 * 60 * 60 * 24 * 365;
|
|
8551
8551
|
return (new FinancialYear().startDate.getTime() - this.date.getTime()) > yearTime;
|
|
8552
8552
|
}
|
|
8553
|
-
/**
|
|
8554
|
-
* in holding we are interested in 3 main categories: stock/crypto/other
|
|
8555
|
-
*/
|
|
8556
|
-
get category() {
|
|
8557
|
-
if (this.type) {
|
|
8558
|
-
return this.type.isOther() ? null : this.type.category;
|
|
8559
|
-
}
|
|
8560
|
-
else {
|
|
8561
|
-
return HoldingTypeCategoryEnum.STOCK;
|
|
8562
|
-
}
|
|
8563
|
-
}
|
|
8564
8553
|
isSold() {
|
|
8565
8554
|
return this.currentQuantity === 0;
|
|
8566
8555
|
}
|
|
@@ -8581,6 +8570,24 @@ __decorate([
|
|
|
8581
8570
|
Type(() => HoldingSale),
|
|
8582
8571
|
Transform(({ value }) => new Collection(value))
|
|
8583
8572
|
], Holding.prototype, "sales", void 0);
|
|
8573
|
+
__decorate([
|
|
8574
|
+
Transform(({ obj }) => {
|
|
8575
|
+
const type = plainToClass(HoldingType, obj.type);
|
|
8576
|
+
if (type) {
|
|
8577
|
+
return type.isOther() ? null : type.category;
|
|
8578
|
+
}
|
|
8579
|
+
if (obj.category) {
|
|
8580
|
+
return [
|
|
8581
|
+
HoldingTypeCategoryEnum.COLLECTIBLE,
|
|
8582
|
+
HoldingTypeCategoryEnum.UNLISTED_STOCK,
|
|
8583
|
+
HoldingTypeCategoryEnum.UNLISTED_UNIT,
|
|
8584
|
+
HoldingTypeCategoryEnum.OTHER
|
|
8585
|
+
].includes(obj.category) ? null : obj.category;
|
|
8586
|
+
}
|
|
8587
|
+
return HoldingTypeCategoryEnum.STOCK;
|
|
8588
|
+
}, { toClassOnly: true }),
|
|
8589
|
+
Expose({ toClassOnly: true })
|
|
8590
|
+
], Holding.prototype, "category", void 0);
|
|
8584
8591
|
|
|
8585
8592
|
class AnnualClientDetails extends AbstractModel {
|
|
8586
8593
|
constructor() {
|