gamestick-pjgsapi.git
2 days agoDo not return 1000 products master codeberg/master v0.8.0
Christian Weiske [Tue, 10 Jun 2025 20:11:21 +0000 (22:11 +0200)]
Do not return 1000 products

.. this may crash games

2 days agoDeliver dummy products when a game misses them
Christian Weiske [Tue, 10 Jun 2025 19:33:06 +0000 (21:33 +0200)]
Deliver dummy products when a game misses them

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9

5 days agoSupport "stop the birds" game UUID
Christian Weiske [Sun, 8 Jun 2025 09:43:16 +0000 (11:43 +0200)]
Support "stop the birds" game UUID

5 days agoReturn FileUrl in achievements
Christian Weiske [Sun, 8 Jun 2025 09:36:08 +0000 (11:36 +0200)]
Return FileUrl in achievements

.. used by Falling Bird

7 days agoImplement returning purchased products
Christian Weiske [Thu, 5 Jun 2025 20:57:25 +0000 (22:57 +0200)]
Implement returning purchased products

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9

7 days agoAdd purchasing in-game products
Christian Weiske [Thu, 5 Jun 2025 20:10:32 +0000 (22:10 +0200)]
Add purchasing in-game products

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9

7 days agoTighten rewrite rule for game UUIDs
Christian Weiske [Thu, 5 Jun 2025 19:25:08 +0000 (21:25 +0200)]
Tighten rewrite rule for game UUIDs

7 days agoList available products for a game
Christian Weiske [Thu, 5 Jun 2025 19:08:40 +0000 (21:08 +0200)]
List available products for a game

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9

3 weeks agoFix duplicate games shown in achievement summary
Christian Weiske [Fri, 23 May 2025 04:06:15 +0000 (06:06 +0200)]
Fix duplicate games shown in achievement summary

3 weeks agoMove achievement summary to correct dir
Christian Weiske [Fri, 23 May 2025 03:59:53 +0000 (05:59 +0200)]
Move achievement summary to correct dir

4 weeks agoPurchases part 3: Return only bought games v0.7.0
Christian Weiske [Thu, 15 May 2025 20:04:30 +0000 (22:04 +0200)]
Purchases part 3: Return only bought games

4 weeks agoPurchases part 2: Correct responses
Christian Weiske [Thu, 15 May 2025 20:03:55 +0000 (22:03 +0200)]
Purchases part 2: Correct responses

5 weeks agoPurchases part 1: Purchase games and store their state
Christian Weiske [Wed, 7 May 2025 20:26:11 +0000 (22:26 +0200)]
Purchases part 1: Purchase games and store their state

connect adjustments missing, just as correct purchase response

2 months agoSend "304 Not Modified" responses to the gamestick if nothing changed v0.6.1
Christian Weiske [Sun, 6 Apr 2025 10:19:07 +0000 (12:19 +0200)]
Send "304 Not Modified" responses to the gamestick if nothing changed

We use the session ID to track the client state, and change it
whenever the server state changes

6 months agoSupport jsessionid for developer validation
Christian Weiske [Tue, 3 Dec 2024 18:50:12 +0000 (19:50 +0100)]
Support jsessionid for developer validation

6 months agoAdd developer code validation
Christian Weiske [Tue, 3 Dec 2024 18:06:39 +0000 (19:06 +0100)]
Add developer code validation

6 months agoFirmware updates only for whitelisted gamesticks
Christian Weiske [Tue, 3 Dec 2024 05:24:15 +0000 (06:24 +0100)]
Firmware updates only for whitelisted gamesticks

6 months agoImplement firmware updates v0.6.0
Christian Weiske [Mon, 2 Dec 2024 21:30:41 +0000 (22:30 +0100)]
Implement firmware updates

6 months agoAdd new avatar image from Joe
Christian Weiske [Thu, 28 Nov 2024 07:57:26 +0000 (08:57 +0100)]
Add new avatar image from Joe

small: http://playjamstickresources.s3.amazonaws.com/graphics/avatar/fe06c1dac47e279fcc8325f88597425b.png
large: http://playjamstickresources.s3.amazonaws.com/graphics/avatar/55ace05c5595b23f8ff671c45c4b69d5.png

