@winible/winible-typed 2.106.0 → 2.108.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.
@@ -50,6 +50,7 @@ AffiliateLinks.init({
50
50
  partnerType: {
51
51
  type: sequelize_1.DataTypes.ENUM(...Object.values(types_2.PartnerType)),
52
52
  allowNull: false,
53
+ defaultValue: types_2.PartnerType.SPORTSBOOK,
53
54
  field: "partner_type",
54
55
  },
55
56
  type: {
@@ -1 +1 @@
1
- {"version":3,"file":"affiliate-link.js","sourceRoot":"","sources":["../../typed-model/affiliate-link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"affiliate-link.js","sourceRoot":"","sources":["../../typed-model/affiliate-link.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winible/winible-typed",
3
- "version": "2.106.0",
3
+ "version": "2.108.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -103,6 +103,7 @@
103
103
  "support/**/*",
104
104
  "src/**/*",
105
105
  "opticodds/**/*",
106
+ "shared-types/**/*",
106
107
  "index.ts",
107
108
  "dist/**/*"
108
109
  ]
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Shared TypeScript types for use across frontend and backend projects
3
+ * These types are plain objects without Sequelize model properties.
4
+ */
5
+
6
+ import type AffiliateLinkModel from "../typed-model/affiliate-link";
7
+ import type SportsbookModel from "../typed-model/sportsbook";
8
+ import type OddModel from "../typed-model/odd";
9
+ import type ParlayModel from "../typed-model/parlay";
10
+ import type BetModel from "../typed-model/bet";
11
+ export { BetType as BetTypeEnum, BetStatusType } from "../src/types";
12
+
13
+ // Sequelize model helper types
14
+ type SequelizeProperties =
15
+ | "createdAt"
16
+ | "updatedAt"
17
+ | "deletedAt"
18
+ | "dataValues"
19
+ | "isNewRecord"
20
+ | "sequelize"
21
+ | "previous"
22
+ | "changed"
23
+ | "save"
24
+ | "update"
25
+ | "destroy"
26
+ | "restore"
27
+ | "reload"
28
+ | "validate"
29
+ | "toJSON"
30
+ | "get"
31
+ | "set"
32
+ | "setDataValue"
33
+ | "getDataValue"
34
+ | "where"
35
+ | "increment"
36
+ | "decrement"
37
+ | "_attributes"
38
+ | "_creationAttributes"
39
+ | "setAttributes"
40
+ | "equals"
41
+ | "equalsOneOf"
42
+ | "isSoftDeleted"
43
+ | "_modelOptions"
44
+ | "_options"
45
+ | "_defaults"
46
+ | "_previousDataValues"
47
+ | "_model"
48
+ | "addHook"
49
+ | "removeHook"
50
+ | "hasHook"
51
+ | "hasHooks"
52
+ | "getHook"
53
+ | "getHooks";
54
+
55
+ export type UserGeographyType = {
56
+ state?: string;
57
+ country?: string;
58
+ region?: string;
59
+ // Add other geography fields as needed
60
+ };
61
+
62
+ // Shared frontend types
63
+ export type PostAffiliateLinksType = {
64
+ siteName: string;
65
+ link: string;
66
+ buttonText: string;
67
+ };
68
+
69
+ export type SortConfigType = {
70
+ loading: boolean;
71
+ sortColumn?: string;
72
+ sortDirection?: "asc" | "desc" | "";
73
+ };
74
+
75
+ export type WithGeolocation<T> = {
76
+ geolocationAvailable: T;
77
+ geolocationUnavailable: T;
78
+ };
79
+
80
+ // OpticOdds related types
81
+ export type OddsType = {
82
+ id: string;
83
+ name: string;
84
+ price: number;
85
+ teamId?: string;
86
+ playerId?: string;
87
+ market?: string;
88
+ marketId?: string;
89
+ sportsbook?: string; // The sportsbook Display Name from OpticOdds. Needs parsing to external_id
90
+ };
91
+
92
+ export type OpticOddsPlayerType = {
93
+ id: string;
94
+ name: string;
95
+ logo: string;
96
+ };
97
+
98
+ export type OpticOddsTeamType = {
99
+ id: string;
100
+ name: string;
101
+ logo: string;
102
+ abbreviation: string;
103
+ lineup?: OpticOddsPlayerType[];
104
+ };
105
+
106
+ export type FixtureType = {
107
+ id: string;
108
+ homeCompetitors: OpticOddsTeamType[];
109
+ awayCompetitors: OpticOddsTeamType[];
110
+ sportId: string;
111
+ sportName: string;
112
+ leagueId: string;
113
+ leagueName: string;
114
+ startDate: string;
115
+ status: string;
116
+ homeTeam?: string;
117
+ awayTeam?: string;
118
+ };
119
+
120
+ export type SBOType = {
121
+ id?: string;
122
+ liveOdd: OddsType;
123
+ fixture: FixtureType;
124
+ units?: number;
125
+ wagers?: number;
126
+ odd: number;
127
+ market: string;
128
+ marketId: string;
129
+ marketType: string;
130
+ relevantText: string;
131
+ team?: OpticOddsTeamType;
132
+ player?: OpticOddsPlayerType;
133
+ parlayPrice?: number;
134
+ leagueId?: string;
135
+ sportId?: string;
136
+ sportsbookIds?: string[];
137
+ sportsbookId?: string;
138
+ leagueName?: string;
139
+ sportName?: string;
140
+ };
141
+
142
+ // Model-based types (using Omit to remove Sequelize properties)
143
+ export type AffiliateLink = Omit<AffiliateLinkModel, SequelizeProperties>;
144
+
145
+ export type Sportsbook = Omit<SportsbookModel, SequelizeProperties>;
146
+
147
+ export type OddType = Omit<OddModel, SequelizeProperties> & {
148
+ affiliateLink?: AffiliateLink;
149
+ sportsbook?: Sportsbook;
150
+ };
151
+
152
+ export type ParlayWithOdds = Omit<ParlayModel, SequelizeProperties> & {
153
+ odds: OddType[];
154
+ affiliateLink?: AffiliateLink;
155
+ sportsbook?: Sportsbook;
156
+ };
157
+
158
+ export type BetType = Omit<BetModel, SequelizeProperties> & {
159
+ sbos: SBOType[];
160
+ parlays?: WithGeolocation<ParlayWithOdds[]>;
161
+ odds?: WithGeolocation<OddType[]>;
162
+ userGeography?: UserGeographyType;
163
+ betPlaced?: boolean | null;
164
+
165
+ // Legacy field
166
+ sbo: SBOType[];
167
+ };
@@ -75,6 +75,7 @@ AffiliateLinks.init(
75
75
  partnerType: {
76
76
  type: DataTypes.ENUM(...Object.values(PartnerType)),
77
77
  allowNull: false,
78
+ defaultValue: PartnerType.SPORTSBOOK,
78
79
  field: "partner_type",
79
80
  },
80
81
  type: {