square-authentication 10.0.5__tar.gz → 10.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {square_authentication-10.0.5 → square_authentication-10.0.7}/PKG-INFO +20 -20
  2. {square_authentication-10.0.5 → square_authentication-10.0.7}/pyproject.toml +7 -6
  3. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/main.py +2 -2
  4. square_authentication-10.0.5/square_authentication/routes/utility.py → square_authentication-10.0.7/square_authentication/routes/internal.py +2 -2
  5. square_authentication-10.0.5/.github/workflows/docker-build-publish.yaml +0 -61
  6. square_authentication-10.0.5/.github/workflows/pypi-publish.yaml +0 -34
  7. square_authentication-10.0.5/.github/workflows/pytest.yaml +0 -29
  8. square_authentication-10.0.5/.gitignore +0 -8
  9. square_authentication-10.0.5/CHANGELOG.md +0 -289
  10. square_authentication-10.0.5/Dockerfile +0 -12
  11. square_authentication-10.0.5/LICENSE +0 -674
  12. square_authentication-10.0.5/tests/conftest.py +0 -89
  13. square_authentication-10.0.5/tests/test_1.py +0 -10
  14. square_authentication-10.0.5/tests/test_authentication.py +0 -40
  15. square_authentication-10.0.5/tests/test_delete_user.py +0 -14
  16. square_authentication-10.0.5/tests/test_email_verification.py +0 -11
  17. square_authentication-10.0.5/tests/test_login.py +0 -34
  18. square_authentication-10.0.5/tests/test_profile_management.py +0 -99
  19. square_authentication-10.0.5/tests/test_token_management.py +0 -67
  20. square_authentication-10.0.5/tests/test_update_profile.py +0 -14
  21. square_authentication-10.0.5/tests/test_username.py +0 -111
  22. {square_authentication-10.0.5 → square_authentication-10.0.7}/README.md +0 -0
  23. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/__init__.py +0 -0
  24. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/configuration.py +0 -0
  25. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/data/config.sample.ini +0 -0
  26. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/data/config.testing.sample.ini +0 -0
  27. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/messages.py +0 -0
  28. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/pydantic_models/__init__.py +0 -0
  29. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/pydantic_models/core.py +0 -0
  30. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/pydantic_models/profile.py +0 -0
  31. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/routes/__init__.py +0 -0
  32. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/routes/core.py +0 -0
  33. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/routes/profile.py +0 -0
  34. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/__init__.py +0 -0
  35. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/core.py +0 -0
  36. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/encryption.py +0 -0
  37. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/routes/__init__.py +0 -0
  38. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/routes/core.py +0 -0
  39. /square_authentication-10.0.5/square_authentication/utils/routes/utility.py → /square_authentication-10.0.7/square_authentication/utils/routes/internal.py +0 -0
  40. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/routes/profile.py +0 -0
  41. {square_authentication-10.0.5 → square_authentication-10.0.7}/square_authentication/utils/token.py +0 -0
@@ -1,43 +1,43 @@
1
- Metadata-Version: 2.4
2
- Name: square_authentication
3
- Version: 10.0.5
1
+ Metadata-Version: 2.3
2
+ Name: square-authentication
3
+ Version: 10.0.7
4
4
  Summary: authentication layer for my personal server.
5
- Project-URL: homepage, https://github.com/thepmsquare/square_authentication
5
+ Keywords: authentication,fastapi,server,utilities
6
+ Author: Parth Mukesh Mangtani
6
7
  Author-email: Parth Mukesh Mangtani <thepmsquare@gmail.com>
7
8
  License: GPLv3
8
- License-File: LICENSE
9
- Keywords: authentication,fastapi,server,utilities
10
9
  Classifier: Development Status :: 3 - Alpha
11
- Classifier: Framework :: FastAPI
12
10
  Classifier: Intended Audience :: Developers
13
11
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
14
12
  Classifier: Operating System :: OS Independent
15
13
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3 :: Only
17
14
  Classifier: Programming Language :: Python :: 3.12