7 months agoOnly send 200 OK when activation had no internal error v0.5.1
Christian Weiske [Sun, 10 Nov 2024 16:21:00 +0000 (17:21 +0100)]
Only send 200 OK when activation had no internal error

7 months agoFix activation crash, allow disabling founder flag
Christian Weiske [Sun, 10 Nov 2024 16:19:26 +0000 (17:19 +0100)]
Fix activation crash, allow disabling founder flag

Error was:
> Uncaught PDOException: SQLSTATE[22007]:
> Invalid datetime format: 1366 Incorrect integer value: '' for column `cweiske-gamestick`.`users`.`founderFlag` at row 1
> in /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/UserRepository.php:63
>
> Stack trace:
> #0 /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/UserRepository.php(63): PDOStatement->execute()
> #1 /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/User.php(66): UserRepository->update()
> #2 /home/cweiske/www/gamestick.cweiske.de/pjgsapi/www/activate.php(79): User->update()
> #3 {main}
>
> thrown in /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/UserRepository.php on line 63

7 months agoAdd dummy "downloadedfreegame" endpoint
Christian Weiske [Tue, 5 Nov 2024 17:52:57 +0000 (18:52 +0100)]
Add dummy "downloadedfreegame" endpoint

7 months agoAdd dummy start/end-game analytics endpoints v0.5.0
Christian Weiske [Fri, 25 Oct 2024 14:51:25 +0000 (16:51 +0200)]
Add dummy start/end-game analytics endpoints

7 months agoAdd load state API endpoint
Christian Weiske [Sat, 19 Oct 2024 21:24:27 +0000 (23:24 +0200)]
Add load state API endpoint

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/7

7 months agoAdd save-state API endpoint
Christian Weiske [Sat, 19 Oct 2024 20:52:26 +0000 (22:52 +0200)]
Add save-state API endpoint

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/7

7 months agoAdd top50 leaderboard list v0.4.0
Christian Weiske [Wed, 16 Oct 2024 18:08:50 +0000 (20:08 +0200)]
Add top50 leaderboard list

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/6

7 months agoImplement leaderboard save score API endpoint
Christian Weiske [Wed, 16 Oct 2024 05:03:17 +0000 (07:03 +0200)]
Implement leaderboard save score API endpoint

GET /api/rest/game/xxx/save-score/4627/extend/view.json

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/6

8 months agoAnother profile test command v0.3.0
Christian Weiske [Sat, 12 Oct 2024 17:27:23 +0000 (19:27 +0200)]
Another profile test command

8 months agoMention achievement resizing command
Christian Weiske [Sat, 12 Oct 2024 13:48:39 +0000 (15:48 +0200)]
Mention achievement resizing command

8 months agoAdd per-game achievement list (profile)
Christian Weiske [Sat, 12 Oct 2024 13:47:56 +0000 (15:47 +0200)]
Add per-game achievement list (profile)

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5

8 months agoFix in-game achievement list with bloo kid
Christian Weiske [Fri, 11 Oct 2024 16:09:49 +0000 (18:09 +0200)]
Fix in-game achievement list with bloo kid

8 months agoList game-specific achievements (game startup)
Christian Weiske [Mon, 7 Oct 2024 17:52:55 +0000 (19:52 +0200)]
List game-specific achievements (game startup)

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5

8 months agoList latest achievements for each game (profile view)
Christian Weiske [Mon, 7 Oct 2024 17:18:09 +0000 (19:18 +0200)]
List latest achievements for each game (profile view)

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5

8 months agoMove common error checks into ApiResponses
Christian Weiske [Mon, 7 Oct 2024 16:29:12 +0000 (18:29 +0200)]
Move common error checks into ApiResponses

8 months agoReturn latest achievement in profile info
Christian Weiske [Mon, 7 Oct 2024 15:59:50 +0000 (17:59 +0200)]
Return latest achievement in profile info

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5

8 months agoAllow NULL game id in achievements
Christian Weiske [Mon, 7 Oct 2024 15:38:28 +0000 (17:38 +0200)]
Allow NULL game id in achievements

