Skip to content

Conversation

@ananyaa06
Copy link
Collaborator

@ananyaa06 ananyaa06 commented Oct 27, 2025

Essentially, I added an additional "identity" field to uniquely identify Sites that is generated each time a new site is created
Uploading Database.png…

ananyaa06 added 22 commits June 28, 2025 22:34
Add two new API endpoints for site management:
- /api/secure-site with POST, PUT, and DELETE operations for authenticated site management
- /api/public-sites with GET operation to retrieve public sites list

Regenerated schema.d.ts using make build-typescript to include TypeScript definitions
for the new endpoints and their request/response types.
add mongoose schema to represent Site. includes support for required fields such as name, coordinates, status, address, and cell_id, as well as optional fields like color and boundary with validation.
- Add POST /api/secure-site to create new sites
- Add PUT /api/secure-site to update existing sites
- Add DELETE /api/secure-site to remove sites
Routes were missing leading slash causing 404 errors for /api/secure-site
Create /api/public-sites GET route that returns list of sites
Apply suggested changes from code review
Update public sites endpoint name to /api/sites
- Create secure-site.test.ts to test all the functions in secure-site.ts with exhaustive cases
- Update package.json to include an "npm run test" script to run tests
- Change secure-site.ts to use event handlers for ease of testing
@johnnzhou
Copy link
Collaborator

One thing, use a more descriptive branch name for each PR. This will help tell the work quickly :)


// Generate identity using SHA256 hash
const skpk = siteData.name;
const identity = crypto.createHash('sha256').update(skpk).digest('hex');
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the identity is generated from skpk

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just copied what was being done for User, I changed it to reflect the name correctly.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is correct. Site identity should not have any association with private key

@johnnzhou
Copy link
Collaborator

Can you also briefly describe the new design in the comment section?

@johnnzhou
Copy link
Collaborator

Can you move this to the description section at the top?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants