Skip to content

swamysurya/CODING-PRACTICE-9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Authentication

Given an app.js file and a database file userData.db consisting of a table user.

Write APIs to perform operations on the table user containing the following columns,

User Table

Column Type
username TEXT
name TEXT
password TEXT
gender TEXT
location TEXT

API 1

Path: /register

Method: POST

Request

{
  "username": "adam_richard",
  "name": "Adam Richard",
  "password": "richard_567",
  "gender": "male",
  "location": "Detroit"
}
  • Scenario 1

    • Description:

      If the username already exists

    • Response

      • Status code
        400
        
      • Status text
        User already exists
        
  • Scenario 2

    • Description:

      If the registrant provides a password with less than 5 characters

    • Response

      • Status code
        400
        
      • Status text
        Password is too short
        
  • Scenario 3

    • Description:

      Successful registration of the registrant

    • Response

      • Status code
        200
        
      • Status text
      User created successfully
      

API 2

Path: /login

Method: POST

Request

{
  "username": "adam_richard",
  "password": "richard_567"
}
  • Scenario 1

    • Description:

      If an unregistered user tries to login

    • Response

      • Status code
        400
        
      • Status text
        Invalid user
        
  • Scenario 2

    • Description:

      If the user provides incorrect password

    • Response

      • Status code
        400
        
      • Status text
        Invalid password
        
  • Scenario 3

    • Description:

      Successful login of the user

    • Response

      • Status code
        200
        
      • Status text
        Login success!
        

API 3

Path: /change-password

Method: PUT

Request

{
  "username": "adam_richard",
  "oldPassword": "richard_567",
  "newPassword": "richard@123"
}
  • Scenario 1

    • Description:

      If the user provides incorrect current password

    • Response

      • Status code
        400
        
      • Status text
        Invalid current password
        
  • Scenario 2

    • Description:

      If the user provides new password with less than 5 characters

    • Response

      • Status code
        400
        
      • Status text
        Password is too short
        
  • Scenario 3

    • Description:

      Successful password update

    • Response

      • Status code
        200
        
      • Status text
        Password updated
        

Use npm install to install the packages.

Export the express instance using the default export syntax.

Use Common JS module syntax.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published