.. in case we do not have the game achievement list yet

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5

8 months agoStore achievements in the database
Christian Weiske [Mon, 7 Oct 2024 15:30:45 +0000 (17:30 +0200)]
Store achievements in the database

Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5

8 months agoUse datetime without timezone for mysql
Christian Weiske [Mon, 7 Oct 2024 15:19:41 +0000 (17:19 +0200)]
Use datetime without timezone for mysql

8 months agoAllow using a MariaDB database with PHP PDO DSN configuration
Christian Weiske [Thu, 3 Oct 2024 17:29:59 +0000 (19:29 +0200)]
Allow using a MariaDB database with PHP PDO DSN configuration

8 months agoSQL schema file with table structures
Christian Weiske [Wed, 2 Oct 2024 21:29:08 +0000 (23:29 +0200)]
SQL schema file with table structures

8 months agoHow to migrate to the new database structure
Christian Weiske [Sun, 15 Sep 2024 11:08:57 +0000 (13:08 +0200)]
How to migrate to the new database structure

8 months agoAdd "toofast" option to work around race condition bug
Christian Weiske [Sun, 15 Sep 2024 10:05:01 +0000 (12:05 +0200)]
Add "toofast" option to work around race condition bug

8 months agoignore api docs
Christian Weiske [Sun, 15 Sep 2024 10:00:31 +0000 (12:00 +0200)]
ignore api docs

8 months agoReturn correct verification code after setup
Christian Weiske [Sun, 15 Sep 2024 09:53:52 +0000 (11:53 +0200)]
Return correct verification code after setup

8 months agoExplain what player tag is
Christian Weiske [Sun, 15 Sep 2024 09:53:07 +0000 (11:53 +0200)]
Explain what player tag is

8 months agoFix OOBE for new gamesticks
Christian Weiske [Sun, 15 Sep 2024 09:52:46 +0000 (11:52 +0200)]
Fix OOBE for new gamesticks

10 months agoMore test curl commands
Christian Weiske [Fri, 2 Aug 2024 20:00:39 +0000 (22:00 +0200)]
More test curl commands

10 months agoSplit gamestick table into gamesticks and users, adjust code
Christian Weiske [Fri, 2 Aug 2024 20:00:21 +0000 (22:00 +0200)]
Split gamestick table into gamesticks and users, adjust code

10 months agoAdd achievement API workaround for Boulder Dash
Christian Weiske [Wed, 31 Jul 2024 18:16:18 +0000 (20:16 +0200)]
Add achievement API workaround for Boulder Dash

Resolves: https://codeberg.org/gamestick-fans/game-data/issues/12

10 months agoAllow null values for updated_at
Christian Weiske [Fri, 26 Jul 2024 17:50:21 +0000 (19:50 +0200)]
Allow null values for updated_at

Error was:
Uncaught TypeError: Cannot assign null to property Profile::$updated_at of type string
 in /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/ProfileDb.php:35

10 months agoAdd pirate avatar from eyehorus cache file
Christian Weiske [Thu, 25 Jul 2024 04:20:35 +0000 (06:20 +0200)]
Add pirate avatar from eyehorus cache file

13 months agoAdd updated_at column to accounts
Christian Weiske [Mon, 29 Apr 2024 18:17:47 +0000 (20:17 +0200)]
Add updated_at column to accounts

23 months agoNo error in firmware update check when changelog is missing
Christian Weiske [Thu, 6 Jul 2023 06:14:07 +0000 (08:14 +0200)]
No error in firmware update check when changelog is missing

23 months agoignore test, firmware and tofu files
Christian Weiske [Thu, 6 Jul 2023 06:13:48 +0000 (08:13 +0200)]
ignore test, firmware and tofu files

23 months agoAdd list of curl commands to test the api
Christian Weiske [Thu, 6 Jul 2023 06:01:56 +0000 (08:01 +0200)]
Add list of curl commands to test the api

23 months agoIgnore local rebuild script
Christian Weiske [Thu, 6 Jul 2023 05:43:33 +0000 (07:43 +0200)]
Ignore local rebuild script