18
- Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
19
- Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
15
+ Classifier: Programming Language :: Python :: 3 :: Only
20
16
  Classifier: Topic :: Security
21
- Requires-Python: >=3.12
22
- Requires-Dist: bcrypt>=4.1.2
23
- Requires-Dist: cryptography>=42.0.7
17
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
18
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
19
+ Classifier: Framework :: FastAPI
20
+ Requires-Dist: uvicorn>=0.24.0.post1
24
21
  Requires-Dist: fastapi>=0.104.1
25
- Requires-Dist: google-auth>=2.40.3
26
- Requires-Dist: httpx>=0.27.2
22
+ Requires-Dist: python-multipart>=0.0.6
27
23
  Requires-Dist: pydantic>=2.5.3
24
+ Requires-Dist: bcrypt>=4.1.2
28
25
  Requires-Dist: pyjwt>=2.8.0
29
- Requires-Dist: python-multipart>=0.0.6
30
26
  Requires-Dist: requests>=2.32.3
27
+ Requires-Dist: cryptography>=42.0.7
31
28
  Requires-Dist: square-commons>=3.0.0
29
+ Requires-Dist: square-logger>=3.0.0
32
30
  Requires-Dist: square-database-helper>=2.6.1
33
31
  Requires-Dist: square-database-structure>=2.6.0
34
32
  Requires-Dist: square-file-store-helper>=3.0.0
35
- Requires-Dist: square-logger>=3.0.0
36
- Requires-Dist: uvicorn>=0.24.0.post1
33
+ Requires-Dist: httpx>=0.27.2
34
+ Requires-Dist: google-auth>=2.40.3
35
+ Requires-Dist: pytest>=8.3.3 ; extra == 'all'
36
+ Requires-Dist: pytest>=8.3.3 ; extra == 'dev'
37
+ Requires-Python: >=3.12
38
+ Project-URL: homepage, https://github.com/thepmsquare/square_authentication
37
39
  Provides-Extra: all
38
- Requires-Dist: pytest>=8.3.3; extra == 'all'
39
40
  Provides-Extra: dev
40
- Requires-Dist: pytest>=8.3.3; extra == 'dev'
41
41
  Description-Content-Type: text/markdown
42
42
 
43
43
  # square_authentication
@@ -1,10 +1,10 @@
1
1
  [build-system]
2
- requires = ["hatchling"]
3
- build-backend = "hatchling.build"
2
+ requires = ["uv-build"]
3
+ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "square_authentication"
7
- version = "10.0.5"
7
+ version = "10.0.7"
8
8
  description = "authentication layer for my personal server."
9
9
  readme = "README.md"
10
10
  readme-content-type = "text/markdown"
@@ -47,6 +47,7 @@ classifiers = [
47
47
  "Framework :: FastAPI"
48
48
  ]
49
49
 
50
- [tool.hatch.build.targets.wheel]
51
- packages = ["square_authentication"]
52
- include = ["square_authentication/data/*"]
50
+ [tool.uv.build-backend]
51
+ module-name = "square_authentication"
52
+ module-root = ""
53
+ source-include = ["square_authentication/data/*"]
@@ -15,7 +15,7 @@ from square_authentication.configuration import (
15
15
  config_str_ssl_crt_file_path,
16
16
  config_list_allow_origins,
17
17
  )
18
- from square_authentication.routes import core, utility, profile
18
+ from square_authentication.routes import core, internal, profile
19
19
 
20
20
  app = FastAPI()
21
21
 
@@ -28,7 +28,7 @@ app.add_middleware(
28
28
  )
29
29
 
30
30
  app.include_router(core.router)
31
- app.include_router(utility.router)
31
+ app.include_router(internal.router)
32
32
  app.include_router(profile.router)
33
33
 
34
34
 
@@ -4,10 +4,10 @@ from square_commons import get_api_output_in_standard_format
4
4
 
5
5
  from square_authentication.configuration import global_object_square_logger
