Commit graph

148 commits

Author SHA1 Message Date
b30a467793 Add a status color line to cards in decks
This will eventually represent whether the card is available in the
collection for use in the deck, and whether a version was chosen from
those available.
2024-02-25 17:19:32 -05:00
187c83b6f7 Fix IOLoop reference 2024-02-22 15:14:04 +00:00
8303394ced Fix materialized views
Prices may not exist for some card versions, use a LEFT JOIN so cards
don't get omitted.
2024-02-21 23:13:03 -05:00
4081634ad6 Fix deck query 2024-02-21 22:44:41 -05:00
2f701156b3 Add exact name match search syntax 2024-02-21 22:42:15 -05:00
e74fd6b9ba Format code with black 2024-02-21 18:11:03 -05:00
5c6862180b Trigger reload on openapi schema change 2024-02-21 18:09:48 -05:00
7f9e19a74f Add autoreload option 2024-02-21 18:08:46 -05:00
cd3daf7525 Format code with black 2024-02-21 17:57:20 -05:00
2666d80f92 Add coverage reporting to tests 2024-02-21 17:56:43 -05:00
86675016c4 Correct errors in the deck api spec 2024-02-21 17:54:48 -05:00
04ad554d3c Fix type errors 2024-02-21 17:38:20 -05:00
61544ed521 Fix schema loading
Remove usage of deprecated importlib.resources.path
2024-02-21 17:26:20 -05:00
2554900554 Add sort by created date 2024-02-09 23:43:29 -05:00
1358f38419 Enumerate sorting options with a type 2024-02-09 23:37:35 -05:00
e6296f1fef Choose sort via dropdown 2024-02-09 23:28:50 -05:00
33b3e9fb32 Store creation date for imported cards 2024-02-09 03:51:31 +00:00
7b78473f24 Add missing deck list OpenAPI spec 2023-08-12 15:54:19 -04:00
7f1735f200 Add endpoint for deck candidates 2023-08-12 15:54:03 -04:00
ee68b1e10c Explicitly set text color in price badges 2023-07-18 16:55:47 -04:00
a24ae30c9f Display foil prices for foil copies 2023-07-18 16:39:59 -04:00
2247fb5bb4 Pin jsonschema library to 4.17 2023-07-17 23:53:42 -04:00
03d577918c Update python version in Dockerfile 2023-07-10 00:05:55 -04:00
2da33f3168 Update readme 2023-07-10 00:05:55 -04:00
57ee24bd13 Create and delete decks 2023-07-07 01:28:19 -04:00
d84738f6c6 Fix template path directory 2023-07-06 23:55:14 -04:00
168853bef8 Add elm-watch configuration 2023-07-06 15:16:58 -04:00
2435ecb5ff Allow searching by collection 2023-07-04 17:45:32 -04:00
144b1eb2ba Sort by price by default 2023-07-04 17:29:03 -04:00
7c1050a7c2 Handle non-unique oracle card attributes
Though it should never be the case, a scryfall data dump included a card
wherein the oracle text differed between variants having the same oracle
id. Using DISTINCT ON with an ORDER BY clause will select just one
distinct version of these fields to be inserted into the database.

The dump from 20230617212037 included a single oracle entry breaking
this assumed guarantee with versions containing differing oracle text:

    \x on
    SELECT DISTINCT "oracle_id"
         , "name"
         , "color_identity"
         , "cmc"
         , "mana_cost"
         , "type_line"
         , "edhrec_rank"
         , "oracle_text"
    FROM "tmp_cards"
    WHERE "tmp_cards"."oracle_id" = '5feedfb0-30e6-400d-9e28-d541ea1aa14e';

    oracle_id	5feedfb0-30e6-400d-9e28-d541ea1aa14e
    name	Plague Spitter
    color_identity	B
    cmc	3.00
    mana_cost	{2}{B}
    type_line	Creature — Phyrexian Horror
    edhrec_rank	7226
    oracle_text	At the beginning of your upkeep, Plague Spitter deals 1 damage to each creature and each player.
    When Plague Spitter dies, Plague Spitter deals 1 damage to each creature and each player.

    oracle_id	5feedfb0-30e6-400d-9e28-d541ea1aa14e
    name	Plague Spitter
    color_identity	B
    cmc	3.00
    mana_cost	{2}{B}
    type_line	Creature — Phyrexian Horror
    edhrec_rank	7226
    oracle_text	At the beginning of your upkeep, Plague Spitter deals 1 damage to each creature and each player.
    When Plague Spitter dies, it deals 1 damage to each creature and each player.
2023-06-21 21:39:58 -04:00
306d2f2ba0 Add logging for scryfall update 2023-06-20 15:26:38 -04:00
2faee10169 Add status handler 2023-06-20 15:01:11 -04:00
a317dd31a8 Add deck POST/PUT 2023-06-14 21:42:10 -04:00
3f6e84317a Fix retrieval of empty decks 2023-06-14 21:04:51 -04:00
78cb4b768b Update poetry 2023-04-19 17:17:41 -04:00
e3bb38f8d3 Fix issue updating scryfall 2023-04-19 17:17:17 -04:00
3790d98153 WIP: Formalize and implement deck API 2023-03-02 00:41:07 -05:00
165429710a Adjust API documentation URL 2023-03-02 00:03:39 -05:00
e970ef569e Document the data models in OpenAPI 2023-02-24 22:41:32 -05:00
f266946c8c Add search tests 2023-02-24 00:41:32 -05:00
74e44b1e8c Add server tests 2023-02-23 23:18:43 -05:00
61c9d53cf3 Run mypy during tests 2023-02-14 00:11:26 -05:00
bef50d30c1 Clean up dev dependencies 2023-02-13 23:36:48 -05:00
3a7b37e4c7 Start tackling mypy errors 2023-02-13 23:30:42 -05:00
fcb12ec630 Fix collection search not working from tab 2023-02-13 15:10:16 -05:00
96a135bbc7 Fix formatting 2023-02-13 15:10:10 -05:00
6996789c52 Specify search parameter schema 2023-02-11 00:56:41 -05:00
f70c3faccb Use inner joins when looking up deck lists 2023-01-18 15:21:25 -05:00
c6a64df38b Fix scryfall update 2023-01-18 14:58:46 -05:00
45dd60ec10 Fix card import
Card model now requires set name on instantiation
2023-01-18 13:42:48 -05:00