AthletiFi / athletifi-website

Official website for AthletiFi
https://www.athleti.fi
1 stars 5 forks source link

Create new API endpoint to return all cards that a user is either the owner of, or a guest for #297

Closed chef-louis closed 2 weeks ago

chef-louis commented 1 month ago

This will require a query to the player_card_images table to pull all cards where the user is listed as owner, as well as a query to the invitations table to pull all player_card ids where the user is listed as guest

290

chef-louis commented 1 month ago

@pm-moyanor endpoint is up that returns both owned and guest cards based on the user's amplify_id.

Here an example call to the API endpoint https://api.athleti.fi/v1/userCards?amplify_id=a1fb7590-9031-7098-1297-f360d0c332c9

And here is the sample output on the above request:

{
    "message": "Success",
    "result": {
        "amplify_id": "a1fb7590-9031-7098-1297-f360d0c332c9",
        "owned_cards": [
            {
                "card_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp",
                "dashboard_slug": "vsa-23/276"
            }
        ],
        "guest_cards": [
            {
                "invite_id": "186d6c85-b3f1-4705-af1a-e3e818a20066",
                "status": "accepted",
                "card_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp",
                "dashboard_slug": "vsa-23/463"
            }
        ]
    }
}

I'll reach out tomorrow to touch base on this among other joint tasks.

qisforq commented 1 month ago

@chef-louis to extend this API call to include all of the invites sent by the user

chef-louis commented 4 weeks ago

@pm-moyanor Okay, there is an invites output now in the userData endpoint. I've added a handful of contextual fields that you may need to logically handle the invites for a given user. But definitely let me know if there is anything that I should add/remove. Thanks.

endpoint: GET https://api.athleti.fi/v1/userData?amplify_id=a1fb7590-9031-7098-1297-f360d0c332c9

sample output:

{
    "message": "Success",
    "result": {
        "amplify_id": "a1fb7590-9031-7098-1297-f360d0c332c9",
        "init_notifications": true,
        "delete_status": "pending",
        "notifications_enabled": [
            "referral_notifications"
        ],
        "owned_cards": [
            {
                "card_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp",
                "dashboard_slug": "vsa-23/276"
            }
        ],
        "guest_cards": [
            {
                "invite_id": "186d6c85-b3f1-4705-af1a-e3e818a20066",
                "status": "accepted",
                "card_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp",
                "dashboard_slug": "vsa-23/463"
            }
        ],
        "invites": [
            {
                "invite_id": "e8d765a4-d8de-4101-9848-606603f5707f",
                "guest_email": "qvidal@defidevs.io",
                "guest_id": "2f04ce06-e798-4807-9757-e7e7eb3ff939",
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "69004446-84e5-4595-bffe-d6133d46c91a",
                "guest_email": "qvidal@defidevs.io",
                "guest_id": "2f04ce06-e798-4807-9757-e7e7eb3ff939",
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "44fa2a19-dbcd-4461-a6ee-2eb4f01f3ad7",
                "guest_email": "guest@example.com",
                "guest_id": null,
                "invite_status": "revoked",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "eee8bc0f-b4e7-4e6c-bcb4-38269bd37aff",
                "guest_email": "pm.moyanor@gmail.com",
                "guest_id": "1bb1be2a-cdea-4d1d-912b-13399047e901",
                "invite_status": "accepted",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "1cf34031-6567-4729-8596-1eb5f685afbe",
                "guest_email": "qisforq@gmail.com",
                "guest_id": null,
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "785201c9-5e25-44b5-8113-846fca89938b",
                "guest_email": "haacny86@gmail.com",
                "guest_id": "ea7f1dae-6b4a-4183-a1d8-2a7872bbacbf",
                "invite_status": "revoked",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "a7e16d16-f79e-486c-9b7d-d8b1f018a3c1",
                "guest_email": "haacny86+hector@gmail.com",
                "guest_id": null,
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "ad27340d-8a8e-46e9-bca6-786788aeb390",
                "guest_email": "haacny86@gmail.com",
                "guest_id": "c3789489-0c53-484f-b7af-a6879cd57db6",
                "invite_status": "accepted",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "1a57b5c0-6612-46b3-b9ef-4a3b57116ab4",
                "guest_email": "haacny86@gmail.com",
                "guest_id": "df634c12-0c08-49cd-91c2-5f1a25558b83",
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "bd248415-71ca-4907-a1a7-f2f90a406e4e",
                "guest_email": "haacny86@gmail.com",
                "guest_id": "df634c12-0c08-49cd-91c2-5f1a25558b83",
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "f9ca40f3-9932-4f51-bbe8-e673668f42e8",
                "guest_email": "haacny86@gmail.com",
                "guest_id": "df634c12-0c08-49cd-91c2-5f1a25558b83",
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "9ad545bb-abec-4776-8d23-2a2de2e9912d",
                "guest_email": "haacny86+hector@gmail.com",
                "guest_id": null,
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "68847101-f512-4a11-a755-ab6d208fe829",
                "guest_email": "haacny86+hector@gmail.com",
                "guest_id": "44e5ec3d-b423-4bb7-9964-7e55a4ac5df0",
                "invite_status": "revoked",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "f998ec30-fed6-4971-a884-ca5eb3a630e3",
                "guest_email": "qisforq@gmail.com",
                "guest_id": "19999ec9-e16c-4288-b714-c2625864c7d7",
                "invite_status": "revoked",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "915cec39-e294-497b-be77-4c06d9a9f305",
                "guest_email": "pm.moyanor@gmail.com",
                "guest_id": "51b4f707-95e3-461c-be4c-0540f068aae1",
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "769cc087-c46f-4f23-bf75-074d8164dff5",
                "guest_email": "qisforq@gmail.com",
                "guest_id": "8d52e686-5f8a-4960-8961-8f6ecd6a737f",
                "invite_status": "expired",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "923a734e-83ed-4197-aa26-e26a321dc927",
                "guest_email": "haacny86+hector@gmail.com",
                "guest_id": "44e5ec3d-b423-4bb7-9964-7e55a4ac5df0",
                "invite_status": "accepted",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "720662bd-087b-4ca9-8ce8-b84816b0d607",
                "guest_email": "haacny86+hector@gmail.com",
                "guest_id": "44e5ec3d-b423-4bb7-9964-7e55a4ac5df0",
                "invite_status": "accepted",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "ae5e8b67-3e30-4e7e-be24-9d13d5741057",
                "guest_email": "guest@example.com",
                "guest_id": "0452075c-6000-40cb-8d90-7e328cf13888",
                "invite_status": "accepted",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "7b5607a7-3e98-4659-af53-beb22bd99606",
                "guest_email": "qisforq+testeventjson@gmail.com",
                "guest_id": null,
                "invite_status": "pending",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "ffda7cd4-633a-4ea0-89c9-914050b6009b",
                "guest_email": "qisforq@gmail.com",
                "guest_id": "19999ec9-e16c-4288-b714-c2625864c7d7",
                "invite_status": "accepted",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            },
            {
                "invite_id": "ba71d78e-2b20-4bef-aa4e-6b8153fd031b",
                "guest_email": "qisforq@gmail.com",
                "guest_id": "c3789489-0c53-484f-b7af-a6879cd57db6",
                "invite_status": "expired",
                "card_image_id": "0040bccb-b97d-4dcc-926f-30232dd4966a",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Jose%20Hernandez_10_standing_Bronze%20v2_front.webp"
            }
        ]
    }
}
pm-moyanor commented 4 weeks ago

