Skip to content

Commit e3367ee

Browse files
authored
Merge branch 'fix/chats/hmmm' into main
2 parents 7ef1caa + d16740a commit e3367ee

File tree

13 files changed

+292
-14
lines changed

13 files changed

+292
-14
lines changed

.dockerignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
.idea/
2-
**/json/
32
.github/
43
.venv/
54
!env/.env.example

requirements.txt

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,48 @@
1-
python-dotenv~=1.0.1
2-
fastapi~=0.110.1
3-
bcrypt~=4.1.2
4-
starlette~=0.37.2
5-
aiohttp~=3.9.3
6-
requests~=2.31.0
7-
gitpython~=3.1.43
8-
gunicorn~=21.2.0
9-
uvicorn~=0.29.0
10-
brotli-asgi~=1.4.0
11-
prometheus-fastapi-instrumentator~=7.0.0
1+
aiohttp==3.9.5
2+
aiosignal==1.3.1
3+
annotated-types==0.6.0
4+
anyio==4.3.0
5+
attrs==23.2.0
6+
bcrypt==4.1.2
7+
Brotli==1.1.0
8+
brotli-asgi==1.4.0
9+
certifi==2024.2.2
10+
charset-normalizer==3.3.2
11+
click==8.1.7
12+
colorama==0.4.6
13+
Deprecated==1.2.14
14+
fastapi==0.110.2
15+
fastapi-simple-rate-limiter==0.0.4
16+
frozenlist==1.4.1
17+
gitdb==4.0.11
18+
GitPython==3.1.43
19+
gunicorn==21.2.0
20+
h11==0.14.0
21+
httpcore==1.0.5
22+
httpx==0.27.0
23+
idna==3.7
24+
importlib_resources==6.4.0
25+
limits==3.11.0
26+
multidict==6.0.5
27+
packaging==24.0
28+
prometheus-fastapi-instrumentator==7.0.0
29+
prometheus_client==0.20.0
30+
pydantic==2.7.0
31+
pydantic_core==2.18.1
32+
python-dateutil==2.9.0.post0
33+
python-dotenv==1.0.1
34+
redis==5.0.4
35+
requests==2.31.0
36+
six==1.16.0
37+
smmap==5.0.1
38+
sniffio==1.3.1
39+
starlette==0.37.2
40+
svix==1.22.0
41+
types-Deprecated==1.2.9.20240311
42+
types-python-dateutil==2.9.0.20240316
43+
typing_extensions==4.11.0
44+
urllib3==2.2.1
45+
uvicorn==0.29.0
46+
websockets==12.0
47+
wrapt==1.16.0
48+
yarl==1.9.4

src/cfg/env/.env.example

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ STATUS=raw/status
1010
WAR_INFO=raw/war_info
1111
PLANET_STATS=raw/planet_stats
1212
MAJOR_ORDER=raw/major_order
13+
PERSONAL_ORDER=raw/personal_order
1314
NEWS_FEED=raw/news_feed
14-
STEAM_NEWS=raw/updates
15+
STEAM_NEWS="https://api.diveharder.com/raw/updates"
1516
LEVEL_SPEC=raw/level_spec
1617
ITEMS=raw/items
1718
MISSION_REWARDS=raw/mission_rewards
@@ -26,6 +27,8 @@ SEASON_PASS_SV=raw/season_pass_sv
2627
SEASON_PASS_CE=raw/season_pass_ce
2728
# Democratic Detonation
2829
SEASON_PASS_DD=raw/season_pass_dd
30+
# Polar Patriots
31+
SEASON_PASS_PP=raw/season_pass_pp
2932
MISSION_SCORE_CALC_PARAMS=raw/score_calc
3033
ELECTION_CANDIDATES=raw/election_candidates
3134
ELECTION_TERMS=raw/election_terms

