Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: v0.40.0 #133

Merged
merged 123 commits into from
Dec 30, 2023
Merged

release: v0.40.0 #133

merged 123 commits into from
Dec 30, 2023

Conversation

PedroChaparro and others added 30 commits September 20, 2023 22:20
* chore: PostgreSQL connection and migrations

* chore: Makefile to create and remove packages

* feat: Endpoint to register students

* test(accounts): Register student

* ci: Update pipelines commands
* build: Update Dockerfile

* build(cd): Add pipeline to release development container
* refactor(accounts): Remove roles table

* feat(accounts): Check students email is institutional

* feat(accounts): Validate password satisfy min secure criteria
* feat(accounts): Endpoint to register admins

* test(accounts): Add tests for the new endpoint
* feat(session): Login endpoint

* feat(session): JWT support

* refactor(session): Send jwt as cookie

* test(session): Add tests for the new endpoint
* chore(session): Rename session cookie

* fix(accounts): Prevent non-admin accounts to register admins

* test: Update tests

* chore: Update makefile

* ci: Remove package pipeline
* feat(accounts): Create endpoint to register teachers

* test(accounts): Update tests
* feat(session): Add whoami endpoint

* test(session): Add tests for the whoami endpoint
* feat(session): Create logout endpoint

* test: Register a default admin from migrations

* test(session): Add logout tests

* refactor(tests): Use infrastructure functions to setup test endpoints
* feat(accounts): Add created timestamp to users table

* refactor(accounts): Rename user entity

* feat(accounts): Create endpoint to list admin accounts

* test(accounts): Endpoint to list admins
PedroChaparro and others added 26 commits November 28, 2023 15:29
* feat(labs): Add endpoint to get laboratory by its UUID

* docs(http): Add new endpoint to the bruno collection

* refactor(labs): Add a validation and allow null values in labs' rubric field

* test(labs): Add test to ensure teachers can get rubric details

* test(labs): Add test to ensure teachers can update laboratories details

* refactor(labs): Hide course UUID field

The field is not necessary

* docs(openapi): Add new endpoint to spec
* docs(openapi): Update spec

* docs(http): Update bruno collection

* feat(courses): Add new endpoint to get laboratories created in a course

* test(courses): Get course laboratories

Add test cases to ensure teachers and students can get laboratories created in a course
* refactor(db): Create blocks index table to ease blocks order management

* docs(openapi): Update specification

* feat(labs): Add endpoint to create empty markdown block

* docs(http): Update bruno collection

* test(labs): Add new test cases
* feat: Initialize blocks package

* feat(blocks): Create endpoint to update markdown block content

* docs(http): Update bruno collection

* test(blocks): Add new test cases

Add tests to ensure teachers can update markdown blocks content
* docs(openapi): Add endpoints related to `languages` and `submissions`
* refactor(db): Create  `archives` table

* chore(lang): Create `languages` package

* feat(db): Insert Java to the `languages` table

* feat(lang): Add endpoint to list supported languages

* test(lang): Add test to ensure languages are listed correctly
* feat: Add `static-files-microservice` to `docker-compose` file

* feat(lang): Add endpoint to download language template

* test(lang): Add test to ensure language template is downloaded correctly
* feat(blocks): Add method to the `BlocksRepository` to save test archive

Send test archive to the static files microservice

* refactor(lang): Update languages repository

* feat(labs): Create method in the `LaboratoriesRepository` to create `TestBlocks`

Save test block metadata / information in the database.

* feat(labs): Add endpoint to create new test blocks

* docs(openapi): Update spec

* chore: Add basic java test archive

Initial sample with java tests. Just to test the endpoint to create new test blocks.

* test(blocks): Add test to ensure teachers can create test blocks

* docs(http): Add `insomnia` collection
* refactor(blocks): Change endpoint verb

Use PATCH instead of PUT since the update is partial

* refactor(blocks): Use a single file for all the domain errors

* refactor: Create new utility function to validate multipart form headers

* fix: Read raw static files microservice error response

Read raw bytes before un-marshalling to JSON

* feat(blocks): Add new methods and refactor blocks repository

* refactor(labs): Use utility function to avoid repeating code

* refactor: Rename generic domain error

* feat(blocks): Add endpoint to rename test blocks

* docs(openapi): Add blocks prefix to blocks endpoints

* docs(http): Update insomnia collection

* test: Add test to ensure teachers can update test blocks

Also do some refactors and create some helper functions
* refactor(courses): Use a single file for all domain errors

* docs(openapi): Update spec

* feat(courses): Add new endpoint to update the status of enrolled students

Toggle students' status to true or false

* feat(courses): Sort students by status and full name

* test(courses): Add test to ensure teachers can update students' status
* refactor(accounts): Use a single file for all domain errors

* refactor(accounts): Use a single file for all requests schemas

* refactor(accounts): Remove http prefix from controllers and routes files

* refactor(courses): Update files names

* chore(labs): Track responses folder

Add an empty .gitkeep file to track the folder

* refactor(lang): Update files names and track requests folder

* refactor(rubrics): Use a single file for all domain errors

* refactor(rubrics): Remove http prefix from controllers and routes files

* refactor(session): Use a single file for all dtos

* refactor(session): Use a single file for all domain errors

* refactor(session): Remove http prefix from controllers and routes files

* refactor(session): Use a single file for all requests and track responses folder

* refactor: Replace snake case imports with camel case

Use golang naming convention
* feat(blocks): Add endpoint to delete markdown block

* test(blocks): Add test to ensure teachers can delete markdown blocks
* feat(db): Create new table to save archives deletion errors

* feat(blocks): Create new endpoint to delete test blocks

* test(blocks): Add test to ensure teachers can delete test blocks
@PedroChaparro PedroChaparro added the cd 🚀 Continuous deployment label Dec 30, 2023
@PedroChaparro PedroChaparro self-assigned this Dec 30, 2023
@PedroChaparro PedroChaparro merged commit ec248f3 into main Dec 30, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cd 🚀 Continuous deployment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant