@tf2-automatic/bptf-manager-data 8.0.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.
Files changed (36) hide show
  1. package/README.md +19 -0
  2. package/is-refined-validator/README.md +11 -0
  3. package/is-refined-validator/package.json +12 -0
  4. package/is-refined-validator/src/index.d.ts +1 -0
  5. package/is-refined-validator/src/index.js +5 -0
  6. package/is-refined-validator/src/index.js.map +1 -0
  7. package/is-refined-validator/src/lib/is-refined-validator.d.ts +3 -0
  8. package/is-refined-validator/src/lib/is-refined-validator.js +23 -0
  9. package/is-refined-validator/src/lib/is-refined-validator.js.map +1 -0
  10. package/is-steamid-validator/README.md +11 -0
  11. package/is-steamid-validator/package.json +12 -0
  12. package/is-steamid-validator/src/index.d.ts +1 -0
  13. package/is-steamid-validator/src/index.js +5 -0
  14. package/is-steamid-validator/src/index.js.map +1 -0
  15. package/is-steamid-validator/src/lib/is-steamid-validator.d.ts +3 -0
  16. package/is-steamid-validator/src/lib/is-steamid-validator.js +32 -0
  17. package/is-steamid-validator/src/lib/is-steamid-validator.js.map +1 -0
  18. package/package.json +15 -0
  19. package/src/index.d.ts +5 -0
  20. package/src/index.js +9 -0
  21. package/src/index.js.map +1 -0
  22. package/src/lib/agents.d.ts +22 -0
  23. package/src/lib/agents.js +55 -0
  24. package/src/lib/agents.js.map +1 -0
  25. package/src/lib/inventories.d.ts +16 -0
  26. package/src/lib/inventories.js +72 -0
  27. package/src/lib/inventories.js.map +1 -0
  28. package/src/lib/listings.d.ts +90 -0
  29. package/src/lib/listings.js +257 -0
  30. package/src/lib/listings.js.map +1 -0
  31. package/src/lib/notifications.d.ts +35 -0
  32. package/src/lib/notifications.js +56 -0
  33. package/src/lib/notifications.js.map +1 -0
  34. package/src/lib/tokens.d.ts +13 -0
  35. package/src/lib/tokens.js +33 -0
  36. package/src/lib/tokens.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # bptf-manager-data
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+
6
+
7
+ ## Building
8
+
9
+ Run `nx build bptf-manager-data` to build the library.
10
+
11
+
12
+
13
+
14
+
15
+ ## Running unit tests
16
+
17
+ Run `nx test bptf-manager-data` to execute the unit tests via [Jest](https://jestjs.io).
18
+
19
+
@@ -0,0 +1,11 @@
1
+ # is-refined-validator
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test is-refined-validator` to execute the unit tests via [Jest](https://jestjs.io).
8
+
9
+ ## Running lint
10
+
11
+ Run `nx lint is-refined-validator` to execute the lint via [ESLint](https://eslint.org/).
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "@tf2-automatic/is-refined-validator",
3
+ "version": "latest",
4
+ "dependencies": {
5
+ "class-validator": "0.14.1",
6
+ "tf2-currencies": "1.2.4",
7
+ "tslib": "^2.7.0"
8
+ },
9
+ "main": "./src/index.js",
10
+ "type": "commonjs",
11
+ "types": "./src/index.d.ts"
12
+ }
@@ -0,0 +1 @@
1
+ export * from './lib/is-refined-validator';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/is-refined-validator"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/is-refined-validator/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C"}
@@ -0,0 +1,3 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function isRefined(value: unknown): boolean;
3
+ export declare function IsRefined(validationOptions?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRefined = isRefined;
4
+ exports.IsRefined = IsRefined;
5
+ const class_validator_1 = require("class-validator");
6
+ const tf2_currencies_1 = require("tf2-currencies");
7
+ function isRefined(value) {
8
+ if (typeof value !== 'number') {
9
+ return false;
10
+ }
11
+ const refined = (0, tf2_currencies_1.toRefined)((0, tf2_currencies_1.toScrap)(value));
12
+ return refined === value;
13
+ }
14
+ function IsRefined(validationOptions) {
15
+ return (0, class_validator_1.ValidateBy)({
16
+ name: 'IsRefined',
17
+ validator: {
18
+ validate: (value) => isRefined(value),
19
+ defaultMessage: (0, class_validator_1.buildMessage)((eachPrefix) => eachPrefix + '$property must be in refined', validationOptions),
20
+ },
21
+ });
22
+ }
23
+ //# sourceMappingURL=is-refined-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-refined-validator.js","sourceRoot":"","sources":["../../../../../libs/is-refined-validator/src/lib/is-refined-validator.ts"],"names":[],"mappings":";;AAGA,8BAQC;AAED,8BAWC;AAxBD,qDAA8E;AAC9E,mDAAoD;AAEpD,SAAgB,SAAS,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,0BAAS,EAAC,IAAA,wBAAO,EAAC,KAAK,CAAC,CAAC,CAAC;IAE1C,OAAO,OAAO,KAAK,KAAK,CAAC;AAC3B,CAAC;AAED,SAAgB,SAAS,CAAC,iBAAqC;IAC7D,OAAO,IAAA,4BAAU,EAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC,KAAK,EAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9C,cAAc,EAAE,IAAA,8BAAY,EAC1B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,8BAA8B,EAC3D,iBAAiB,CAClB;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ # is-steamid-validator
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test is-steamid-validator` to execute the unit tests via [Jest](https://jestjs.io).
8
+
9
+ ## Running lint
10
+
11
+ Run `nx lint is-steamid-validator` to execute the lint via [ESLint](https://eslint.org/).
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "@tf2-automatic/is-steamid-validator",
3
+ "version": "latest",
4
+ "dependencies": {
5
+ "class-validator": "0.14.1",
6
+ "steamid": "^2.0.0",
7
+ "tslib": "^2.7.0"
8
+ },
9
+ "main": "./src/index.js",
10
+ "type": "commonjs",
11
+ "types": "./src/index.d.ts"
12
+ }
@@ -0,0 +1 @@
1
+ export * from './lib/is-steamid-validator';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/is-steamid-validator"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/is-steamid-validator/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C"}
@@ -0,0 +1,3 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function isSteamID(value: unknown): boolean;
3
+ export declare function IsSteamID(validationOptions?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSteamID = isSteamID;
4
+ exports.IsSteamID = IsSteamID;
5
+ const tslib_1 = require("tslib");
6
+ const class_validator_1 = require("class-validator");
7
+ const steamid_1 = tslib_1.__importDefault(require("steamid"));
8
+ function isSteamID(value) {
9
+ let steamid = null;
10
+ if (value instanceof steamid_1.default) {
11
+ steamid = value;
12
+ }
13
+ else {
14
+ try {
15
+ steamid = new steamid_1.default((value !== null && value !== void 0 ? value : '').toString());
16
+ }
17
+ catch (err) {
18
+ return false;
19
+ }
20
+ }
21
+ return steamid.isValid();
22
+ }
23
+ function IsSteamID(validationOptions) {
24
+ return (0, class_validator_1.ValidateBy)({
25
+ name: 'IsSteamID',
26
+ validator: {
27
+ validate: (value) => isSteamID(value),
28
+ defaultMessage: (0, class_validator_1.buildMessage)((eachPrefix) => eachPrefix + '$property must be a SteamID', validationOptions),
29
+ },
30
+ });
31
+ }
32
+ //# sourceMappingURL=is-steamid-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-steamid-validator.js","sourceRoot":"","sources":["../../../../../libs/is-steamid-validator/src/lib/is-steamid-validator.ts"],"names":[],"mappings":";;AAGA,8BAaC;AAED,8BAWC;;AA7BD,qDAA8E;AAC9E,8DAA8B;AAE9B,SAAgB,SAAS,CAAC,KAAc;IACtC,IAAI,OAAO,GAAmB,IAAI,CAAC;IACnC,IAAI,KAAK,YAAY,iBAAO,EAAE,CAAC;QAC7B,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,iBAAO,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,SAAgB,SAAS,CAAC,iBAAqC;IAC7D,OAAO,IAAA,4BAAU,EAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC,KAAK,EAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9C,cAAc,EAAE,IAAA,8BAAY,EAC1B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,6BAA6B,EAC1D,iBAAiB,CAClB;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
package/package.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "@tf2-automatic/bptf-manager-data",
3
+ "version": "8.0.0",
4
+ "dependencies": {
5
+ "@nestjs/swagger": "7.3.1",
6
+ "class-validator": "0.14.1",
7
+ "class-transformer": "0.5.1",
8
+ "tf2-currencies": "1.2.4",
9
+ "steamid": "^2.0.0",
10
+ "tslib": "^2.7.0"
11
+ },
12
+ "main": "./src/index.js",
13
+ "type": "commonjs",
14
+ "types": "./src/index.d.ts"
15
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './lib/tokens';
2
+ export * from './lib/listings';
3
+ export * from './lib/inventories';
4
+ export * from './lib/agents';
5
+ export * from './lib/notifications';
package/src/index.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/tokens"), exports);
5
+ tslib_1.__exportStar(require("./lib/listings"), exports);
6
+ tslib_1.__exportStar(require("./lib/inventories"), exports);
7
+ tslib_1.__exportStar(require("./lib/agents"), exports);
8
+ tslib_1.__exportStar(require("./lib/notifications"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bptf-manager-data/src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,yDAA+B;AAC/B,4DAAkC;AAClC,uDAA6B;AAC7B,8DAAoC"}
@@ -0,0 +1,22 @@
1
+ export declare const AGENTS_BASE_URL = "/agents";
2
+ export declare const AGENTS_PATH = "/";
3
+ export declare const AGENT_PATH = "/:steamid";
4
+ export declare const AGENT_REGISTER_PATH = "/:steamid/register";
5
+ export declare const AGENT_UNREGISTER_PATH = "/:steamid/unregister";
6
+ export declare const AGENTS_FULL_PATH: string;
7
+ export declare const AGENT_FULL_PATH: string;
8
+ export declare const AGENT_REGISTER_FULL_PATH: string;
9
+ export declare const AGENT_UNREGISTER_FULL_PATH: string;
10
+ export declare class CreateAgentDto {
11
+ userAgent?: string;
12
+ }
13
+ export interface Agent {
14
+ steamid64: string;
15
+ userAgent: string | null;
16
+ updatedAt: number;
17
+ }
18
+ export declare class AgentModel implements Agent {
19
+ steamid64: string;
20
+ userAgent: string | null;
21
+ updatedAt: number;
22
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentModel = exports.CreateAgentDto = exports.AGENT_UNREGISTER_FULL_PATH = exports.AGENT_REGISTER_FULL_PATH = exports.AGENT_FULL_PATH = exports.AGENTS_FULL_PATH = exports.AGENT_UNREGISTER_PATH = exports.AGENT_REGISTER_PATH = exports.AGENT_PATH = exports.AGENTS_PATH = exports.AGENTS_BASE_URL = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const class_validator_1 = require("class-validator");
7
+ exports.AGENTS_BASE_URL = '/agents';
8
+ exports.AGENTS_PATH = '/';
9
+ exports.AGENT_PATH = '/:steamid';
10
+ exports.AGENT_REGISTER_PATH = `${exports.AGENT_PATH}/register`;
11
+ exports.AGENT_UNREGISTER_PATH = `${exports.AGENT_PATH}/unregister`;
12
+ exports.AGENTS_FULL_PATH = exports.AGENTS_BASE_URL + exports.AGENTS_PATH;
13
+ exports.AGENT_FULL_PATH = exports.AGENTS_BASE_URL + exports.AGENT_PATH;
14
+ exports.AGENT_REGISTER_FULL_PATH = exports.AGENTS_BASE_URL + exports.AGENT_REGISTER_PATH;
15
+ exports.AGENT_UNREGISTER_FULL_PATH = exports.AGENTS_BASE_URL + exports.AGENT_UNREGISTER_PATH;
16
+ const now = Math.floor(Date.now() / 1000);
17
+ class CreateAgentDto {
18
+ }
19
+ exports.CreateAgentDto = CreateAgentDto;
20
+ tslib_1.__decorate([
21
+ (0, swagger_1.ApiProperty)({
22
+ example: 'github.com/tf2-automatic/tf2-automatic',
23
+ description: 'The user-agent used to register the agent',
24
+ required: false,
25
+ }),
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_validator_1.IsOptional)(),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], CreateAgentDto.prototype, "userAgent", void 0);
30
+ class AgentModel {
31
+ }
32
+ exports.AgentModel = AgentModel;
33
+ tslib_1.__decorate([
34
+ (0, swagger_1.ApiProperty)({
35
+ example: '76561198120070906',
36
+ description: 'The SteamID64 of the agent',
37
+ }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], AgentModel.prototype, "steamid64", void 0);
40
+ tslib_1.__decorate([
41
+ (0, swagger_1.ApiProperty)({
42
+ example: 'github.com/tf2-automatic/tf2-automatic',
43
+ description: 'The user-agent used to register the agent',
44
+ nullable: true,
45
+ }),
46
+ tslib_1.__metadata("design:type", Object)
47
+ ], AgentModel.prototype, "userAgent", void 0);
48
+ tslib_1.__decorate([
49
+ (0, swagger_1.ApiProperty)({
50
+ example: now,
51
+ description: 'When the agent was last updated',
52
+ }),
53
+ tslib_1.__metadata("design:type", Number)
54
+ ], AgentModel.prototype, "updatedAt", void 0);
55
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../../../../../libs/bptf-manager-data/src/lib/agents.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,qDAAuD;AAE1C,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,WAAW,GAAG,GAAG,CAAC;AAClB,QAAA,UAAU,GAAG,WAAW,CAAC;AACzB,QAAA,mBAAmB,GAAG,GAAG,kBAAU,WAAW,CAAC;AAC/C,QAAA,qBAAqB,GAAG,GAAG,kBAAU,aAAa,CAAC;AAEnD,QAAA,gBAAgB,GAAG,uBAAe,GAAG,mBAAW,CAAC;AACjD,QAAA,eAAe,GAAG,uBAAe,GAAG,kBAAU,CAAC;AAC/C,QAAA,wBAAwB,GAAG,uBAAe,GAAG,2BAAmB,CAAC;AACjE,QAAA,0BAA0B,GACrC,uBAAe,GAAG,6BAAqB,CAAC;AAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAE1C,MAAa,cAAc;CAS1B;AATD,wCASC;AADC;IAPC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iDACM;AASrB,MAAa,UAAU;CAmBtB;AAnBD,gCAmBC;AAdC;IAJC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,4BAA4B;KAC1C,CAAC;;6CACiB;AAOnB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE,IAAI;KACf,CAAC;;6CACwB;AAM1B;IAJC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE,iCAAiC;KAC/C,CAAC;;6CACiB"}
@@ -0,0 +1,16 @@
1
+ export declare const INVENTORIES_BASE_URL = "/inventories";
2
+ export declare const INVENTORY_STATUS_PATH = "/:steamid/status";
3
+ export declare const INVENTORY_REFRESH_PATH = "/:steamid/refresh";
4
+ export declare const INVENTORY_FULL_PATH: string;
5
+ export declare const INVENTORY_STATUS_FULL_PATH: string;
6
+ export declare const INVENTORY_REFRESH_FULL_PATH: string;
7
+ export declare class InventoryStatus {
8
+ current_time: number;
9
+ last_update: number;
10
+ timestamp: number;
11
+ next_update: number;
12
+ refresh_interval: number;
13
+ }
14
+ export declare class RefreshInventoryDto {
15
+ time?: number;
16
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RefreshInventoryDto = exports.InventoryStatus = exports.INVENTORY_REFRESH_FULL_PATH = exports.INVENTORY_STATUS_FULL_PATH = exports.INVENTORY_FULL_PATH = exports.INVENTORY_REFRESH_PATH = exports.INVENTORY_STATUS_PATH = exports.INVENTORIES_BASE_URL = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const class_validator_1 = require("class-validator");
7
+ exports.INVENTORIES_BASE_URL = '/inventories';
8
+ const INVENTORY_PATH = '/:steamid';
9
+ exports.INVENTORY_STATUS_PATH = `${INVENTORY_PATH}/status`;
10
+ exports.INVENTORY_REFRESH_PATH = `${INVENTORY_PATH}/refresh`;
11
+ exports.INVENTORY_FULL_PATH = exports.INVENTORIES_BASE_URL + INVENTORY_PATH;
12
+ exports.INVENTORY_STATUS_FULL_PATH = exports.INVENTORIES_BASE_URL + exports.INVENTORY_STATUS_PATH;
13
+ exports.INVENTORY_REFRESH_FULL_PATH = exports.INVENTORIES_BASE_URL + exports.INVENTORY_REFRESH_PATH;
14
+ class InventoryStatus {
15
+ }
16
+ exports.InventoryStatus = InventoryStatus;
17
+ tslib_1.__decorate([
18
+ (0, swagger_1.ApiProperty)({
19
+ example: Math.floor(Date.now() / 1000),
20
+ description: 'The current time according to backpack.tf',
21
+ type: Number,
22
+ }),
23
+ tslib_1.__metadata("design:type", Number)
24
+ ], InventoryStatus.prototype, "current_time", void 0);
25
+ tslib_1.__decorate([
26
+ (0, swagger_1.ApiProperty)({
27
+ example: Math.floor(Date.now() / 1000),
28
+ description: 'The last time the status changed',
29
+ type: Number,
30
+ }),
31
+ tslib_1.__metadata("design:type", Number)
32
+ ], InventoryStatus.prototype, "last_update", void 0);
33
+ tslib_1.__decorate([
34
+ (0, swagger_1.ApiProperty)({
35
+ example: Math.floor(Date.now() / 1000),
36
+ description: 'The last time the inventory was refreshed',
37
+ type: Number,
38
+ }),
39
+ tslib_1.__metadata("design:type", Number)
40
+ ], InventoryStatus.prototype, "timestamp", void 0);
41
+ tslib_1.__decorate([
42
+ (0, swagger_1.ApiProperty)({
43
+ example: Math.floor(Date.now() / 1000),
44
+ description: 'The next time the inventory needs to be updated',
45
+ type: Number,
46
+ }),
47
+ tslib_1.__metadata("design:type", Number)
48
+ ], InventoryStatus.prototype, "next_update", void 0);
49
+ tslib_1.__decorate([
50
+ (0, swagger_1.ApiProperty)({
51
+ example: 180,
52
+ description: 'The minimum time in seconds between inventory refreshes',
53
+ type: Number,
54
+ }),
55
+ tslib_1.__metadata("design:type", Number)
56
+ ], InventoryStatus.prototype, "refresh_interval", void 0);
57
+ class RefreshInventoryDto {
58
+ }
59
+ exports.RefreshInventoryDto = RefreshInventoryDto;
60
+ tslib_1.__decorate([
61
+ (0, swagger_1.ApiProperty)({
62
+ example: Math.floor(Date.now() / 1000),
63
+ description: 'Time for when the inventory needs to be refreshed after',
64
+ type: Number,
65
+ required: false,
66
+ }),
67
+ (0, class_validator_1.IsInt)(),
68
+ (0, class_validator_1.IsPositive)(),
69
+ (0, class_validator_1.IsOptional)(),
70
+ tslib_1.__metadata("design:type", Number)
71
+ ], RefreshInventoryDto.prototype, "time", void 0);
72
+ //# sourceMappingURL=inventories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventories.js","sourceRoot":"","sources":["../../../../../../../libs/bptf-manager-data/src/lib/inventories.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,qDAAgE;AAEnD,QAAA,oBAAoB,GAAG,cAAc,CAAC;AACnD,MAAM,cAAc,GAAG,WAAW,CAAC;AACtB,QAAA,qBAAqB,GAAG,GAAG,cAAc,SAAS,CAAC;AACnD,QAAA,sBAAsB,GAAG,GAAG,cAAc,UAAU,CAAC;AAErD,QAAA,mBAAmB,GAAG,4BAAoB,GAAG,cAAc,CAAC;AAC5D,QAAA,0BAA0B,GACrC,4BAAoB,GAAG,6BAAqB,CAAC;AAClC,QAAA,2BAA2B,GACtC,4BAAoB,GAAG,8BAAsB,CAAC;AAEhD,MAAa,eAAe;CAmC3B;AAnCD,0CAmCC;AA7BC;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,MAAM;KACb,CAAC;;qDACoB;AAOtB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,MAAM;KACb,CAAC;;oDACmB;AAOrB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,MAAM;KACb,CAAC;;kDACiB;AAOnB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,MAAM;KACb,CAAC;;oDACmB;AAOrB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE,yDAAyD;QACtE,IAAI,EAAE,MAAM;KACb,CAAC;;yDACwB;AAG5B,MAAa,mBAAmB;CAW/B;AAXD,kDAWC;AADC;IATC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,yDAAyD;QACtE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;iDACC"}
@@ -0,0 +1,90 @@
1
+ export declare const LISTINGS_BASE_URL = "/listings";
2
+ export declare const DESIRED_LISTINGS_PATH = "/:steamid/desired";
3
+ export declare const CURRENT_LISTINGS_PATH = "/:steamid/current";
4
+ export declare const CURRENT_LISTINGS_REFRESH_PATH = "/:steamid/current/refresh";
5
+ export declare const LISTING_LIMITS_PATH = "/:steamid/limits";
6
+ export declare const LISTING_LIMITS_REFRESH_PATH = "/:steamid/limits/refresh";
7
+ export declare const DESIRED_LISTINGS_FULL_PATH: string;
8
+ export declare const CURRENT_LISTINGS_FULL_PATH: string;
9
+ export declare const CURRENT_LISTINGS_REFRESH_FULL_PATH: string;
10
+ export declare const LISTING_LIMITS_FULL_PATH: string;
11
+ export declare const LISTING_LIMITS_REFRESH_FULL_PATH: string;
12
+ export declare class ListingCurrenciesDto {
13
+ keys?: number;
14
+ metal?: number;
15
+ }
16
+ export declare class ListingItemDto {
17
+ quantity?: number;
18
+ }
19
+ export declare class ListingDto {
20
+ item?: ListingItemDto;
21
+ id?: string;
22
+ }
23
+ export declare class AddListingDto extends ListingDto {
24
+ currencies: ListingCurrenciesDto;
25
+ details?: string;
26
+ }
27
+ export declare class RemoveListingDto extends ListingDto {
28
+ item?: object;
29
+ id?: string;
30
+ hash?: string;
31
+ }
32
+ export declare class DesiredListingDto {
33
+ listing: AddListingDto;
34
+ priority?: number;
35
+ force?: boolean;
36
+ }
37
+ export declare enum ListingError {
38
+ ItemDoesNotExist = "ITEM_DOES_NOT_EXIST",
39
+ InvalidItem = "INVALID_ITEM",
40
+ InvalidCurrencies = "MISSING_PRICE",
41
+ CapExceeded = "CAP_EXCEEDED",
42
+ DuplicateListing = "DUPLICATE_LISTING",
43
+ Unknown = "UNKNOWN"
44
+ }
45
+ export interface DesiredListing {
46
+ hash: string;
47
+ id: string | null;
48
+ steamid64: string;
49
+ listing: AddListingDto;
50
+ priority?: number;
51
+ error?: ListingError;
52
+ lastAttemptedAt?: number;
53
+ updatedAt: number;
54
+ }
55
+ export declare class DesiredListingModel implements DesiredListing {
56
+ hash: string;
57
+ id: string | null;
58
+ steamid64: string;
59
+ listing: AddListingDto;
60
+ priority?: number;
61
+ error?: ListingError;
62
+ lastAttemptedAt?: number;
63
+ updatedAt: number;
64
+ }
65
+ export interface Listing {
66
+ id: string;
67
+ item: {
68
+ quantity?: number;
69
+ };
70
+ archived: boolean;
71
+ listedAt: number;
72
+ bumpedAt: number;
73
+ currencies: {
74
+ keys?: number;
75
+ metal?: number;
76
+ };
77
+ details?: string;
78
+ }
79
+ export interface ListingLimits {
80
+ cap: number;
81
+ used: number;
82
+ promoted: number;
83
+ updatedAt: number;
84
+ }
85
+ export declare class ListingLimitsModel implements ListingLimits {
86
+ cap: number;
87
+ used: number;
88
+ promoted: number;
89
+ updatedAt: number;
90
+ }
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListingLimitsModel = exports.DesiredListingModel = exports.ListingError = exports.DesiredListingDto = exports.RemoveListingDto = exports.AddListingDto = exports.ListingDto = exports.ListingItemDto = exports.ListingCurrenciesDto = exports.LISTING_LIMITS_REFRESH_FULL_PATH = exports.LISTING_LIMITS_FULL_PATH = exports.CURRENT_LISTINGS_REFRESH_FULL_PATH = exports.CURRENT_LISTINGS_FULL_PATH = exports.DESIRED_LISTINGS_FULL_PATH = exports.LISTING_LIMITS_REFRESH_PATH = exports.LISTING_LIMITS_PATH = exports.CURRENT_LISTINGS_REFRESH_PATH = exports.CURRENT_LISTINGS_PATH = exports.DESIRED_LISTINGS_PATH = exports.LISTINGS_BASE_URL = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const is_refined_validator_1 = require("../../is-refined-validator/src");
7
+ const class_transformer_1 = require("class-transformer");
8
+ const class_validator_1 = require("class-validator");
9
+ exports.LISTINGS_BASE_URL = '/listings';
10
+ exports.DESIRED_LISTINGS_PATH = '/:steamid/desired';
11
+ exports.CURRENT_LISTINGS_PATH = '/:steamid/current';
12
+ exports.CURRENT_LISTINGS_REFRESH_PATH = `${exports.CURRENT_LISTINGS_PATH}/refresh`;
13
+ exports.LISTING_LIMITS_PATH = '/:steamid/limits';
14
+ exports.LISTING_LIMITS_REFRESH_PATH = `${exports.LISTING_LIMITS_PATH}/refresh`;
15
+ exports.DESIRED_LISTINGS_FULL_PATH = exports.LISTINGS_BASE_URL + exports.DESIRED_LISTINGS_PATH;
16
+ exports.CURRENT_LISTINGS_FULL_PATH = exports.LISTINGS_BASE_URL + exports.CURRENT_LISTINGS_PATH;
17
+ exports.CURRENT_LISTINGS_REFRESH_FULL_PATH = exports.LISTINGS_BASE_URL + exports.CURRENT_LISTINGS_REFRESH_PATH;
18
+ exports.LISTING_LIMITS_FULL_PATH = exports.LISTINGS_BASE_URL + exports.LISTING_LIMITS_PATH;
19
+ exports.LISTING_LIMITS_REFRESH_FULL_PATH = exports.LISTINGS_BASE_URL + exports.LISTING_LIMITS_REFRESH_PATH;
20
+ class ListingCurrenciesDto {
21
+ }
22
+ exports.ListingCurrenciesDto = ListingCurrenciesDto;
23
+ tslib_1.__decorate([
24
+ (0, class_validator_1.IsInt)(),
25
+ (0, class_validator_1.Min)(0),
26
+ (0, class_validator_1.ValidateIf)((o) => o.keys !== undefined || (o.keys === undefined && o.metal === undefined)),
27
+ tslib_1.__metadata("design:type", Number)
28
+ ], ListingCurrenciesDto.prototype, "keys", void 0);
29
+ tslib_1.__decorate([
30
+ (0, class_validator_1.IsNumber)(),
31
+ (0, class_validator_1.Min)(0),
32
+ (0, is_refined_validator_1.IsRefined)(),
33
+ (0, class_validator_1.ValidateIf)((o) => o.metal !== undefined || (o.keys === undefined && o.metal === undefined)),
34
+ tslib_1.__metadata("design:type", Number)
35
+ ], ListingCurrenciesDto.prototype, "metal", void 0);
36
+ class ListingItemDto {
37
+ }
38
+ exports.ListingItemDto = ListingItemDto;
39
+ tslib_1.__decorate([
40
+ (0, swagger_1.ApiProperty)({
41
+ description: 'The quantity of the item you want to buy',
42
+ example: 10,
43
+ required: false,
44
+ }),
45
+ (0, class_validator_1.IsNumber)(),
46
+ (0, class_validator_1.IsOptional)(),
47
+ tslib_1.__metadata("design:type", Number)
48
+ ], ListingItemDto.prototype, "quantity", void 0);
49
+ class ListingDto {
50
+ }
51
+ exports.ListingDto = ListingDto;
52
+ tslib_1.__decorate([
53
+ (0, swagger_1.ApiProperty)({
54
+ description: 'An item object of either the v1 or v2 format of the item you want to buy',
55
+ example: {
56
+ defindex: 5021,
57
+ quality: 6,
58
+ },
59
+ required: false,
60
+ }),
61
+ (0, class_validator_1.IsObject)(),
62
+ (0, class_transformer_1.Type)(() => ListingItemDto),
63
+ (0, class_validator_1.ValidateNested)(),
64
+ (0, class_validator_1.ValidateIf)((o) => o.id === undefined),
65
+ tslib_1.__metadata("design:type", ListingItemDto)
66
+ ], ListingDto.prototype, "item", void 0);
67
+ tslib_1.__decorate([
68
+ (0, swagger_1.ApiProperty)({
69
+ description: 'The assetid of the item you want to sell',
70
+ example: '123456789',
71
+ required: false,
72
+ }),
73
+ (0, class_validator_1.IsString)(),
74
+ (0, class_validator_1.ValidateIf)((o) => o.item === undefined),
75
+ tslib_1.__metadata("design:type", String)
76
+ ], ListingDto.prototype, "id", void 0);
77
+ class AddListingDto extends ListingDto {
78
+ }
79
+ exports.AddListingDto = AddListingDto;
80
+ tslib_1.__decorate([
81
+ (0, class_validator_1.IsObject)(),
82
+ (0, class_validator_1.ValidateNested)(),
83
+ (0, class_transformer_1.Type)(() => ListingCurrenciesDto),
84
+ tslib_1.__metadata("design:type", ListingCurrenciesDto)
85
+ ], AddListingDto.prototype, "currencies", void 0);
86
+ tslib_1.__decorate([
87
+ (0, class_validator_1.IsOptional)(),
88
+ (0, class_validator_1.IsString)(),
89
+ tslib_1.__metadata("design:type", String)
90
+ ], AddListingDto.prototype, "details", void 0);
91
+ class RemoveListingDto extends ListingDto {
92
+ }
93
+ exports.RemoveListingDto = RemoveListingDto;
94
+ tslib_1.__decorate([
95
+ (0, class_validator_1.IsObject)(),
96
+ (0, class_validator_1.ValidateIf)((o) => o.id === undefined && o.hash === undefined),
97
+ tslib_1.__metadata("design:type", Object)
98
+ ], RemoveListingDto.prototype, "item", void 0);
99
+ tslib_1.__decorate([
100
+ (0, class_validator_1.IsString)(),
101
+ (0, class_validator_1.ValidateIf)((o) => o.item === undefined && o.hash === undefined),
102
+ tslib_1.__metadata("design:type", String)
103
+ ], RemoveListingDto.prototype, "id", void 0);
104
+ tslib_1.__decorate([
105
+ (0, class_validator_1.IsString)(),
106
+ (0, class_validator_1.ValidateIf)((o) => o.id === undefined && o.item === undefined),
107
+ tslib_1.__metadata("design:type", String)
108
+ ], RemoveListingDto.prototype, "hash", void 0);
109
+ class DesiredListingDto {
110
+ }
111
+ exports.DesiredListingDto = DesiredListingDto;
112
+ tslib_1.__decorate([
113
+ (0, swagger_1.ApiProperty)({
114
+ description: 'The raw listing object to send to backpack.tf',
115
+ example: {
116
+ item: {
117
+ defindex: 5021,
118
+ quality: 6,
119
+ },
120
+ details: 'Buying keys for 50.11 refined!',
121
+ currencies: {
122
+ metal: 50.11,
123
+ },
124
+ },
125
+ type: AddListingDto,
126
+ }),
127
+ (0, class_validator_1.IsObject)(),
128
+ (0, class_transformer_1.Type)(() => AddListingDto),
129
+ (0, class_validator_1.ValidateNested)(),
130
+ tslib_1.__metadata("design:type", AddListingDto)
131
+ ], DesiredListingDto.prototype, "listing", void 0);
132
+ tslib_1.__decorate([
133
+ (0, swagger_1.ApiProperty)({
134
+ description: 'The priority of the listing. The higher the number the lower the priority.',
135
+ required: false,
136
+ minimum: 1,
137
+ maximum: Number.MAX_SAFE_INTEGER,
138
+ example: 1,
139
+ }),
140
+ (0, class_validator_1.IsNumber)(),
141
+ (0, class_validator_1.IsOptional)(),
142
+ tslib_1.__metadata("design:type", Number)
143
+ ], DesiredListingDto.prototype, "priority", void 0);
144
+ tslib_1.__decorate([
145
+ (0, swagger_1.ApiProperty)({
146
+ description: 'Whether or not if the listing should be forced to be created even if one is already active and no changes are made to the listing.',
147
+ required: false,
148
+ }),
149
+ (0, class_validator_1.IsBoolean)(),
150
+ (0, class_validator_1.IsOptional)(),
151
+ tslib_1.__metadata("design:type", Boolean)
152
+ ], DesiredListingDto.prototype, "force", void 0);
153
+ var ListingError;
154
+ (function (ListingError) {
155
+ // Item does not exist in the agent's inventory on backpack.tf
156
+ ListingError["ItemDoesNotExist"] = "ITEM_DOES_NOT_EXIST";
157
+ // Item is not valid (missing properties, wrong values, etc.)
158
+ ListingError["InvalidItem"] = "INVALID_ITEM";
159
+ // Invalid currencies (missing price, negative price, etc.)
160
+ ListingError["InvalidCurrencies"] = "MISSING_PRICE";
161
+ // The cap was exceeded and the listing was not made
162
+ ListingError["CapExceeded"] = "CAP_EXCEEDED";
163
+ // The listing was made but multiple desired listings results in the same listing
164
+ ListingError["DuplicateListing"] = "DUPLICATE_LISTING";
165
+ // The listing was not made and the reason is unknown
166
+ ListingError["Unknown"] = "UNKNOWN";
167
+ })(ListingError || (exports.ListingError = ListingError = {}));
168
+ class DesiredListingModel {
169
+ }
170
+ exports.DesiredListingModel = DesiredListingModel;
171
+ tslib_1.__decorate([
172
+ (0, swagger_1.ApiProperty)({
173
+ description: 'A unique hash for the listing, used to identify it',
174
+ }),
175
+ tslib_1.__metadata("design:type", String)
176
+ ], DesiredListingModel.prototype, "hash", void 0);
177
+ tslib_1.__decorate([
178
+ (0, swagger_1.ApiProperty)({
179
+ description: 'The id of the listing on backpack.tf if one is created',
180
+ example: '123456789',
181
+ nullable: true,
182
+ }),
183
+ tslib_1.__metadata("design:type", Object)
184
+ ], DesiredListingModel.prototype, "id", void 0);
185
+ tslib_1.__decorate([
186
+ (0, swagger_1.ApiProperty)({
187
+ description: 'The steamid64 of the agent that owns the desired listing',
188
+ example: '76561198120070906',
189
+ }),
190
+ tslib_1.__metadata("design:type", String)
191
+ ], DesiredListingModel.prototype, "steamid64", void 0);
192
+ tslib_1.__decorate([
193
+ (0, swagger_1.ApiProperty)({
194
+ description: 'The raw listing object to send to backpack.tf',
195
+ type: AddListingDto,
196
+ }),
197
+ tslib_1.__metadata("design:type", AddListingDto)
198
+ ], DesiredListingModel.prototype, "listing", void 0);
199
+ tslib_1.__decorate([
200
+ (0, swagger_1.ApiProperty)({
201
+ description: 'The priority of the listing. The higher the number the lower the priority.',
202
+ required: false,
203
+ minimum: 1,
204
+ maximum: Number.MAX_SAFE_INTEGER,
205
+ example: 1,
206
+ }),
207
+ tslib_1.__metadata("design:type", Number)
208
+ ], DesiredListingModel.prototype, "priority", void 0);
209
+ tslib_1.__decorate([
210
+ (0, swagger_1.ApiProperty)({
211
+ description: 'An error message indicating the error that occurred when the listing last failed to be created',
212
+ required: false,
213
+ enum: ListingError,
214
+ }),
215
+ tslib_1.__metadata("design:type", String)
216
+ ], DesiredListingModel.prototype, "error", void 0);
217
+ tslib_1.__decorate([
218
+ (0, swagger_1.ApiProperty)({
219
+ description: 'The timestamp of when the listing was last attempted to be created',
220
+ required: false,
221
+ }),
222
+ tslib_1.__metadata("design:type", Number)
223
+ ], DesiredListingModel.prototype, "lastAttemptedAt", void 0);
224
+ tslib_1.__decorate([
225
+ (0, swagger_1.ApiProperty)({
226
+ description: 'The timestamp of when the desired listing was last updated',
227
+ }),
228
+ tslib_1.__metadata("design:type", Number)
229
+ ], DesiredListingModel.prototype, "updatedAt", void 0);
230
+ class ListingLimitsModel {
231
+ }
232
+ exports.ListingLimitsModel = ListingLimitsModel;
233
+ tslib_1.__decorate([
234
+ (0, swagger_1.ApiProperty)({
235
+ description: 'How many listings can be created',
236
+ }),
237
+ tslib_1.__metadata("design:type", Number)
238
+ ], ListingLimitsModel.prototype, "cap", void 0);
239
+ tslib_1.__decorate([
240
+ (0, swagger_1.ApiProperty)({
241
+ description: 'How many listings are currently created',
242
+ }),
243
+ tslib_1.__metadata("design:type", Number)
244
+ ], ListingLimitsModel.prototype, "used", void 0);
245
+ tslib_1.__decorate([
246
+ (0, swagger_1.ApiProperty)({
247
+ description: 'How many listings can be promoted',
248
+ }),
249
+ tslib_1.__metadata("design:type", Number)
250
+ ], ListingLimitsModel.prototype, "promoted", void 0);
251
+ tslib_1.__decorate([
252
+ (0, swagger_1.ApiProperty)({
253
+ description: 'When the limits were last updated',
254
+ }),
255
+ tslib_1.__metadata("design:type", Number)
256
+ ], ListingLimitsModel.prototype, "updatedAt", void 0);
257
+ //# sourceMappingURL=listings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listings.js","sourceRoot":"","sources":["../../../../../../../libs/bptf-manager-data/src/lib/listings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Listing } from './listings';
2
+ export declare const NOTIFICATIONS_BASE_URL = "/notifications";
3
+ export declare const NOTIFICATIONS_PATH = "/:steamid";
4
+ export declare const NOTIFICATIONS_REFRESH_PATH = "/:steamid/refresh";
5
+ export declare const NOTIFICATIONS_FULL_PATH: string;
6
+ export declare const NOTIFICATIONS_REFRESH_FULL_PATH: string;
7
+ export declare class Notification {
8
+ id: string;
9
+ steamid: string;
10
+ lastMoved: number;
11
+ type: number;
12
+ bundle?: unknown;
13
+ contents: {
14
+ subject: string;
15
+ message: string;
16
+ };
17
+ }
18
+ export declare class ListingNotification extends Notification {
19
+ type: 27;
20
+ bundle: {
21
+ listing: Listing;
22
+ reason: string;
23
+ };
24
+ }
25
+ export declare class NotificationModel implements Notification {
26
+ id: string;
27
+ steamid: string;
28
+ lastMoved: number;
29
+ type: number;
30
+ bundle?: unknown;
31
+ contents: {
32
+ subject: string;
33
+ message: string;
34
+ };
35
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationModel = exports.ListingNotification = exports.Notification = exports.NOTIFICATIONS_REFRESH_FULL_PATH = exports.NOTIFICATIONS_FULL_PATH = exports.NOTIFICATIONS_REFRESH_PATH = exports.NOTIFICATIONS_PATH = exports.NOTIFICATIONS_BASE_URL = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ exports.NOTIFICATIONS_BASE_URL = '/notifications';
7
+ exports.NOTIFICATIONS_PATH = '/:steamid';
8
+ exports.NOTIFICATIONS_REFRESH_PATH = `${exports.NOTIFICATIONS_PATH}/refresh`;
9
+ exports.NOTIFICATIONS_FULL_PATH = exports.NOTIFICATIONS_BASE_URL + exports.NOTIFICATIONS_PATH;
10
+ exports.NOTIFICATIONS_REFRESH_FULL_PATH = exports.NOTIFICATIONS_BASE_URL + exports.NOTIFICATIONS_REFRESH_PATH;
11
+ class Notification {
12
+ }
13
+ exports.Notification = Notification;
14
+ class ListingNotification extends Notification {
15
+ }
16
+ exports.ListingNotification = ListingNotification;
17
+ class NotificationModel {
18
+ }
19
+ exports.NotificationModel = NotificationModel;
20
+ tslib_1.__decorate([
21
+ (0, swagger_1.ApiProperty)({
22
+ description: 'The notification ID',
23
+ }),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], NotificationModel.prototype, "id", void 0);
26
+ tslib_1.__decorate([
27
+ (0, swagger_1.ApiProperty)({
28
+ description: 'The SteamID64 of the user that owns the notification',
29
+ }),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], NotificationModel.prototype, "steamid", void 0);
32
+ tslib_1.__decorate([
33
+ (0, swagger_1.ApiProperty)({
34
+ description: 'The unix timestamp of when the notification was last moved',
35
+ }),
36
+ tslib_1.__metadata("design:type", Number)
37
+ ], NotificationModel.prototype, "lastMoved", void 0);
38
+ tslib_1.__decorate([
39
+ (0, swagger_1.ApiProperty)({
40
+ description: 'The type of the notification',
41
+ }),
42
+ tslib_1.__metadata("design:type", Number)
43
+ ], NotificationModel.prototype, "type", void 0);
44
+ tslib_1.__decorate([
45
+ (0, swagger_1.ApiProperty)({
46
+ description: 'The bundle of the notification (if any)',
47
+ }),
48
+ tslib_1.__metadata("design:type", Object)
49
+ ], NotificationModel.prototype, "bundle", void 0);
50
+ tslib_1.__decorate([
51
+ (0, swagger_1.ApiProperty)({
52
+ description: 'The contents of the notification',
53
+ }),
54
+ tslib_1.__metadata("design:type", Object)
55
+ ], NotificationModel.prototype, "contents", void 0);
56
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../../../../libs/bptf-manager-data/src/lib/notifications.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAGjC,QAAA,sBAAsB,GAAG,gBAAgB,CAAC;AAC1C,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,0BAA0B,GAAG,GAAG,0BAAkB,UAAU,CAAC;AAE7D,QAAA,uBAAuB,GAClC,8BAAsB,GAAG,0BAAkB,CAAC;AACjC,QAAA,+BAA+B,GAC1C,8BAAsB,GAAG,kCAA0B,CAAC;AAEtD,MAAa,YAAY;CAUxB;AAVD,oCAUC;AAED,MAAa,mBAAoB,SAAQ,YAAY;CAMpD;AAND,kDAMC;AAED,MAAa,iBAAiB;CAiC7B;AAjCD,8CAiCC;AA7BC;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qBAAqB;KACnC,CAAC;;6CACU;AAKZ;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sDAAsD;KACpE,CAAC;;kDACe;AAKjB;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4DAA4D;KAC1E,CAAC;;oDACiB;AAKnB;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,8BAA8B;KAC5C,CAAC;;+CACY;AAKd;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,yCAAyC;KACvD,CAAC;;iDACe;AAKjB;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kCAAkC;KAChD,CAAC;;mDAIA"}
@@ -0,0 +1,13 @@
1
+ export declare const TOKENS_BASE_URL = "/tokens";
2
+ export declare const TOKENS_PATH = "/";
3
+ export declare const TOKEN_PATH = "/:steamid";
4
+ export declare const TOKENS_FULL_PATH: string;
5
+ export declare const TOKEN_FULL_PATH: string;
6
+ export interface Token {
7
+ steamid64: string;
8
+ value: string;
9
+ }
10
+ export declare class SaveTokenDto implements Token {
11
+ steamid64: string;
12
+ value: string;
13
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaveTokenDto = exports.TOKEN_FULL_PATH = exports.TOKENS_FULL_PATH = exports.TOKEN_PATH = exports.TOKENS_PATH = exports.TOKENS_BASE_URL = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const swagger_1 = require("@nestjs/swagger");
6
+ const is_steamid_validator_1 = require("../../is-steamid-validator/src");
7
+ const class_validator_1 = require("class-validator");
8
+ exports.TOKENS_BASE_URL = '/tokens';
9
+ exports.TOKENS_PATH = '/';
10
+ exports.TOKEN_PATH = '/:steamid';
11
+ exports.TOKENS_FULL_PATH = exports.TOKENS_BASE_URL + exports.TOKENS_PATH;
12
+ exports.TOKEN_FULL_PATH = exports.TOKENS_BASE_URL + exports.TOKEN_PATH;
13
+ class SaveTokenDto {
14
+ }
15
+ exports.SaveTokenDto = SaveTokenDto;
16
+ tslib_1.__decorate([
17
+ (0, swagger_1.ApiProperty)({
18
+ example: '76561198120070906',
19
+ description: 'The SteamID64 of the account associated with the token',
20
+ type: String,
21
+ }),
22
+ (0, is_steamid_validator_1.IsSteamID)(),
23
+ tslib_1.__metadata("design:type", String)
24
+ ], SaveTokenDto.prototype, "steamid64", void 0);
25
+ tslib_1.__decorate([
26
+ (0, swagger_1.ApiProperty)({
27
+ description: 'A backpack.tf API token',
28
+ type: String,
29
+ }),
30
+ (0, class_validator_1.IsString)(),
31
+ tslib_1.__metadata("design:type", String)
32
+ ], SaveTokenDto.prototype, "value", void 0);
33
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../../../../libs/bptf-manager-data/src/lib/tokens.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,8EAAgE;AAChE,qDAA2C;AAE9B,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,WAAW,GAAG,GAAG,CAAC;AAClB,QAAA,UAAU,GAAG,WAAW,CAAC;AAEzB,QAAA,gBAAgB,GAAG,uBAAe,GAAG,mBAAW,CAAC;AACjD,QAAA,eAAe,GAAG,uBAAe,GAAG,kBAAU,CAAC;AAO5D,MAAa,YAAY;CAexB;AAfD,oCAeC;AARC;IANC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,wDAAwD;QACrE,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,gCAAS,GAAE;;+CACO;AAOnB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAQ,GAAE;;2CACI"}