Fast 48hrs!! Topcoder - Improvement For Billing Account Service

Register
Submit a solution
The challenge is finished.

Challenge Overview

For this challenge, we'd like to make some improvement for billing account services (https://github.com/topcoder-platform/tc-billing-account-service) (use dev branch)

1. Add offset and limit parameters for GET /clients and GET /me/billing-accounts, and GET /billing-accounts/{billingAccountId}/users

API - GET /billing-accounts already has similar implementation for your reference.

2. Add filtering for GET /clients

It should support filtering  on name (partial match), status, start date, and end date, please check filtering for which GET /billing-accounts is already implemented. 

3. Change for creating billing account api

- Remove the customerNumber field
- Add a new clientId field
- Add support for budgetAmount field
- Before creating the billing account, it should first validate the exisitence of client
- After creating the billing account, it should add a new record in client_project table for linking client and billing account, as we are assuming  1-1 mapping for client and billing account

4. Change for updating billing account api
- Remove the customerNumber field
- Add a new clientId field
- Before updating the billing account, it should first validate the exisitence of client
- After updating the billing account, it should remove the old record in client_project table and add a new record in client_project table for linking client and billing account, as we are assuming  1-1 mapping for client and billing account

5. For clients related api, please add support customerNumber for creation, update and retrieval.

6. Please update the swagger.yaml to reflect the latest changes.

7. Tests should be properly updated

8. Please update the postman scripts for easily testing.
 

Final Submission Guidelines

- Code changes for the requiremensts
- Verification Steps 
- Updated Postman scripts

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056752