diff --git a/docs/queries.sql b/docs/queries.sql new file mode 100644 index 0000000..73553f3 --- /dev/null +++ b/docs/queries.sql @@ -0,0 +1,4 @@ + +UPDATE UserCoins +SET coins = coins + @coinsToAdd +WHERE userHandle = @userHandle; diff --git a/docs/test.http b/docs/test.http new file mode 100644 index 0000000..6b64501 --- /dev/null +++ b/docs/test.http @@ -0,0 +1,2 @@ +### +GET https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=48oDy9Ni1TA&key=AIzaSyB92CRC8QVrUUXBRuW9lt6vGJUbAsSOMts \ No newline at end of file diff --git a/docs/test.json b/docs/test.json new file mode 100644 index 0000000..3f44638 --- /dev/null +++ b/docs/test.json @@ -0,0 +1,691 @@ +{ + "kind": "youtube#commentThreadListResponse", + "etag": "Cq5bmzGRCQTU2uNuon4cn8NSna0", + "nextPageToken": "Z2V0X25ld2VzdF9maXJzdC0tQ2dnSWdBUVZGN2ZST0JJRkNJa2dHQUFTQlFpZElCZ0JFZ1VJaHlBWUFCSUZDS2dnR0FBU0JRaUlJQmdBSWc0S0RBalJnYm5BQmhEd2k5aXBBUQ==", + "pageInfo": { + "totalResults": 20, + "resultsPerPage": 20 + }, + "items": [ + { + "kind": "youtube#commentThread", + "etag": "7RHdNyT-pAbo2W1hWfE3voEpkOw", + "id": "UgxoWbZV6m5popnY5a54AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "1fmFY7IyKyrcyRxMhqS12wXucbc", + "id": "UgxoWbZV6m5popnY5a54AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "Your manabox setup is dope!! (goodluck everyone on the giveaway!)", + "textOriginal": "Your manabox setup is dope!! (goodluck everyone on the giveaway!)", + "authorDisplayName": "@citadelgaminginc.4193", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_kJ7-d2r5mLWmoNvOBYpaEIkUiiRZaCFzeB7EV91OHvlCE=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@citadelgaminginc.4193", + "authorChannelId": { + "value": "UCeIOnlexRLnAGRAYTl31RTw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-29T10:59:07Z", + "updatedAt": "2025-04-29T10:59:07Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "zzP07A9_sYXxiw6wQ_VPyTfTcgQ", + "id": "Ugy48PZAboo3x7DAqd54AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "-0skvSPUOh7aE8oGc-PBlV1JiSo", + "id": "Ugy48PZAboo3x7DAqd54AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "Fun packs", + "textOriginal": "Fun packs", + "authorDisplayName": "@jarbo261", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_nGbdkjmUoP0ohweS9LBUq5huAiKfmiKGFiVZ0jL-AGQg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@jarbo261", + "authorChannelId": { + "value": "UC24MAkAxc4OauZ2SnJLc4rQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-29T08:52:47Z", + "updatedAt": "2025-04-29T08:52:47Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "plMHkiKikQGxFv7ypB7Exh57iKA", + "id": "Ugx6nhAhutbloiwYA9R4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "r7QlJI2t32s55pPO8fCz2B3lJLk", + "id": "Ugx6nhAhutbloiwYA9R4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "Super jealous of whoever wins that marsh flats", + "textOriginal": "Super jealous of whoever wins that marsh flats", + "authorDisplayName": "@josephledesma2637", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_kqKvg1lOnUXwTAKbfMYUabDlB4F4GhRWsktA-w9Ys=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@josephledesma2637", + "authorChannelId": { + "value": "UCM8_NbHRi93IL5eeMtPk23Q" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-29T05:16:53Z", + "updatedAt": "2025-04-29T05:16:53Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "t4Rtgqh_LcI1iIRqbWZtxHPNtgU", + "id": "UgyDmnQd6iqmtoVD2mh4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "eeOzg-tWU3iLHyqWqztjpUe6D8E", + "id": "UgyDmnQd6iqmtoVD2mh4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "I hope I have enough", + "textOriginal": "I hope I have enough", + "authorDisplayName": "@spookys1031", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_kFDQeAoo--lA0mcrnNTlTJg8yiy6U0AMzp16vBjD7VWw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@spookys1031", + "authorChannelId": { + "value": "UCB_z1FeWziylCUm74gle6ng" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-29T04:25:47Z", + "updatedAt": "2025-04-29T04:25:47Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "W8_NGemQcgXN_mNnCB5_Xai_U-A", + "id": "UgzmA42mI_czg8MmjqV4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "XYjux0O5ShDFJN5Nl0f2TJR2sXc", + "id": "UgzmA42mI_czg8MmjqV4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "W pulls", + "textOriginal": "W pulls", + "authorDisplayName": "@Caden-r9z", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_nr9xE_2vBhbh6K--Fq-aive21XyEQnu2y02BiS_JoIPeuEzrRmJAz6CHewA8Z5_h4Pew=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@Caden-r9z", + "authorChannelId": { + "value": "UCicymeM5AHJ20ko-V7B6WvQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-29T01:53:36Z", + "updatedAt": "2025-04-29T01:53:36Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "2Wu3qQfeUnrMVKy1Ab46wtm5Ekw", + "id": "Ugykx7MIesAeGAYNZhZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "jcAWrn_ep8JUKW-M0vM07skciH0", + "id": "Ugykx7MIesAeGAYNZhZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "Yo", + "textOriginal": "Yo", + "authorDisplayName": "@adedoyinjaiyesimi8480", + "authorProfileImageUrl": "https://yt3.ggpht.com/TJY5f8AV2TE3zHliAABSewIQbv8q5lbC76b0RyHv1dfVSKQ6ZCvHQC5UHDpJohpimLE9vpaJxwg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@adedoyinjaiyesimi8480", + "authorChannelId": { + "value": "UCzLyRnu6oqlow91DHoB5M6w" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T22:15:18Z", + "updatedAt": "2025-04-28T22:15:18Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "FC82taf9lBL8DP6txq40YfU43FA", + "id": "UgwYJ4pD_grOvg1e5tB4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "2ZMleXBFmbNDDp1r_5bmnfaqgLg", + "id": "UgwYJ4pD_grOvg1e5tB4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "I love Tarkir so much!", + "textOriginal": "I love Tarkir so much!", + "authorDisplayName": "@xXMrZentusXx", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_l1zp0gCFA-ZvOAjG4xdXwKwlqq0iVFkxcs3vGqMkb_5w=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@xXMrZentusXx", + "authorChannelId": { + "value": "UCAxqwsMQMW1g8SmOEe-gU1Q" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T20:27:01Z", + "updatedAt": "2025-04-28T20:27:01Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "w8IBXL6f6VY7lxHdjI0LoTmFEyI", + "id": "UgykL8RRnBJ3veLZHKZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "TTcvht3TN087Vvh5Atbwtn38en4", + "id": "UgykL8RRnBJ3veLZHKZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "500", + "textOriginal": "500", + "authorDisplayName": "@pastorchrisstewart6141", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_n5-X_lcPBgLL1ukm-BITDqec_VUiPxhYsQSQOyAyeQvL5l=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@pastorchrisstewart6141", + "authorChannelId": { + "value": "UC4xPfnkdAyJxW-l3LUfyfHA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T16:58:55Z", + "updatedAt": "2025-04-28T16:58:55Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "zBVhGw9OmeV_UZxnPyjl_wDoqXc", + "id": "UgwNvwmfaDTa3tboTgt4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "r9xyzvcJ7d5SU8qBeDTH3z2_Qqo", + "id": "UgwNvwmfaDTa3tboTgt4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "terror of the peaks is a crazy pull need that card xD", + "textOriginal": "terror of the peaks is a crazy pull need that card xD", + "authorDisplayName": "@jodqjovi3743", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_mXlj4JKDtpIftdMXXwmfdNOvIW6f7NuOCT1zM4v-3Q9zY=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@jodqjovi3743", + "authorChannelId": { + "value": "UCBtU5ZW1n604-Yq9XnaosfA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T16:28:09Z", + "updatedAt": "2025-04-28T16:28:09Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "6Skc79ENfkvYsZ3XCFPekgwMe1M", + "id": "UgzriqM8O6ZVAsj30tp4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "9ZZ45MBy4ewWEe57uJosautP-l4", + "id": "UgzriqM8O6ZVAsj30tp4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "I love opening packs but I never hit anything good XD", + "textOriginal": "I love opening packs but I never hit anything good XD", + "authorDisplayName": "@Voryum", + "authorProfileImageUrl": "https://yt3.ggpht.com/dJQHyVppgP20fmJ82uKYz8kwlIi-0WdS-sCerbhLAlqhXTonzRJJtHQKzAiKaT8bQzg4lDEXxQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@Voryum", + "authorChannelId": { + "value": "UCjw7cdSwqfQCHlskh18MqvQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T14:06:22Z", + "updatedAt": "2025-04-28T14:06:22Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "yFpCwSSBLAM5l-q4CSrdbXnw7iM", + "id": "Ugwv-GbpqzSthOQpmYF4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "ptmaoQ601Cy-po-VexiNdfA3p40", + "id": "Ugwv-GbpqzSthOQpmYF4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "comment time", + "textOriginal": "comment time", + "authorDisplayName": "@andros8856", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_n8qSBYJvOtlIzPOluPdpxo6wf5ITPDgiEXfxdiwwan_w=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@andros8856", + "authorChannelId": { + "value": "UCBioCdp0fkimeGmjcyWpuJw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T13:04:14Z", + "updatedAt": "2025-04-28T13:04:14Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "7BcSC6Dfk8THeT1R-6lRaQ_7zLM", + "id": "UgyIr2K1BLqHr4ryEyV4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "7UyXukVQGu3YY10l7gIUQTCcsFk", + "id": "UgyIr2K1BLqHr4ryEyV4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "How so many", + "textOriginal": "How so many", + "authorDisplayName": "@derpy1015", + "authorProfileImageUrl": "https://yt3.ggpht.com/Sr0kVdVL-8hkmLoTqA-IYEjN1wNFbxBBOXqgcPhFERwIqNpkzz6WD7ZjIoHaT06a03-DYFMF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@derpy1015", + "authorChannelId": { + "value": "UClGHRyGmEGgCrjNEFJ7zUeA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T07:14:39Z", + "updatedAt": "2025-04-28T07:14:39Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "JP9tV4RFcygi9tDRyJmhoI5a9IE", + "id": "Ugytf8-2luPQ_3pFszt4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "ICllIHORkDbvgiEFxDEyA-S-T4g", + "id": "Ugytf8-2luPQ_3pFszt4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "300", + "textOriginal": "300", + "authorDisplayName": "@lightningheart594", + "authorProfileImageUrl": "https://yt3.ggpht.com/R0x0k60WNnv__CJR8aLvsRMIzY93AxWfDIXqe-Jdsvvl0Hb9HfWIJzRcmG4-C4LL3IAVoyTfNOM=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@lightningheart594", + "authorChannelId": { + "value": "UCqslhJAjIqkSS4VcZSavGDw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T04:16:08Z", + "updatedAt": "2025-04-28T04:16:08Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "pHtaCJUEYROXZl_fpc7wUMuyDqY", + "id": "UgxVmE01acpyX9iOI0h4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "BKwlq7No-q7BDGG8rBNlSz36Eeo", + "id": "UgxVmE01acpyX9iOI0h4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "500", + "textOriginal": "500", + "authorDisplayName": "@lightningheart594", + "authorProfileImageUrl": "https://yt3.ggpht.com/R0x0k60WNnv__CJR8aLvsRMIzY93AxWfDIXqe-Jdsvvl0Hb9HfWIJzRcmG4-C4LL3IAVoyTfNOM=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@lightningheart594", + "authorChannelId": { + "value": "UCqslhJAjIqkSS4VcZSavGDw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-28T04:16:04Z", + "updatedAt": "2025-04-28T04:16:04Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "XqqYhavALrKnK4U4RRmGM__RyRU", + "id": "UgwkifE-Rl15XN4C9bZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "iRpUBwmv7pZ9xmgLQ90w2QHX208", + "id": "UgwkifE-Rl15XN4C9bZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "Nice promos", + "textOriginal": "Nice promos", + "authorDisplayName": "@Nilsferd1323", + "authorProfileImageUrl": "https://yt3.ggpht.com/CUIFJvo1qfRY_nwTuGEbdbSWCzLX5oBwiEAHUd68ZPe-SPn3UUwcRtDycySxwNRBTBQhWd5J=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@Nilsferd1323", + "authorChannelId": { + "value": "UCxOIjqtMCWM0dHn0Mx3wEPQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-27T23:46:13Z", + "updatedAt": "2025-04-27T23:46:13Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "CpEXzESgoTSL8SRLeuVXz0Acocc", + "id": "UgzmG0EHTgr4Oouhg_Z4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "5GG7uj4KsDIFa9N_RtriItLrizo", + "id": "UgzmG0EHTgr4Oouhg_Z4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "I just want to be part of the chill community (which i just found!)", + "textOriginal": "I just want to be part of the chill community (which i just found!)", + "authorDisplayName": "@jesseleerader", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_nJFEyraLUI4G2Gw6-pn_cbTfsc6Mf64MiXqheyK1g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@jesseleerader", + "authorChannelId": { + "value": "UCxwjdDZ7gwewDMDkatJNPBg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-27T23:44:50Z", + "updatedAt": "2025-04-27T23:44:50Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "lp_AzYqSM1RaXVaGqAjt6jenCaM", + "id": "UgzPPn7kADSJIPA3MUB4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "y_y5GXsT1CKulsizPDW7eVw6wJU", + "id": "UgzPPn7kADSJIPA3MUB4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "500", + "textOriginal": "500", + "authorDisplayName": "@ivan_6788", + "authorProfileImageUrl": "https://yt3.ggpht.com/YzMhDFCgUt4ohhB9O2p4rM_m4hqg7QMsgccnxi_s3zUQiBFtEWrmNm95TRrwaom3IcT5NRCmYA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@ivan_6788", + "authorChannelId": { + "value": "UCZZw_VkHq-bGYtoQpKTXcdA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-27T21:36:58Z", + "updatedAt": "2025-04-27T21:36:58Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "NbnrQeVyF8d_xa5-HTEwfelZTu0", + "id": "Ugz-8H3PHC79804GKMl4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "8Km5eVT1wD9mdihEvk020D6iqgM", + "id": "Ugz-8H3PHC79804GKMl4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "300", + "textOriginal": "300", + "authorDisplayName": "@ivan_6788", + "authorProfileImageUrl": "https://yt3.ggpht.com/YzMhDFCgUt4ohhB9O2p4rM_m4hqg7QMsgccnxi_s3zUQiBFtEWrmNm95TRrwaom3IcT5NRCmYA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@ivan_6788", + "authorChannelId": { + "value": "UCZZw_VkHq-bGYtoQpKTXcdA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-27T21:36:51Z", + "updatedAt": "2025-04-27T21:36:51Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "BMFv2qscuwc8GDCgt9XAEPNRHUw", + "id": "Ugxaamle3j7uFmyl42x4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "M87q4zOCAopLb6-Dnxrrlua7fEE", + "id": "Ugxaamle3j7uFmyl42x4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "Are promo packs the same as pre release. Videos are excellent", + "textOriginal": "Are promo packs the same as pre release. Videos are excellent", + "authorDisplayName": "@BigJoeEats", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_kO4_YFEfK3ODw3QQTSbFjaG5_M3D8IST7z-VXZmnTEh-Aq3hi_OdWLaUpAEE2hmLQIiQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@BigJoeEats", + "authorChannelId": { + "value": "UCGftpKpFaa4YMpNZvC-L-jw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-27T21:17:08Z", + "updatedAt": "2025-04-27T21:17:08Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "-8V7xmLsFiUjWcvhjQlwicLdDQM", + "id": "UgxlIM2LAJeACGgwTNZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "Qq62cJykzYzIlYLua-nT5qkMaqc", + "id": "UgxlIM2LAJeACGgwTNZ4AaABAg", + "snippet": { + "channelId": "UCwiY7tC4YkLlGiqT9osucZg", + "videoId": "48oDy9Ni1TA", + "textDisplay": "I'm still trying to pull a Terror of the Peaks", + "textOriginal": "I'm still trying to pull a Terror of the Peaks", + "authorDisplayName": "@ErikBlythe", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AIdro_nNUswFd5SWLf5RHtNxLBgHiJOJYWOosZExppWT5EU_KDM=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/@ErikBlythe", + "authorChannelId": { + "value": "UC6DSdpRKshuMIJmx8sCv02Q" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2025-04-27T14:36:01Z", + "updatedAt": "2025-04-27T14:36:01Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + } + ] +} \ No newline at end of file diff --git a/src/app/admin/AdminClient.tsx b/src/app/admin/AdminClient.tsx index 912c8ed..0f680e9 100644 --- a/src/app/admin/AdminClient.tsx +++ b/src/app/admin/AdminClient.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; +import handleUpdateCoins from "./AdminServer"; interface AdminClientProps { email: string; @@ -8,7 +9,8 @@ interface AdminClientProps { export default function AdminClient({ email }: AdminClientProps) { const [giveaway, setGiveaway] = useState({ title: "", description: "", value: 0, prize: "", duration: 0, endsAt: 0 }); - const [userCoins, setUserCoins] = useState({ userId: "", coins: 0 }); + const [youtube_url, setYoutubeUrl] = useState("https://www.youtube.com/watch?v=48oDy9Ni1TA&ab_channel=TCGLove"); + const [coin_value, setCoinValue] = useState(0); const handleCreateGiveaway = async () => { const response = await fetch("/api/admin/create-giveaway", { @@ -25,21 +27,6 @@ export default function AdminClient({ email }: AdminClientProps) { } }; - const handleUpdateCoins = async () => { - const response = await fetch("/api/admin/update-coins", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(userCoins), - }); - if (response.ok) { - alert("User coins updated successfully!"); - setUserCoins({ userId: "", coins: 0 }); // Reset form - } else { - const error = await response.json(); - alert(`Failed to update user coins: ${error.error}`); - } - }; - return (