@winible/winible-typed 2.72.0 → 2.72.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scripts/testModels.js +55 -45
- package/dist/scripts/testModels.js.map +1 -1
- package/dist/src/types.js +24 -1
- package/dist/src/types.js.map +1 -1
- package/dist/typed-model/affiliate-link.js +89 -0
- package/dist/typed-model/affiliate-link.js.map +1 -0
- package/dist/typed-model/bet-sport.js +42 -0
- package/dist/typed-model/bet-sport.js.map +1 -0
- package/dist/typed-model/bet.js +8 -66
- package/dist/typed-model/bet.js.map +1 -1
- package/dist/typed-model/{recurly-payment-monitoring-whitelist.js → featured-capper.js} +22 -16
- package/dist/typed-model/featured-capper.js.map +1 -0
- package/dist/typed-model/index.js +24 -6
- package/dist/typed-model/index.js.map +1 -1
- package/dist/typed-model/league.js +38 -5
- package/dist/typed-model/league.js.map +1 -1
- package/dist/typed-model/market-on-bet-sport.js +58 -0
- package/dist/typed-model/market-on-bet-sport.js.map +1 -0
- package/dist/typed-model/market.js +37 -0
- package/dist/typed-model/market.js.map +1 -0
- package/dist/typed-model/odd.js +129 -0
- package/dist/typed-model/odd.js.map +1 -0
- package/dist/typed-model/odds-on-bets.js +53 -0
- package/dist/typed-model/odds-on-bets.js.map +1 -0
- package/dist/typed-model/odds-on-parlays.js +53 -0
- package/dist/typed-model/odds-on-parlays.js.map +1 -0
- package/dist/typed-model/parlay.js +55 -0
- package/dist/typed-model/parlay.js.map +1 -0
- package/dist/typed-model/parlays-on-bets.js +53 -0
- package/dist/typed-model/parlays-on-bets.js.map +1 -0
- package/dist/typed-model/sportsbook.js +56 -0
- package/dist/typed-model/sportsbook.js.map +1 -0
- package/dist/utils/lambdaUtils/logger.js +90 -0
- package/dist/utils/lambdaUtils/logger.js.map +1 -0
- package/package.json +1 -1
- package/typed-model/bet.ts +5 -0
- package/typed-model/index.ts +3 -3
- package/typed-model/sportsbook.ts +0 -1
- package/dist/event-collector-models/config/config.js +0 -30
- package/dist/event-collector-models/config/config.js.map +0 -1
- package/dist/migrations/20241123184623-recurly-payment-monitoring-whitelist.js +0 -33
- package/dist/migrations/20241123184623-recurly-payment-monitoring-whitelist.js.map +0 -1
- package/dist/typed-model/recurly-payment-monitoring-whitelist.js.map +0 -1
- package/event-collector-models/config/config.ts +0 -29
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"league.js","sourceRoot":"","sources":["../../typed-model/league.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;
|
1
|
+
{"version":3,"file":"league.js","sourceRoot":"","sources":["../../typed-model/league.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AACvC,wCAA0C;AAC1C,4DAAmC;AAEnC,mEAAmE;AACnE,MAAM,MAAO,SAAQ,iBAGpB;CAYA;AAED,MAAM,CAAC,IAAI,CACT;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK;KACjB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,cAAc;KACtB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,mBAAQ;YACf,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,eAAe;KACvB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,+BAA+B;IACxC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,mBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,SAAS,CAAC,mBAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;AAE1D,kBAAe,MAAM,CAAC"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const types_1 = require("../src/types");
|
9
|
+
const bet_sport_1 = __importDefault(require("./bet-sport"));
|
10
|
+
const market_1 = __importDefault(require("./market"));
|
11
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
12
|
+
class MarketOnBetSport extends sequelize_1.Model {
|
13
|
+
}
|
14
|
+
MarketOnBetSport.init({
|
15
|
+
betSportId: {
|
16
|
+
type: sequelize_1.DataTypes.BIGINT,
|
17
|
+
allowNull: false,
|
18
|
+
references: {
|
19
|
+
model: bet_sport_1.default,
|
20
|
+
key: "id",
|
21
|
+
},
|
22
|
+
field: "bet_sport_id",
|
23
|
+
},
|
24
|
+
marketId: {
|
25
|
+
type: sequelize_1.DataTypes.BIGINT,
|
26
|
+
allowNull: false,
|
27
|
+
references: {
|
28
|
+
model: market_1.default,
|
29
|
+
key: "id",
|
30
|
+
},
|
31
|
+
field: "market_id",
|
32
|
+
},
|
33
|
+
status: {
|
34
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.StatusType)),
|
35
|
+
allowNull: false,
|
36
|
+
},
|
37
|
+
}, {
|
38
|
+
tableName: "markets_on_bet_sports",
|
39
|
+
comment: "Junction table that relates a bet_sport to a market",
|
40
|
+
timestamps: false,
|
41
|
+
sequelize: pb_sequelize_1.default,
|
42
|
+
});
|
43
|
+
bet_sport_1.default.belongsToMany(market_1.default, {
|
44
|
+
through: MarketOnBetSport,
|
45
|
+
foreignKey: "betSportId",
|
46
|
+
sourceKey: "id",
|
47
|
+
onDelete: "NO ACTION",
|
48
|
+
constraints: false,
|
49
|
+
});
|
50
|
+
market_1.default.belongsToMany(bet_sport_1.default, {
|
51
|
+
through: MarketOnBetSport,
|
52
|
+
foreignKey: "marketId",
|
53
|
+
sourceKey: "id",
|
54
|
+
onDelete: "NO ACTION",
|
55
|
+
constraints: false,
|
56
|
+
});
|
57
|
+
exports.default = MarketOnBetSport;
|
58
|
+
//# sourceMappingURL=market-on-bet-sport.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"market-on-bet-sport.js","sourceRoot":"","sources":["../../typed-model/market-on-bet-sport.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AACvC,wCAA0C;AAC1C,4DAAmC;AACnC,sDAA8B;AAE9B,mEAAmE;AACnE,MAAM,gBAAiB,SAAQ,iBAG9B;CAMA;AAED,gBAAgB,CAAC,IAAI,CACnB;IACE,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,mBAAQ;YACf,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,cAAc;KACtB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,gBAAM;YACb,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,WAAW;KACnB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK;KACjB;CACF,EACD;IACE,SAAS,EAAE,uBAAuB;IAClC,OAAO,EAAE,qDAAqD;IAC9D,UAAU,EAAE,KAAK;IACjB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,mBAAQ,CAAC,aAAa,CAAC,gBAAM,EAAE;IAC7B,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,gBAAM,CAAC,aAAa,CAAC,mBAAQ,EAAE;IAC7B,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,gBAAgB,CAAC"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
9
|
+
class Market extends sequelize_1.Model {
|
10
|
+
}
|
11
|
+
Market.init({
|
12
|
+
id: {
|
13
|
+
type: sequelize_1.DataTypes.BIGINT,
|
14
|
+
primaryKey: true,
|
15
|
+
allowNull: false,
|
16
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
17
|
+
},
|
18
|
+
name: {
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
20
|
+
allowNull: false,
|
21
|
+
},
|
22
|
+
numericalId: {
|
23
|
+
type: sequelize_1.DataTypes.INTEGER,
|
24
|
+
allowNull: false,
|
25
|
+
comment: "Numerical ID provided by Odds Jam",
|
26
|
+
field: "numerical_id",
|
27
|
+
},
|
28
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
29
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
30
|
+
}, {
|
31
|
+
// Other model options go here
|
32
|
+
tableName: "markets",
|
33
|
+
comment: "Markets synched from Odds Jam",
|
34
|
+
sequelize: pb_sequelize_1.default,
|
35
|
+
});
|
36
|
+
exports.default = Market;
|
37
|
+
//# sourceMappingURL=market.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../typed-model/market.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,MAAO,SAAQ,iBAGpB;CAQA;AAED,MAAM,CAAC,IAAI,CACT;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,+BAA+B;IACxC,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
@@ -0,0 +1,129 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const sportsbook_1 = __importDefault(require("./sportsbook"));
|
9
|
+
const market_1 = __importDefault(require("./market"));
|
10
|
+
const league_1 = __importDefault(require("./league"));
|
11
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
12
|
+
class Odd extends sequelize_1.Model {
|
13
|
+
}
|
14
|
+
Odd.init({
|
15
|
+
id: {
|
16
|
+
type: sequelize_1.DataTypes.STRING,
|
17
|
+
primaryKey: true,
|
18
|
+
allowNull: false,
|
19
|
+
},
|
20
|
+
sportsbookId: {
|
21
|
+
type: sequelize_1.DataTypes.STRING,
|
22
|
+
allowNull: false,
|
23
|
+
field: "sportsbook_id",
|
24
|
+
references: {
|
25
|
+
model: sportsbook_1.default,
|
26
|
+
key: "id",
|
27
|
+
},
|
28
|
+
},
|
29
|
+
marketId: {
|
30
|
+
type: sequelize_1.DataTypes.STRING,
|
31
|
+
allowNull: false,
|
32
|
+
field: "market_id",
|
33
|
+
references: {
|
34
|
+
model: market_1.default,
|
35
|
+
key: "id",
|
36
|
+
},
|
37
|
+
},
|
38
|
+
leagueId: {
|
39
|
+
type: sequelize_1.DataTypes.STRING,
|
40
|
+
allowNull: false,
|
41
|
+
field: "league_id",
|
42
|
+
references: {
|
43
|
+
model: league_1.default,
|
44
|
+
key: "id",
|
45
|
+
},
|
46
|
+
},
|
47
|
+
name: {
|
48
|
+
type: sequelize_1.DataTypes.STRING,
|
49
|
+
allowNull: false,
|
50
|
+
},
|
51
|
+
isMain: {
|
52
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
53
|
+
allowNull: false,
|
54
|
+
field: "is_main",
|
55
|
+
},
|
56
|
+
playerId: {
|
57
|
+
type: sequelize_1.DataTypes.STRING,
|
58
|
+
allowNull: false,
|
59
|
+
field: "player_id",
|
60
|
+
},
|
61
|
+
teamId: {
|
62
|
+
type: sequelize_1.DataTypes.STRING,
|
63
|
+
allowNull: false,
|
64
|
+
field: "team_id",
|
65
|
+
},
|
66
|
+
price: {
|
67
|
+
type: sequelize_1.DataTypes.STRING,
|
68
|
+
allowNull: false,
|
69
|
+
},
|
70
|
+
status: {
|
71
|
+
type: sequelize_1.DataTypes.STRING,
|
72
|
+
allowNull: false,
|
73
|
+
},
|
74
|
+
groupingKey: {
|
75
|
+
type: sequelize_1.DataTypes.STRING,
|
76
|
+
allowNull: false,
|
77
|
+
field: "grouping_key",
|
78
|
+
},
|
79
|
+
assets: {
|
80
|
+
type: sequelize_1.DataTypes.JSON,
|
81
|
+
allowNull: false,
|
82
|
+
field: "assets",
|
83
|
+
},
|
84
|
+
deepLink: {
|
85
|
+
type: sequelize_1.DataTypes.JSON,
|
86
|
+
allowNull: false,
|
87
|
+
field: "deep_link",
|
88
|
+
},
|
89
|
+
rawResponse: {
|
90
|
+
type: sequelize_1.DataTypes.JSON,
|
91
|
+
allowNull: false,
|
92
|
+
field: "raw_response",
|
93
|
+
},
|
94
|
+
lastPolledAt: {
|
95
|
+
type: sequelize_1.DataTypes.DATE,
|
96
|
+
allowNull: false,
|
97
|
+
field: "last_polled_at",
|
98
|
+
},
|
99
|
+
settlesAt: {
|
100
|
+
type: sequelize_1.DataTypes.DATE,
|
101
|
+
allowNull: true,
|
102
|
+
},
|
103
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
104
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
105
|
+
}, {
|
106
|
+
tableName: "odds",
|
107
|
+
comment: "Odds table, belongs to a bet",
|
108
|
+
sequelize: pb_sequelize_1.default,
|
109
|
+
});
|
110
|
+
sportsbook_1.default.hasMany(Odd, {
|
111
|
+
foreignKey: "sportsbookId",
|
112
|
+
sourceKey: "id",
|
113
|
+
onDelete: "NO ACTION",
|
114
|
+
constraints: false,
|
115
|
+
});
|
116
|
+
market_1.default.hasMany(Odd, {
|
117
|
+
foreignKey: "marketId",
|
118
|
+
sourceKey: "id",
|
119
|
+
onDelete: "NO ACTION",
|
120
|
+
constraints: false,
|
121
|
+
});
|
122
|
+
league_1.default.hasMany(Odd, {
|
123
|
+
foreignKey: "leagueId",
|
124
|
+
sourceKey: "id",
|
125
|
+
onDelete: "NO ACTION",
|
126
|
+
constraints: false,
|
127
|
+
});
|
128
|
+
exports.default = Odd;
|
129
|
+
//# sourceMappingURL=odd.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"odd.js","sourceRoot":"","sources":["../../typed-model/odd.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const bet_1 = __importDefault(require("./bet"));
|
9
|
+
const odd_1 = __importDefault(require("./odd"));
|
10
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
11
|
+
class OddsOnBets extends sequelize_1.Model {
|
12
|
+
}
|
13
|
+
OddsOnBets.init({
|
14
|
+
betId: {
|
15
|
+
type: sequelize_1.DataTypes.BIGINT,
|
16
|
+
allowNull: false,
|
17
|
+
references: {
|
18
|
+
model: bet_1.default,
|
19
|
+
key: "id",
|
20
|
+
},
|
21
|
+
field: "bet_id",
|
22
|
+
},
|
23
|
+
oddId: {
|
24
|
+
type: sequelize_1.DataTypes.BIGINT,
|
25
|
+
allowNull: false,
|
26
|
+
references: {
|
27
|
+
model: odd_1.default,
|
28
|
+
key: "id",
|
29
|
+
},
|
30
|
+
field: "odd_id",
|
31
|
+
},
|
32
|
+
}, {
|
33
|
+
tableName: "odds_on_bets",
|
34
|
+
comment: "Junction table that relates a odd to a type=straight bet",
|
35
|
+
timestamps: false,
|
36
|
+
sequelize: pb_sequelize_1.default,
|
37
|
+
});
|
38
|
+
bet_1.default.belongsToMany(odd_1.default, {
|
39
|
+
through: OddsOnBets,
|
40
|
+
foreignKey: "betId",
|
41
|
+
sourceKey: "id",
|
42
|
+
onDelete: "NO ACTION",
|
43
|
+
constraints: false,
|
44
|
+
});
|
45
|
+
odd_1.default.belongsToMany(bet_1.default, {
|
46
|
+
through: OddsOnBets,
|
47
|
+
foreignKey: "oddId",
|
48
|
+
sourceKey: "id",
|
49
|
+
onDelete: "NO ACTION",
|
50
|
+
constraints: false,
|
51
|
+
});
|
52
|
+
exports.default = OddsOnBets;
|
53
|
+
//# sourceMappingURL=odds-on-bets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"odds-on-bets.js","sourceRoot":"","sources":["../../typed-model/odds-on-bets.ts"],"names":[],"mappings":";;;;;AAAA,yCAKmB;AAEnB,kEAAuC;AACvC,gDAAwB;AACxB,gDAAwB;AAExB,mEAAmE;AACnE,MAAM,UAAW,SAAQ,iBAGxB;CAKA;AAED,UAAU,CAAC,IAAI,CACb;IACE,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,aAAG;YACV,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,QAAQ;KAChB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,aAAG;YACV,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,QAAQ;KAChB;CACF,EACD;IACE,SAAS,EAAE,cAAc;IACzB,OAAO,EAAE,0DAA0D;IACnE,UAAU,EAAE,KAAK;IACjB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,aAAG,CAAC,aAAa,CAAC,aAAG,EAAE;IACrB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,aAAG,CAAC,aAAa,CAAC,aAAG,EAAE;IACrB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const odd_1 = __importDefault(require("./odd"));
|
9
|
+
const parlay_1 = __importDefault(require("./parlay"));
|
10
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
11
|
+
class OddsOnParlays extends sequelize_1.Model {
|
12
|
+
}
|
13
|
+
OddsOnParlays.init({
|
14
|
+
parlayId: {
|
15
|
+
type: sequelize_1.DataTypes.BIGINT,
|
16
|
+
allowNull: false,
|
17
|
+
references: {
|
18
|
+
model: parlay_1.default,
|
19
|
+
key: "id",
|
20
|
+
},
|
21
|
+
field: "parlay_id",
|
22
|
+
},
|
23
|
+
oddId: {
|
24
|
+
type: sequelize_1.DataTypes.BIGINT,
|
25
|
+
allowNull: false,
|
26
|
+
references: {
|
27
|
+
model: odd_1.default,
|
28
|
+
key: "id",
|
29
|
+
},
|
30
|
+
field: "odd_id",
|
31
|
+
},
|
32
|
+
}, {
|
33
|
+
tableName: "odds_on_parlays",
|
34
|
+
comment: "Junction table that relates odds to a parlay",
|
35
|
+
timestamps: false,
|
36
|
+
sequelize: pb_sequelize_1.default,
|
37
|
+
});
|
38
|
+
parlay_1.default.belongsToMany(odd_1.default, {
|
39
|
+
through: OddsOnParlays,
|
40
|
+
foreignKey: "parlayId",
|
41
|
+
sourceKey: "id",
|
42
|
+
onDelete: "NO ACTION",
|
43
|
+
constraints: false,
|
44
|
+
});
|
45
|
+
odd_1.default.belongsToMany(parlay_1.default, {
|
46
|
+
through: OddsOnParlays,
|
47
|
+
foreignKey: "oddId",
|
48
|
+
sourceKey: "id",
|
49
|
+
onDelete: "NO ACTION",
|
50
|
+
constraints: false,
|
51
|
+
});
|
52
|
+
exports.default = OddsOnParlays;
|
53
|
+
//# sourceMappingURL=odds-on-parlays.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"odds-on-parlays.js","sourceRoot":"","sources":["../../typed-model/odds-on-parlays.ts"],"names":[],"mappings":";;;;;AAAA,yCAKmB;AAEnB,kEAAuC;AACvC,gDAAwB;AACxB,sDAA8B;AAE9B,mEAAmE;AACnE,MAAM,aAAc,SAAQ,iBAG3B;CAKA;AAED,aAAa,CAAC,IAAI,CAChB;IACE,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,gBAAM;YACb,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,WAAW;KACnB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,aAAG;YACV,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,QAAQ;KAChB;CACF,EACD;IACE,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,8CAA8C;IACvD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,gBAAM,CAAC,aAAa,CAAC,aAAG,EAAE;IACxB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,aAAG,CAAC,aAAa,CAAC,gBAAM,EAAE;IACxB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const sportsbook_1 = __importDefault(require("./sportsbook"));
|
9
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
10
|
+
class Parlay extends sequelize_1.Model {
|
11
|
+
}
|
12
|
+
Parlay.init({
|
13
|
+
id: {
|
14
|
+
type: sequelize_1.DataTypes.STRING,
|
15
|
+
primaryKey: true,
|
16
|
+
allowNull: false,
|
17
|
+
},
|
18
|
+
sportsbookId: {
|
19
|
+
type: sequelize_1.DataTypes.STRING,
|
20
|
+
allowNull: false,
|
21
|
+
field: "sportsbook_id",
|
22
|
+
references: {
|
23
|
+
model: sportsbook_1.default,
|
24
|
+
key: "id",
|
25
|
+
},
|
26
|
+
},
|
27
|
+
price: {
|
28
|
+
type: sequelize_1.DataTypes.STRING,
|
29
|
+
allowNull: false,
|
30
|
+
},
|
31
|
+
deepLink: {
|
32
|
+
type: sequelize_1.DataTypes.JSON,
|
33
|
+
allowNull: false,
|
34
|
+
field: "deep_link",
|
35
|
+
},
|
36
|
+
rawResponse: {
|
37
|
+
type: sequelize_1.DataTypes.JSON,
|
38
|
+
allowNull: false,
|
39
|
+
field: "raw_response",
|
40
|
+
},
|
41
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
42
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
43
|
+
}, {
|
44
|
+
tableName: "parlays",
|
45
|
+
comment: "Parlays table, belongs to a bet and holds the deep_link to the parlay",
|
46
|
+
sequelize: pb_sequelize_1.default,
|
47
|
+
});
|
48
|
+
sportsbook_1.default.hasMany(Parlay, {
|
49
|
+
foreignKey: "sportsbookId",
|
50
|
+
sourceKey: "id",
|
51
|
+
onDelete: "NO ACTION",
|
52
|
+
constraints: false,
|
53
|
+
});
|
54
|
+
exports.default = Parlay;
|
55
|
+
//# sourceMappingURL=parlay.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parlay.js","sourceRoot":"","sources":["../../typed-model/parlay.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,8DAAsC;AAEtC,mEAAmE;AACnE,MAAM,MAAO,SAAQ,iBAGpB;CAQA;AAED,MAAM,CAAC,IAAI,CACT;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;KACjB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE;YACV,KAAK,EAAE,oBAAU;YACjB,GAAG,EAAE,IAAI;SACV;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,WAAW;KACnB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,SAAS;IACpB,OAAO,EACL,uEAAuE;IACzE,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,oBAAU,CAAC,OAAO,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const bet_1 = __importDefault(require("./bet"));
|
9
|
+
const parlay_1 = __importDefault(require("./parlay"));
|
10
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
11
|
+
class ParlaysOnBets extends sequelize_1.Model {
|
12
|
+
}
|
13
|
+
ParlaysOnBets.init({
|
14
|
+
betId: {
|
15
|
+
type: sequelize_1.DataTypes.BIGINT,
|
16
|
+
allowNull: false,
|
17
|
+
references: {
|
18
|
+
model: bet_1.default,
|
19
|
+
key: "id",
|
20
|
+
},
|
21
|
+
field: "bet_id",
|
22
|
+
},
|
23
|
+
parlayId: {
|
24
|
+
type: sequelize_1.DataTypes.BIGINT,
|
25
|
+
allowNull: false,
|
26
|
+
references: {
|
27
|
+
model: parlay_1.default,
|
28
|
+
key: "id",
|
29
|
+
},
|
30
|
+
field: "parlay_id",
|
31
|
+
},
|
32
|
+
}, {
|
33
|
+
tableName: "parlays_on_bets",
|
34
|
+
comment: "Junction table that relates a parlay to a type=parlay bet",
|
35
|
+
timestamps: false,
|
36
|
+
sequelize: pb_sequelize_1.default,
|
37
|
+
});
|
38
|
+
bet_1.default.belongsToMany(parlay_1.default, {
|
39
|
+
through: ParlaysOnBets,
|
40
|
+
foreignKey: "betId",
|
41
|
+
sourceKey: "id",
|
42
|
+
onDelete: "NO ACTION",
|
43
|
+
constraints: false,
|
44
|
+
});
|
45
|
+
parlay_1.default.belongsToMany(bet_1.default, {
|
46
|
+
through: ParlaysOnBets,
|
47
|
+
foreignKey: "parlayId",
|
48
|
+
sourceKey: "id",
|
49
|
+
onDelete: "NO ACTION",
|
50
|
+
constraints: false,
|
51
|
+
});
|
52
|
+
exports.default = ParlaysOnBets;
|
53
|
+
//# sourceMappingURL=parlays-on-bets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parlays-on-bets.js","sourceRoot":"","sources":["../../typed-model/parlays-on-bets.ts"],"names":[],"mappings":";;;;;AAAA,yCAKmB;AAEnB,kEAAuC;AACvC,gDAAwB;AAExB,sDAA8B;AAE9B,mEAAmE;AACnE,MAAM,aAAc,SAAQ,iBAG3B;CAKA;AAED,aAAa,CAAC,IAAI,CAChB;IACE,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,aAAG;YACV,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,QAAQ;KAChB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,gBAAM;YACb,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,WAAW;KACnB;CACF,EACD;IACE,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,2DAA2D;IACpE,UAAU,EAAE,KAAK;IACjB,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,aAAG,CAAC,aAAa,CAAC,gBAAM,EAAE;IACxB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,gBAAM,CAAC,aAAa,CAAC,aAAG,EAAE;IACxB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const types_1 = require("../src/types");
|
9
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
10
|
+
class Sportsbook extends sequelize_1.Model {
|
11
|
+
}
|
12
|
+
Sportsbook.init({
|
13
|
+
id: {
|
14
|
+
type: sequelize_1.DataTypes.BIGINT,
|
15
|
+
primaryKey: true,
|
16
|
+
allowNull: false,
|
17
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
18
|
+
},
|
19
|
+
name: {
|
20
|
+
type: sequelize_1.DataTypes.STRING,
|
21
|
+
allowNull: false,
|
22
|
+
},
|
23
|
+
status: {
|
24
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.StatusType)),
|
25
|
+
allowNull: false,
|
26
|
+
},
|
27
|
+
numericalId: {
|
28
|
+
type: sequelize_1.DataTypes.INTEGER,
|
29
|
+
allowNull: false,
|
30
|
+
comment: "Numerical ID provided by Odds Jam",
|
31
|
+
field: "numerical_id",
|
32
|
+
},
|
33
|
+
logo: {
|
34
|
+
type: sequelize_1.DataTypes.STRING,
|
35
|
+
allowNull: false,
|
36
|
+
},
|
37
|
+
isOnshore: {
|
38
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
39
|
+
allowNull: false,
|
40
|
+
field: "is_onshore",
|
41
|
+
},
|
42
|
+
isOffshore: {
|
43
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
44
|
+
allowNull: false,
|
45
|
+
field: "is_offshore",
|
46
|
+
},
|
47
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
48
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
49
|
+
}, {
|
50
|
+
// Other model options go here
|
51
|
+
tableName: "sportsbooks",
|
52
|
+
comment: "Sportsbooks synched from Odds Jam",
|
53
|
+
sequelize: pb_sequelize_1.default,
|
54
|
+
});
|
55
|
+
exports.default = Sportsbook;
|
56
|
+
//# sourceMappingURL=sportsbook.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sportsbook.js","sourceRoot":"","sources":["../../typed-model/sportsbook.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AACvC,wCAA0C;AAE1C,mEAAmE;AACnE,MAAM,UAAW,SAAQ,iBAGxB;CAYA;AAED,UAAU,CAAC,IAAI,CACb;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK;KACjB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,cAAc;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,aAAa;IACxB,OAAO,EAAE,mCAAmC;IAC5C,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
@@ -0,0 +1,90 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
/**
|
4
|
+
* @param message The log message
|
5
|
+
* @param options Additional context for the log entry
|
6
|
+
*
|
7
|
+
* @example
|
8
|
+
* // Basic usage
|
9
|
+
* logger("User login successful");
|
10
|
+
*
|
11
|
+
* @example
|
12
|
+
* // With user ID
|
13
|
+
* logger("User login successful", { userId: "123456" });
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* // With error tracking (standard Error)
|
17
|
+
* try {
|
18
|
+
* throw new Error("Something went wrong");
|
19
|
+
* } catch (error) {
|
20
|
+
* logger("Operation failed", {
|
21
|
+
* userId: "user123",
|
22
|
+
* level: "error",
|
23
|
+
* endpoint: "/auth",
|
24
|
+
* method: "processPayment",
|
25
|
+
* error
|
26
|
+
* });
|
27
|
+
* }
|
28
|
+
*
|
29
|
+
* @example
|
30
|
+
* // With object-like error (e.g., from an API)
|
31
|
+
* const apiError = { status: 403, message: "Forbidden", code: "ACCESS_DENIED" };
|
32
|
+
* logger("API request failed", { error: apiError, level: "error" });
|
33
|
+
*
|
34
|
+
* @example
|
35
|
+
* // With primitive error
|
36
|
+
* logger("Validation failed", { error: "Invalid input", level: "warn" });
|
37
|
+
*
|
38
|
+
* @example
|
39
|
+
* // With request tracking
|
40
|
+
* logger("API request received", {
|
41
|
+
* requestId: req.headers['x-request-id'],
|
42
|
+
* endpoint: "/auth",
|
43
|
+
* method: "validateToken"
|
44
|
+
* action: "validateToken"
|
45
|
+
* });
|
46
|
+
*/
|
47
|
+
const logger = (message, options) => {
|
48
|
+
const timestamp = new Date().toISOString();
|
49
|
+
const environment = process.env.ENVIRONMENT || "development";
|
50
|
+
const logEntry = Object.assign(Object.assign({ message, requestId: (options === null || options === void 0 ? void 0 : options.requestId) || "", timestamp, level: (options === null || options === void 0 ? void 0 : options.level) || "info", environment, endpoint: (options === null || options === void 0 ? void 0 : options.endpoint) || "", method: (options === null || options === void 0 ? void 0 : options.method) || "", action: (options === null || options === void 0 ? void 0 : options.action) || "", userId: (options === null || options === void 0 ? void 0 : options.userId) || "" }, ((options === null || options === void 0 ? void 0 : options.error)
|
51
|
+
? {
|
52
|
+
error: (() => {
|
53
|
+
var _a, _b, _c;
|
54
|
+
// Handle different error types
|
55
|
+
if (options.error instanceof Error) {
|
56
|
+
// Standard Error object
|
57
|
+
return {
|
58
|
+
name: (_a = options.error) === null || _a === void 0 ? void 0 : _a.name,
|
59
|
+
message: (_b = options.error) === null || _b === void 0 ? void 0 : _b.message,
|
60
|
+
stack: (_c = options.error) === null || _c === void 0 ? void 0 : _c.stack,
|
61
|
+
};
|
62
|
+
}
|
63
|
+
else if (typeof options.error === "object" &&
|
64
|
+
options.error !== null) {
|
65
|
+
// Object-like error but not an Error instance
|
66
|
+
const errorObj = options.error;
|
67
|
+
return {
|
68
|
+
name: (errorObj === null || errorObj === void 0 ? void 0 : errorObj.name) || "UnknownError",
|
69
|
+
message: (errorObj === null || errorObj === void 0 ? void 0 : errorObj.message) || String(errorObj),
|
70
|
+
details: errorObj,
|
71
|
+
};
|
72
|
+
}
|
73
|
+
else {
|
74
|
+
// Primitive or other non-object error
|
75
|
+
return {
|
76
|
+
name: "UnknownError",
|
77
|
+
message: String(options.error),
|
78
|
+
};
|
79
|
+
}
|
80
|
+
})(),
|
81
|
+
}
|
82
|
+
: {})), ((options === null || options === void 0 ? void 0 : options.additionalData) ? { data: options.additionalData } : {}));
|
83
|
+
// Log as JSON string on production for easier parsing in CloudWatch
|
84
|
+
const outputLog = environment === "production"
|
85
|
+
? JSON.stringify(logEntry)
|
86
|
+
: JSON.stringify(logEntry, null, 2);
|
87
|
+
console.log(outputLog);
|
88
|
+
};
|
89
|
+
exports.default = logger;
|
90
|
+
//# sourceMappingURL=logger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../utils/lambdaUtils/logger.ts"],"names":[],"mappings":";;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,OAAuB,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,CAAC;IAE7D,MAAM,QAAQ,iCACZ,OAAO,EACP,SAAS,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,EAAE,EACnC,SAAS,EACT,KAAK,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,MAAM,EAC/B,WAAW,EACX,QAAQ,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,EAAE,EACjC,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,EAAE,EAC7B,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,EAAE,EAC7B,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,EAAE,IAC1B,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;QAChB,CAAC,CAAC;YACE,KAAK,EAAE,CAAC,GAAG,EAAE;;gBACX,+BAA+B;gBAC/B,IAAI,OAAO,CAAC,KAAK,YAAY,KAAK,EAAE;oBAClC,wBAAwB;oBACxB,OAAO;wBACL,IAAI,EAAE,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI;wBACzB,OAAO,EAAE,MAAA,OAAO,CAAC,KAAK,0CAAE,OAAO;wBAC/B,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK;qBAC5B,CAAC;iBACH;qBAAM,IACL,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;oBACjC,OAAO,CAAC,KAAK,KAAK,IAAI,EACtB;oBACA,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAA4B,CAAC;oBACtD,OAAO;wBACL,IAAI,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,cAAc;wBACtC,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,KAAI,MAAM,CAAC,QAAQ,CAAC;wBAC9C,OAAO,EAAE,QAAQ;qBAClB,CAAC;iBACH;qBAAM;oBACL,sCAAsC;oBACtC,OAAO;wBACL,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBAC/B,CAAC;iBACH;YACH,CAAC,CAAC,EAAE;SACL;QACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrE,CAAC;IAEF,oEAAoE;IACpE,MAAM,SAAS,GACb,WAAW,KAAK,YAAY;QAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|