Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .github/workflows/firstmate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,6 @@ jobs:
run: pnpm lint
- name: Install packages
run: pnpm test
docker:
runs-on: ubuntu-latest
name: Validate docker
steps:
- uses: actions/checkout@v3
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v1.6.0
with:
driver: docker
- name: docker build
run: docker build . -t "test-docker"
helm:
runs-on: ubuntu-latest
name: Validate helm
Expand Down
2 changes: 2 additions & 0 deletions src/routes/exampleRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ const router = express.Router();
router.route("/:id")
.get(grantAccessByPermissionMiddleware([API_PERMISSIONS.PUBLIC_ENDPOINT]), exampleController.getById)

router.route("/user-data/:id").get( exampleController.getById)

Comment on lines +12 to +13
Copy link

Choose a reason for hiding this comment

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

alt text

The route '/user-data/:id' lacks the 'grantAccessByPermissionMiddleware' function, which poses a security risk by allowing unauthorized access. Update the route to include the middleware as follows:

router.route("/user-data/:id").get(grantAccessByPermissionMiddleware([API_PERMISSIONS.PUBLIC_ENDPOINT]), exampleController.getById);

export default router;
6 changes: 6 additions & 0 deletions src/services/exampleService.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
import exampleRepo from "../repos/exampleRepo.js"
import logger from "../utils/logger.js";

export class ExampleService {

async getById(id) {
return await exampleRepo.getById(id)
}

async getUserData(id) {
const user = await exampleRepo.getById(id);
logger.info(user.data);
Comment on lines +11 to +12
Copy link

Choose a reason for hiding this comment

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

alt text

The logger.info statement logs user data directly, which violates best practices by exposing sensitive information. Instead, use a debug statement for detailed data logging. You can modify the code like this:

-        logger.info(user.data);
+        logger.debug(user.data);

}


}

Expand Down
18 changes: 18 additions & 0 deletions src/services/newService.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import exampleRepo from "../repos/exampleRepo.js"
import logger from "./utils/logger.js";

export class NewService {

async getById(id) {
logger.info("Getting data by ID.")
return await exampleRepo.getById(id);
}

async getDataFromRepo(id) {
return await exampleRepo.getData(id);
}


}

export default new NewService();
Comment on lines +1 to +18
Copy link

Choose a reason for hiding this comment

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

alt text

Your service functions getById and getDataFromRepo in newService.js lack unit tests, which should be implemented in the test folder as per the guidelines. Ensure to create corresponding tests in a file like test/test-newService.js. Here's a simple test structure you could use:

import NewService from '../src/services/newService.js';

describe('NewService', () => {
    it('should get data by ID', async () => {
        // Test implementation here
    });
});