23 months agoFix HTML
Christian Weiske [Sun, 18 Jun 2023 06:51:49 +0000 (08:51 +0200)]
Fix HTML

23 months agoAdd support for - in user names
Christian Weiske [Sun, 18 Jun 2023 06:51:30 +0000 (08:51 +0200)]
Add support for - in user names

23 months agoEarly firmware update support
Christian Weiske [Sun, 18 Jun 2023 06:51:01 +0000 (08:51 +0200)]
Early firmware update support

2 years agoSupport png avatars
Christian Weiske [Mon, 12 Jun 2023 18:33:46 +0000 (20:33 +0200)]
Support png avatars

2 years agoAlways send UUID for games
Christian Weiske [Mon, 12 Jun 2023 18:17:08 +0000 (20:17 +0200)]
Always send UUID for games

2 years agoSleep a bit to prevent being too fast
Christian Weiske [Mon, 12 Jun 2023 17:39:41 +0000 (19:39 +0200)]
Sleep a bit to prevent being too fast

2 years agoAllow returning null when loading game
Christian Weiske [Mon, 12 Jun 2023 17:39:16 +0000 (19:39 +0200)]
Allow returning null when loading game

.. to prevent loading games that have no releases

2 years agoKeep update check JSON on a single line
Christian Weiske [Sun, 11 Jun 2023 19:31:52 +0000 (21:31 +0200)]
Keep update check JSON on a single line

.. checker will crash otherwise

2 years agoInject translation strings into connect response
Christian Weiske [Tue, 6 Jun 2023 15:11:03 +0000 (17:11 +0200)]
Inject translation strings into connect response

2 years agoAdd all necessary scripts to extract data from connect cache files
Christian Weiske [Tue, 6 Jun 2023 15:01:38 +0000 (17:01 +0200)]
Add all necessary scripts to extract data from connect cache files

2 years agoFix png images
Christian Weiske [Sun, 4 Jun 2023 19:25:21 +0000 (21:25 +0200)]
Fix png images

2 years agoAdd option for OOBE verification code prefix
Christian Weiske [Sun, 4 Jun 2023 12:21:51 +0000 (14:21 +0200)]
Add option for OOBE verification code prefix

2 years agoAutomatically focus code input field
Christian Weiske [Sun, 4 Jun 2023 12:19:19 +0000 (14:19 +0200)]
Automatically focus code input field

2 years agoAdd setupcheck script
Christian Weiske [Sun, 4 Jun 2023 11:33:18 +0000 (13:33 +0200)]
Add setupcheck script

2 years agoMake activation code entry mobile ready
Christian Weiske [Sun, 4 Jun 2023 05:06:37 +0000 (07:06 +0200)]
Make activation code entry mobile ready

2 years agoCorrect resolution of 118x118 for small cweiske avatar image
Christian Weiske [Sun, 4 Jun 2023 10:19:20 +0000 (12:19 +0200)]
Correct resolution of 118x118 for small cweiske avatar image

2 years agoAllow direct access to success page
Christian Weiske [Sun, 4 Jun 2023 08:28:08 +0000 (10:28 +0200)]
Allow direct access to success page

.. to make CSS styling easier: activate.php?code=success

2 years agoFix indentation and close tags in html templates and css
Christian Weiske [Sun, 4 Jun 2023 04:05:40 +0000 (06:05 +0200)]
Fix indentation and close tags in html templates and css

2 years agoEditorconfig for .css
Christian Weiske [Sun, 4 Jun 2023 04:05:10 +0000 (06:05 +0200)]
Editorconfig for .css

2 years agoLayout for activation HTML templates
Sajnaps [Sat, 3 Jun 2023 07:35:14 +0000 (09:35 +0200)]
Layout for activation HTML templates

2 years agoDummy handling for achievements
Christian Weiske [Thu, 1 Jun 2023 19:50:00 +0000 (21:50 +0200)]
Dummy handling for achievements

2 years agoReturn empty achievement list when the game asks
Christian Weiske [Thu, 1 Jun 2023 19:41:31 +0000 (21:41 +0200)]
Return empty achievement list when the game asks