src/routes/raw.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,4 +406,4 @@ async def get_raw_dss(request: Request):
406406
return data
407407
return JSONResponse(
408408
status_code=status.HTTP_204_NO_CONTENT, content={"204": "No Content"}
409-
)
409+
)
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
from pydantic import BaseModel
2+
from typing import Dict, List, Any
3+
4+
5+
class Passive(BaseModel):
6+
name: str
7+
description: str
8+
9+
10+
class Armor(BaseModel):
11+
name: str
12+
description: str
13+
type: str
14+
slot: str
15+
armor_rating: int
16+
speed: int
17+
stamina_regen: int
18+
passive: Passive | str
19+
20+
21+
class Damage(BaseModel):
22+
name: str
23+
description: str
24+
damage: int
25+
26+
27+
class Weapon(BaseModel):
28+
name: str
29+
description: str
30+
damage: int
31+
capacity: int
32+
recoil: int
33+
fire_rate: int
34+
fire_mode: List[str]
35+
traits: List[str]
36+
37+
38+
class Primary(BaseModel):
39+
type: str
40+
41+
42+
class Grenade(BaseModel):
43+
name: str
44+
description: str
45+
damage: int
46+
penetration: int
47+
outer_radius: int
48+
fuse_time: float
49+
50+
51+
class Weapons(BaseModel):
52+
primaries: Dict[str, Primary]
53+
secondaries: Dict[str, Weapon]
54+
grenades: Dict[str, Grenade]
55+
56+
57+
class Booster(BaseModel):
58+
name: str
59+
description: str
60+
61+
62+
class Item(BaseModel):
63+
name: str
64+
mix_id: str
65+
66+
67+
class ItemsResponse(BaseModel):
68+
armor: Dict[str, Armor]
69+
weapons: Weapons
70+
boosters: Dict[str, Booster]
71+
item_list: Dict[str, Item]

src/routes/response_models/major_order.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from typing import List, Optional
33

44

5+
56
class Task(BaseModel):
67
type: int
78
values: List[int]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from pydantic import BaseModel
2+
from typing import List, Any
3+
4+
5+
class NewsFeedResponse(BaseModel):
6+
id: int
7+
published: int
8+
type: int
9+
tagIds: List[Any]
10+
message: str
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from pydantic import BaseModel
2+
from typing import List
3+
4+
5+
class GalaxyStats(BaseModel):
6+
missionsWon: int
7+
missionsLost: int
8+
missionTime: int
9+
bugKills: int
10+
automatonKills: int
11+
illuminateKills: int
12+
bulletsFired: int
13+
bulletsHit: int
14+
timePlayed: int
15+
deaths: int
16+
revives: int
17+
friendlies: int
18+
missionSuccessRate: int
19+
accurracy: int
20+
21+
22+
class PlanetStats(GalaxyStats):
23+
planetIndex: int
24+
25+
26+
class PlanetStatsResponse(BaseModel):
27+
galaxy_stats: GalaxyStats
28+
planets_stats: List[PlanetStats]
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
from pydantic import BaseModel
2+
from typing import List
3+
4+
5+
class Campaign(BaseModel):
6+
id: int
7+
planetIndex: int
8+
type: int
9+
count: int
10+
11+
12+
class PlanetAttack(BaseModel):
13+
source: int
14+
target: int
15+
16+
17+
class PlanetStatus(BaseModel):
18+
index: int
19+
owner: int
20+
health: int
21+
regenPerSecond: float
22+
players: int
23+
24+
25+
class JointOperation(BaseModel):
26+
id: int
27+
planetIndex: int
28+
hqNodeIndex: int
29+
30+
31+
class PlanetEvent(BaseModel):
32+
id: int
33+
planetIndex: int
34+
eventType: int
35+
race: int
36+
health: int
37+
maxHealth: int
38+
startTime: int
39+
expireTime: int
40+
campaignId: int
41+
jointOperationIds: List[int]
42+
43+
44+
class GlobalEvent(BaseModel):
45+
eventId: int
46+
id32: int
47+
portraitId32: int
48+
title: str
49+
titleId32: int
50+
message: str
51+
messageId32: int
52+
race: int
53+
flag: int
54+
assignmentId32: int
55+
effectIds: List[int] | None
56+
planetIndices: List[int] | None
57+
58+
59+
class PlanetActiveEffects(BaseModel):
60+
index: int
61+
galacticEffectId: int
62+
63+
64+
class StatusResponse(BaseModel):
65+
warId: int
66+
time: int
67+
impactMultiplier: float
68+
storyBeatId32: int
69+
planetStatus: List[PlanetStatus]
70+
planetAttacks: List[PlanetAttack]
71+
campaigns: List[Campaign]
72+
communityTargets: List[int] | None
73+
jointOperations: List[JointOperation]
74+
planetEvents: List[PlanetEvent]
75+
planetActiveEffects: List[PlanetActiveEffects] | None
76+
activeElectionPolicyEffects: List[int] | None
77+
globalEvents: list[GlobalEvent]
78+
superEarthWarResults: List[int] | None
79+
layoutVersion: int
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from pydantic import BaseModel
2+
from typing import List, Any
3+
4+
5+
class UpdateResponse(BaseModel):
6+
title: str
7+
url: str
8+
contents: str
9+
date: str

0 commit comments

Comments
 (0)