Module project, commit, submission
All checks were successful
Build and Release / release (push) Successful in 1m15s

This commit is contained in:
2026-04-26 16:31:03 +07:00
parent ac90236022
commit 6918a100fc
60 changed files with 5957 additions and 1020 deletions

View File

@@ -8,9 +8,55 @@ import (
"github.com/gofiber/fiber/v3"
)
func ProjectRoutes(app *fiber.App, controller *controllers.ProjectController, userRepo repositories.UserRepository) {
func ProjectRoutes(
app *fiber.App,
controller *controllers.ProjectController,
commitController *controllers.CommitController,
userRepo repositories.UserRepository,
) {
route := app.Group("/projects")
route.Post(
"/:id/commits",
middlewares.JwtAccess(userRepo),
commitController.CreateCommit,
)
route.Post(
"/:id/commits/restore",
middlewares.JwtAccess(userRepo),
commitController.RestoreCommit,
)
route.Get(
"/:id/commits",
commitController.GetProjectCommits,
)
route.Post(
"/:id/members",
middlewares.JwtAccess(userRepo),
controller.AddMember,
)
route.Put(
"/:id/members/:userId",
middlewares.JwtAccess(userRepo),
controller.UpdateMemberRole,
)
route.Delete(
"/:id/members/:userId",
middlewares.JwtAccess(userRepo),
controller.RemoveMember,
)
route.Put(
"/:id/change-owner",
middlewares.JwtAccess(userRepo),
controller.ChangeOwner,
)
route.Get(
"/:id",
controller.GetProjectByID,

View File

@@ -0,0 +1,51 @@
package routes
import (
"history-api/internal/controllers"
"history-api/internal/middlewares"
"history-api/internal/repositories"
"history-api/pkg/constants"
"github.com/gofiber/fiber/v3"
)
func SubmissionRoutes(
app *fiber.App,
controller controllers.SubmissionController,
userRepo repositories.UserRepository,
) {
route := app.Group("/submissions")
route.Patch(
"/:id/status",
middlewares.JwtAccess(userRepo),
middlewares.RequireAnyRole(constants.RoleTypeAdmin, constants.RoleTypeMod),
controller.UpdateSubmissionStatus,
)
route.Get(
"/:id",
middlewares.JwtAccess(userRepo),
controller.GetSubmissionByID,
)
route.Delete(
"/:id",
middlewares.JwtAccess(userRepo),
controller.DeleteSubmission,
)
route.Post(
"/",
middlewares.JwtAccess(userRepo),
controller.CreateSubmission,
)
route.Get(
"/",
middlewares.JwtAccess(userRepo),
middlewares.RequireAnyRole(constants.RoleTypeAdmin, constants.RoleTypeMod),
controller.SearchSubmissions,
)
}