Thank you @chef-louis

chef-louis commented 3 weeks ago

@pm-moyanor as discussed, I'll be extending this task to include the owner's/inviter's email as an output of the invites output. We can track progress of this addition in this task.

chef-louis commented 3 weeks ago

Okay added an inviter_email field to the invites array output

sample API URL: https://api.athleti.fi/v1/userData?amplify_id=a1fb7590-9031-7098-1297-f360d0c332c9

{
    "message": "Success",
    "result": {
        "amplify_id": "a1fb7590-9031-7098-1297-f360d0c332c9",
        "init_notifications": true,
        "delete_status": "pending",
        "notifications_enabled": [
            "referral_notifications"
        ],
        "owned_cards": [
            {
                "card_id": "a3c92505-39aa-464d-959b-7233218fd674",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Anderson%20Rodriguez_19_running_Silver%20v2_front.webp",
                "dashboard_slug": "vsa-23/178"
            },
            {
                "card_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp",
                "dashboard_slug": "vsa-23/463"
            }
        ],
        "guest_cards": [
            {
                "invite_id": "186d6c85-b3f1-4705-af1a-e3e818a20066",
                "status": "accepted",
                "card_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp",
                "dashboard_slug": "vsa-23/463"
            },
            {
                "invite_id": "186d6c85-b3f1-4705-af1a-e3e818a20066",
                "status": "accepted",
                "card_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp",
                "dashboard_slug": "vsa-23/463"
            }
        ],
        "invites": [
            {
                "invite_id": "49a371cb-17b5-403c-93da-201cb9331e3d",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "qisforq+test52424@gmail.com",
                "guest_id": "36bf8efd-71f6-4c8f-a65b-f168df3aef3a",
                "invite_status": "revoked",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "b2c07b5e-5db2-4c0e-b4a2-9689bf737de2",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "qisforq+test2may27@gmail.com",
                "guest_id": "3ea451fe-b26d-4ffc-88fe-43ed8cb1819a",
                "invite_status": "expired",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "186d6c85-b3f1-4705-af1a-e3e818a20066",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "qisforq@gmail.com",
                "guest_id": "c4191a62-9bd1-40ac-a14e-1e17b71def77",
                "invite_status": "accepted",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "c66188f8-72a7-4992-bf09-9e2e3f7e73a8",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "qisforq+test2may27@gmail.com",
                "guest_id": "3ea451fe-b26d-4ffc-88fe-43ed8cb1819a",
                "invite_status": "pending",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "65db82f7-fe75-492e-bae3-66778be3ad56",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "qisforq+testmay28@gmail.com",
                "guest_id": null,
                "invite_status": "pending",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "bbab8602-755f-42a9-b4a3-6742a35709de",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "qisforq+testmay28@gmail.com",
                "guest_id": null,
                "invite_status": "revoked",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "bdc0e631-673d-4db3-aa91-cc3671e81515",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "alejandro.maximo.vidal@gmail.com",
                "guest_id": null,
                "invite_status": "pending",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            },
            {
                "invite_id": "48a80774-a22a-4977-b64f-8d444fe085a8",
                "inviter_email": "louis@athleti.fi",
                "guest_email": "alejandro.maximo.vidal@gmail.com",
                "guest_id": "19999ec9-e16c-4288-b714-c2625864c7d7",
                "invite_status": "accepted",
                "card_image_id": "6164d469-7b56-4899-891a-f94968353073",
                "card_image_url": "https://athletifi-s3.s3.us-east-2.amazonaws.com/player-card-images/Nickollas%20Nascimento_18_shooting_Silver%20v2_front.webp"
            }
        ]
    }
}