2 years agoAdd cweiske avatars
Christian Weiske [Thu, 1 Jun 2023 19:09:38 +0000 (21:09 +0200)]
Add cweiske avatars

2 years agoremove fixme
Christian Weiske [Thu, 1 Jun 2023 18:48:55 +0000 (20:48 +0200)]
remove fixme

2 years agoReturn real minAge in connect game data
Christian Weiske [Thu, 1 Jun 2023 18:48:37 +0000 (20:48 +0200)]
Return real minAge in connect game data

.. setting age works now

2 years agoImprove age rating response, even if the attributes are not used
Christian Weiske [Thu, 1 Jun 2023 18:27:07 +0000 (20:27 +0200)]
Improve age rating response, even if the attributes are not used

2 years agoHandle minimum age rating changes
Christian Weiske [Thu, 1 Jun 2023 15:20:05 +0000 (17:20 +0200)]
Handle minimum age rating changes

2 years agoPlayer profile API works
Christian Weiske [Thu, 25 May 2023 18:35:50 +0000 (20:35 +0200)]
Player profile API works

2 years agoeditorconfig
Christian Weiske [Wed, 24 May 2023 19:11:22 +0000 (21:11 +0200)]
editorconfig

2 years agoUnstyled browser-based activation process
Christian Weiske [Wed, 24 May 2023 19:11:13 +0000 (21:11 +0200)]
Unstyled browser-based activation process

2 years agoAdd some avatar images
Christian Weiske [Wed, 24 May 2023 19:10:22 +0000 (21:10 +0200)]
Add some avatar images

2 years agoVerify session ID; introduce player profile database
Christian Weiske [Mon, 22 May 2023 19:48:18 +0000 (21:48 +0200)]
Verify session ID; introduce player profile database

Not usable yet because activation is missing

2 years agoHandle start/end game analytics
Christian Weiske [Sun, 21 May 2023 09:21:28 +0000 (11:21 +0200)]
Handle start/end game analytics

2 years agoAlways generate urls property, even when empty
Christian Weiske [Sun, 21 May 2023 09:21:17 +0000 (11:21 +0200)]
Always generate urls property, even when empty

GameStick cannot parse the entry otherwise:
E/Console:ConnectData( 3860): Required JSON Parameter Missing : /body/config/apps/[184]/urls

2 years agoanalytics for non-logged in gamesticks
Christian Weiske [Sat, 20 May 2023 22:31:26 +0000 (00:31 +0200)]
analytics for non-logged in gamesticks

2 years agoUse folder files now that we have two new apks
Christian Weiske [Sat, 20 May 2023 22:12:40 +0000 (00:12 +0200)]
Use folder files now that we have two new apks

2 years agoAdd !! to games without downloads
Christian Weiske [Fri, 12 May 2023 07:31:25 +0000 (09:31 +0200)]
Add !! to games without downloads

2 years agoFix thumbnail sizes
Christian Weiske [Fri, 12 May 2023 07:28:35 +0000 (09:28 +0200)]
Fix thumbnail sizes

2 years agoIgnore analytics
Christian Weiske [Thu, 11 May 2023 20:00:49 +0000 (22:00 +0200)]
Ignore analytics

2 years agoAdd README
Christian Weiske [Thu, 11 May 2023 19:55:45 +0000 (21:55 +0200)]
Add README

2 years agoUpdate check that returns "no firmware update available"
Christian Weiske [Thu, 11 May 2023 19:22:28 +0000 (21:22 +0200)]
Update check that returns "no firmware update available"

2 years agoScript to generate the games menu with all infos
Christian Weiske [Thu, 11 May 2023 19:21:49 +0000 (21:21 +0200)]
Script to generate the games menu with all infos

2 years agoRename connect/stick/stick dummy file
Christian Weiske [Thu, 11 May 2023 18:54:26 +0000 (20:54 +0200)]
Rename connect/stick/stick dummy file

.. so it does not interfere with my dynamic api

2 years agoScript to generate apps cache file
Christian Weiske [Wed, 10 May 2023 16:27:28 +0000 (18:27 +0200)]
Script to generate apps cache file