Skip to content

Commit

Permalink
Update password max length
Browse files Browse the repository at this point in the history
On my machine, the command provided to generate a password (using
python3 specifically), results in a 44 character string, while the
maximum allowable character length in the model is 40, causing a
conflict. This PR updates the max_legnth for all password model
definitions.

```
MacBook-Pro-3:full-stack-fastapi-template michaelalvarino$ python3 -c "import secrets; print(secrets.token_urlsafe(32))" | wc -c
      44
MacBook-Pro-3:full-stack-fastapi-template michaelalvarino$ python3 -c "import secrets; print(secrets.token_urlsafe(32))" | wc -c
      44
MacBook-Pro-3:full-stack-fastapi-template michaelalvarino$ python3 -c "import secrets; print(secrets.token_urlsafe(32))" | wc -c
      44
```
  • Loading branch information
michaelAlvarino committed Dec 11, 2024
1 parent 88c83cc commit 7198fd4
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions backend/app/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ class UserBase(SQLModel):

# Properties to receive via API on creation
class UserCreate(UserBase):
password: str = Field(min_length=8, max_length=40)
password: str = Field(min_length=8, max_length=45)


class UserRegister(SQLModel):
email: EmailStr = Field(max_length=255)
password: str = Field(min_length=8, max_length=40)
password: str = Field(min_length=8, max_length=45)
full_name: str | None = Field(default=None, max_length=255)


# Properties to receive via API on update, all are optional
class UserUpdate(UserBase):
email: EmailStr | None = Field(default=None, max_length=255) # type: ignore
password: str | None = Field(default=None, min_length=8, max_length=40)
password: str | None = Field(default=None, min_length=8, max_length=45)


class UserUpdateMe(SQLModel):
Expand All @@ -35,8 +35,8 @@ class UserUpdateMe(SQLModel):


class UpdatePassword(SQLModel):
current_password: str = Field(min_length=8, max_length=40)
new_password: str = Field(min_length=8, max_length=40)
current_password: str = Field(min_length=8, max_length=45)
new_password: str = Field(min_length=8, max_length=45)


# Database model, database table inferred from class name
Expand Down Expand Up @@ -111,4 +111,4 @@ class TokenPayload(SQLModel):

class NewPassword(SQLModel):
token: str
new_password: str = Field(min_length=8, max_length=40)
new_password: str = Field(min_length=8, max_length=45)

0 comments on commit 7198fd4

Please sign in to comment.