6
6
  from square_authentication.messages import messages
7
- from square_authentication.utils.routes.utility import util_get_text_hash_v0
7
+ from square_authentication.utils.routes.internal import util_get_text_hash_v0
8
8
 
9
9
  router = APIRouter(
10
- tags=["utility"],
10
+ tags=["internal"],
11
11
  )
12
12
 
13
13
 
@@ -1,61 +0,0 @@
1
- name: Build and Deploy Docker Image
2
-
3
- on:
4
- release:
5
- types: [ published ]
6
- workflow_dispatch:
7
- inputs:
8
- release_tag:
9
- description: "Release Tag"
10
- required: true
11
- is_latest:
12
- description: "Tag as latest"
13
- required: true
14
- type: boolean
15
-
16
- jobs:
17
- build:
18
- runs-on: ubuntu-latest
19
-
20
- steps:
21
- - name: Checkout code
22
- uses: actions/checkout@v4
23
-
24
- - name: Set Release Tag
25
- id: set-tag
26
- run: |
27
- if [[ "${{ github.event_name }}" == "release" ]]; then
28
- echo "Release triggered with tag: ${{ github.event.release.tag_name }}"
29
- echo "RELEASE_TAG=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
30
- # Automatically tag as latest during a release event if needed
31
- LATEST_TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r .tag_name)
32
- if [[ "${{ github.event.release.tag_name }}" == "$LATEST_TAG" ]]; then
33
- echo "IS_LATEST=true" >> $GITHUB_ENV
34
- else
35
- echo "IS_LATEST=false" >> $GITHUB_ENV
36
- fi
37
- else
38
- echo "Manual trigger with user input tag: ${{ github.event.inputs.release_tag }}"
39
- echo "RELEASE_TAG=${{ github.event.inputs.release_tag }}" >> $GITHUB_ENV
40
- echo "IS_LATEST=${{ github.event.inputs.is_latest }}" >> $GITHUB_ENV
41
- fi
42
-
43
- - name: Set up Docker Buildx
44
- uses: docker/setup-buildx-action@v3.3.0
45
-
46
- - name: Set up QEMU
47
- uses: docker/setup-qemu-action@v3
48
-
49
- - name: Log in to Docker Hub
50
- uses: docker/login-action@v3
51
- with:
52
- username: ${{ secrets.DOCKERHUB_USERNAME }}
53
- password: ${{ secrets.DOCKERHUB_TOKEN }}
54
-
55
- - name: Build and push multi-arch Docker image
56
- run: |
57
- docker buildx build \
58
- --platform linux/amd64,linux/arm64 \
59
- -t ${{ secrets.DOCKERHUB_USERNAME }}/$(basename ${{ github.repository }}):${{ env.RELEASE_TAG }} \
60
- $([ "${{ env.IS_LATEST }}" == "true" ] && echo "-t ${{ secrets.DOCKERHUB_USERNAME }}/$(basename ${{ github.repository }}):latest") \
61
- --push .
@@ -1,34 +0,0 @@
1
- name: Publish to PyPI
2
-
3
- on:
4
- release:
5
- types:
6
- - created
7
- workflow_dispatch:
8
-
9
- jobs:
10
- build:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - name: Checkout code
15
- uses: actions/checkout@v4
16
-
17
- - name: Set up Python
18
- uses: actions/setup-python@v5
19
- with:
20
- python-version: 3.12
21
-
22
- - name: Install dependencies
23
- run: |
24
- python -m pip install --upgrade pip
25
- python -m pip install build twine
26
-
27
- - name: Build and publish
28
- run: |
29
- python -m build
30
-
31
- - name: Publish package to PyPI
32
- uses: pypa/gh-action-pypi-publish@release/v1
33
- with:
34
- password: ${{ secrets.PYPI_TOKEN }}
@@ -1,29 +0,0 @@
1
- name: Run Tests
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- workflow_dispatch:
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- env:
13
- DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
14
- steps:
15
- - name: Checkout code
16
- uses: actions/checkout@v4
17
-
18
- - name: Set up Python
19
- uses: actions/setup-python@v5
20
- with:
21
- python-version: 3.12
22
-
23
- - name: Install dependencies
24
- run: |
25
- python -m pip install --upgrade pip
26
- pip install .["all"]
27
-
28
- - name: Run tests
29
- run: pytest
@@ -1,8 +0,0 @@
1
- __pycache__/
2
- .idea/
3
- build/
4
- *.egg-info/
5
- logs
6
- temp
7
- config.ini
8
- config.testing.ini
@@ -1,289 +0,0 @@
1
- # changelog
2
-
3
- ## v10.0.5
4
-
5
- - dependencies
6
- - create all and dev sections for pytest dependencies.
7
-
8
- ## v10.0.4
9
-
10
- - remove setup.py and switch to pyproject.toml
11
-
12
- ## v10.0.3
13
-
14
- - env
15
- - SQUARE_LOGGER -> FORMATTER_CHOICE + ENABLE_REDACTION
16
- - dependencies
17
- - square_logger>=3.0.0.
18
-
19
- ## v10.0.2
20
-
21
- - move application logic from route to utils.
22
-
23
- ## v10.0.1
24
-
25
- - core
26
- - add username in get_user_details_v0 output.
27
-
28
- ## v10.0.0
29
-
30
- - core
31
- - **breaking change**: logout_apps_v0 is now a POST method instead of DELETE.
32
- - docs
33
- - add GNU license v3.0.
34
- - update README.md.
35
- - move CHANGELOG to a separate file.
36
- - tests
37
- - fix bugs in test cases.
38
- - dependencies
39
- - square_database_structure >= 2.6.0.
40
- - square_database_helper>=2.6.1.
41
-
42
- ## v9.0.1
43
-
44
- - env
45
- - add RESEND_COOL_DOWN_TIME_FOR_EMAIL_VERIFICATION_CODE_IN_SECONDS and
46
- RESEND_COOL_DOWN_TIME_FOR_EMAIL_PASSWORD_RESET_CODE_IN_SECONDS in LOGIC section.
47
- - profile
48
- - add validation for email verification code already sent in send_verification_email_v0.
49
- - add cooldown_reset_at in send_verification_email_v0 output.
50
- - core
51
- - add validation for email password reset code already sent in send_reset_password_email_v0.
52
- - add cooldown_reset_at in send_reset_password_email_v0 output.
53
-
54
- ## v9.0.0
55
-
56
- - core
57
- - **breaking change**: new mandatory parameter `app_id` in validate_and_get_payload_from_token_v0.
58
-
59
- ## v8.0.2
60
-
61
- - core
62
- - add refresh_token_expiry_time in output for reset_password_and_login_using_backup_code_v0 and
63
- reset_password_and_login_using_reset_email_code_v0.
64
-
65
- ## v8.0.1
66
-
67
- - core
68
- - add make recovery_methods_to_add and recovery_methods_to_remove parameters optional in
69
- update_user_recovery_methods_v0.
70
-
71
- ## v8.0.0
72
-
73
- - env
74
- - add GOOGLE section and GOOGLE_AUTH_PLATFORM_CLIENT_ID variable.
75
- - add LOGIC section with NUMBER_OF_RECOVERY_CODES, EXPIRY_TIME_FOR_EMAIL_VERIFICATION_CODE_IN_SECONDS,
76
- NUMBER_OF_DIGITS_IN_EMAIL_VERIFICATION_CODE, EXPIRY_TIME_FOR_EMAIL_PASSWORD_RESET_CODE_IN_SECONDS,
77
- NUMBER_OF_DIGITS_IN_EMAIL_PASSWORD_RESET_CODE variables.
78
- - dependencies
79
- - add google-auth>=2.40.3.
80
- - update square_commons to >=3.0.0.
81
- - core
82
- - add reset_password_and_login_using_reset_email_code_v0.
83
- - **breaking change**: remove app_id from send_reset_password_email_v0.
84
- - implement deletion of existing backup codes before generating new ones (generate_account_backup_codes_v0).
85
- - implement deletion of existing backup codes before removing recovery method (update_user_recovery_methods_v0).
86
- - implement logout_other_sessions in update_password_v0, reset_password_and_login_using_backup_code_v0 and
87
- reset_password_and_login_using_reset_email_code_v0
88
- - in update_password_v0, it will log out all other sessions except the current one if valid (optional)
89
- refresh_token is passed in.
90
- - add register_login_google_v0, **finally**.
91
- - add validation in update_password_v0, reset_password_and_login_using_backup_code_v0, send_reset_password_email_v0,
92
- reset_password_and_login_using_reset_email_code_v0 to check if user has credentials and has self as auth provider.
93
- - remove profile_photo from file_store when user is deleted in delete_user_v0.
94
- - utils
95
- - add new core file with generate_default_username_for_google_users function.
96
- - tests
97
- - add test_login_fail_v0.
98
-
99
- ## v7.0.0
100
-
101
- - internal support for UserAuthProvider.
102
- - internal support for username shifted from UserProfile to User.
103
- - internal support for phone number country code in UserProfile.
104
- - core
105
- - register_username_v0 fixed to account for changes mentioned above and creates empty profile.
106
- - login_username_v0 fixed to account for changes mentioned above.
107
- - update_username_v0 fixed to account for changes mentioned above.
108
- - **breaking change**: delete_user_v0 is now a POST method instead of DELETE.
109
- - add generate_account_backup_codes_v0.
110
- - add reset_password_and_login_using_backup_code_v0.
111
- - add validation for email verification when adding email as recovery method in update_user_recovery_methods_v0.
112
- - add send_reset_password_email_v0.
113
- - profile
114
- - add update_profile_details_v0.
115
- - add send_verification_email_v0.
116
- - add validate_email_verification_code_v0.
117
- - tests
118
- - add test cases and fixtures for login_username_v0.
119
- - add test cases and fixtures for delete_user_v0.
120
- - add test cases and fixtures for update_profile_details_v0.
121
- - env
122
- - add EMAIL section and MAIL_GUN_API_KEY variable.
123
-
124
- ## v6.2.2
125
-
126
- - remove config.ini and config.testing.ini from version control.
127
-
128
- ## v6.2.1
129
-
130
- - core
131
- - tweak validation for username in register_username_v0 and update_username_v0.
132
-
133
- ## v6.2.0
134
-
135
- - core
136
- - add update_user_recovery_methods_v0.
137
-
138
- ## v6.1.0
139
-
140
- - add validation to username in register_username_v0 and update_username_v0.
141
- - add test cases for register_username_v0.
142
-
143
- ## v6.0.5
144
-
145
- - env
146
- - add ALLOW_ORIGINS
147
-
148
- ## v6.0.4
149
-
150
- - mock ini file for pytest.
151
-
152
- ## v6.0.3
153
-
154
- - make profile photo upload optional in update_profile_photo/v0, to enable users to remove their profile photo.
155
-
156
- ## v6.0.2
157
-
158
- - bump square_file_store_helper to >=3.0.0.
159
- - use upload_file_using_tuple_v0 instead of upload_file_using_path_v0 in update_profile_photo/v0.
160
-
161
- ## v6.0.1
162
-
163
- - delete previous profile photo from file store after successfully updating profile photo.
164
-
165
- ## v6.0.0
166
-
167
- - add profile details in get_user_details_v0 instead of credentials keyword.
168
-
169
- ## v5.2.0
170
-
171
- - add temp folder to .gitignore.
172
- - add square_file_store_helper as a dependency.
173
- - config
174
- - add config section for file store helper.
175
- - initialise file store helper and database helper in config.py
176
- - add profile router
177
- - profile
178
- - add update_profile_photo/v0
179
- - update messages.
180
-
181
- ## v5.1.5
182
-
183
- - bump square_logger to >=2.0.0.
184
-
185
- ## v5.1.4
186
-
187
- - re bug fix v5.1.3
188
-
189
- ## v5.1.3
190
-
191
- - bugfix in login_username/v0 (getting creds from correct table).
192
-
193
- ## v5.1.2
194
-
195
- - bump square_database_structure>=2.3.1.
196
- - change logic to read username from profile instead of credentials table.
197
-
198
- ## v5.1.1
199
-
200
- - add logger decorator in all functions.
201
- - add error logs in all endpoints.
202
-
203
- ## v5.1.0
204
-
205
- - Core
206
- - add logout/apps/v0.
207
- - add logout/all/v0.
208
-
209
- ## v5.0.1
210
-
211
- - fix typo in return value of get_user_details_v0.
212
-
213
- ## v5.0.0
214
-
215
- - change get_user_details_v0 to return app name instead of app ids.
216
-
217
- ## v4.5.1
218
-
219
- - fix auto docker image build github action.
220
-
221
- ## v4.5.0
222
-
223
- - add pytest dependency and dummy test.
224
- - add https dependency.
225
- - github actions for CI/CD for testing and auto build and push.
226
-
227
- ## v4.4.0
228
-
229
- - core
230
- - add refresh_token_expiry_time in register_username_v0, login_username_v0.
231
-
232
- ## v4.3.0
233
-
234
- - set allow_credentials=True.
235
-
236
- ## v4.2.1
237
-
238
- - fix output format in validate_and_get_payload_from_token/v0.
239
- - add db check refresh token validation in validate_and_get_payload_from_token/v0.
240
-
241
- ## v4.2.0
242
-
243
- - add validate_and_get_payload_from_token/v0 in core.
244
-
245
- ## v4.1.0
246
-
247
- - add get_text_hash/v0 in utils.
248
-
249
- ## v4.0.1
250
-
251
- - bugfix in pydantic model import.
252
-
253
- ## v4.0.0
254
-
255
- - /login_username/v0 is now POST method.
256
- - new flag in /login_username/v0 assign_app_id_if_missing.
257
- - bugfix: /get_user_details/v0 now only returns number of active sessions.
258
-
259
- ## v3.0.0
260
-
261
- - added new endpoints
262
- - /update_username/v0
263
- - /delete_user/v0
264
- - /update_password/v0
265
- - move data in password related endpoints to request body from params.
266
- - /register_username/v0 now takes in app_id as optional parameter to assign user to that app and create session for it.
267
- - /generate_access_token/v0 now only needs refresh token (removed validation).
268
- - /logout/v0 now only needs refresh token (removed validation).
269
- - /update_user_app_ids/v0 now only updates ids for self (user). added access token as input param and removed user_id.
270
- - /get_user_app_ids/v0 is now /get_user_details/v0 with access token as the only input param.
271
-
272
- ## v2.0.0
273
-
274
- - authentication module needs to be used across applications so
275
- - register_username: will not create sessions and therefore will not auto login.
276
- - login: added validation if app is assigned to user before assigning it and added app_id in session row.
277
- - logout: added app_id as new parameter and validation for that.
278
- - generate_access_token: added app_id as new parameter and validation for that.
279
- - added 2 new endpoints
280
- - get user app ids: **access token validation pending**.
281
- - change user app ids: **access token validation pending**.
282
- - add versions for all endpoint paths.
283
- - make it compatible with square_database_helper 2.x.
284
- - username in database will always be lowercase.
285
- - standardise output formats for all api.
286
-
287
- ## v1.0.0
288
-
289
- - initial implementation.
@@ -1,12 +0,0 @@
1
- FROM python:3.12-slim
2
-
3
- COPY . /app
4
-
5
- WORKDIR /app
6
-
7
- RUN pip install .
8
-
9
- CMD ["python3", "/usr/local/lib/python3.12/site-packages/square_authentication/main.py"]
10
-
11
- # Uncomment for debugging
12
- # CMD ["bash", "-c", "while true; do sleep 60; done"]