feat: add article approval
This commit is contained in:
parent
6b8ab00e3b
commit
f24cf7dcc4
|
|
@ -21,6 +21,8 @@ type Articles struct {
|
||||||
ViewCount *int `json:"view_count" gorm:"type:int4;default:0"`
|
ViewCount *int `json:"view_count" gorm:"type:int4;default:0"`
|
||||||
StatusId *int `json:"status_id" gorm:"type:int4"`
|
StatusId *int `json:"status_id" gorm:"type:int4"`
|
||||||
OldId *uint `json:"old_id" gorm:"type:int4"`
|
OldId *uint `json:"old_id" gorm:"type:int4"`
|
||||||
|
NeedApprovalFrom *int `json:"need_approval_from" gorm:"type:int4"`
|
||||||
|
HasApprovedBy *string `json:"has_approved_by" gorm:"type:varchar"`
|
||||||
IsPublish *bool `json:"is_publish" gorm:"type:bool;default:false"`
|
IsPublish *bool `json:"is_publish" gorm:"type:bool;default:false"`
|
||||||
PublishedAt *time.Time `json:"published_at" gorm:"type:timestamp"`
|
PublishedAt *time.Time `json:"published_at" gorm:"type:timestamp"`
|
||||||
IsDraft *bool `json:"is_draft" gorm:"type:bool;default:false"`
|
IsDraft *bool `json:"is_draft" gorm:"type:bool;default:false"`
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,7 @@ func Models() []interface{} {
|
||||||
entity.ActivityLogTypes{},
|
entity.ActivityLogTypes{},
|
||||||
entity.Articles{},
|
entity.Articles{},
|
||||||
entity.ArticleCategories{},
|
entity.ArticleCategories{},
|
||||||
|
entity.ArticleApprovals{},
|
||||||
article_category_details.ArticleCategoryDetails{},
|
article_category_details.ArticleCategoryDetails{},
|
||||||
entity.ArticleFiles{},
|
entity.ArticleFiles{},
|
||||||
entity.ArticleComments{},
|
entity.ArticleComments{},
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ func (_i *articlesRepository) Create(articles *entity.Articles) (articleReturn *
|
||||||
func (_i *articlesRepository) Update(id uint, articles *entity.Articles) (err error) {
|
func (_i *articlesRepository) Update(id uint, articles *entity.Articles) (err error) {
|
||||||
return _i.DB.DB.Model(&entity.Articles{}).
|
return _i.DB.DB.Model(&entity.Articles{}).
|
||||||
Where(&entity.Articles{ID: id}).
|
Where(&entity.Articles{ID: id}).
|
||||||
Updates(articles).Error
|
Save(articles).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_i *articlesRepository) Delete(id uint) error {
|
func (_i *articlesRepository) Delete(id uint) error {
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"github.com/minio/minio-go/v7"
|
"github.com/minio/minio-go/v7"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
"go-humas-be/app/database/entity"
|
"go-humas-be/app/database/entity"
|
||||||
|
articleApprovalsRepository "go-humas-be/app/module/article_approvals/repository"
|
||||||
articleCategoriesRepository "go-humas-be/app/module/article_categories/repository"
|
articleCategoriesRepository "go-humas-be/app/module/article_categories/repository"
|
||||||
articleCategoryDetailsRepository "go-humas-be/app/module/article_category_details/repository"
|
articleCategoryDetailsRepository "go-humas-be/app/module/article_category_details/repository"
|
||||||
articleCategoryDetailsReq "go-humas-be/app/module/article_category_details/request"
|
articleCategoryDetailsReq "go-humas-be/app/module/article_category_details/request"
|
||||||
|
|
@ -36,6 +37,7 @@ type articlesService struct {
|
||||||
Repo repository.ArticlesRepository
|
Repo repository.ArticlesRepository
|
||||||
ArticleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository
|
ArticleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository
|
||||||
ArticleFilesRepo articleFilesRepository.ArticleFilesRepository
|
ArticleFilesRepo articleFilesRepository.ArticleFilesRepository
|
||||||
|
ArticleApprovalsRepo articleApprovalsRepository.ArticleApprovalsRepository
|
||||||
ArticleCategoryDetailsRepo articleCategoryDetailsRepository.ArticleCategoryDetailsRepository
|
ArticleCategoryDetailsRepo articleCategoryDetailsRepository.ArticleCategoryDetailsRepository
|
||||||
Log zerolog.Logger
|
Log zerolog.Logger
|
||||||
Cfg *config.Config
|
Cfg *config.Config
|
||||||
|
|
@ -52,6 +54,7 @@ type ArticlesService interface {
|
||||||
Update(id uint, req request.ArticlesUpdateRequest) (err error)
|
Update(id uint, req request.ArticlesUpdateRequest) (err error)
|
||||||
Delete(id uint) error
|
Delete(id uint) error
|
||||||
UpdateActivityCount(id uint, activityTypeId int) (err error)
|
UpdateActivityCount(id uint, activityTypeId int) (err error)
|
||||||
|
UpdateApproval(id uint, statusId int, userLevelId int, userLevelNumber int, userParentLevelId int) (err error)
|
||||||
Viewer(c *fiber.Ctx) error
|
Viewer(c *fiber.Ctx) error
|
||||||
SummaryStats(authToken string) (summaryStats *response.ArticleSummaryStats, err error)
|
SummaryStats(authToken string) (summaryStats *response.ArticleSummaryStats, err error)
|
||||||
ArticlePerUserLevelStats(authToken string, startDate *string, endDate *string) (articlePerUserLevelStats []*response.ArticlePerUserLevelStats, err error)
|
ArticlePerUserLevelStats(authToken string, startDate *string, endDate *string) (articlePerUserLevelStats []*response.ArticlePerUserLevelStats, err error)
|
||||||
|
|
@ -64,6 +67,7 @@ func NewArticlesService(
|
||||||
articleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository,
|
articleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository,
|
||||||
articleCategoryDetailsRepo articleCategoryDetailsRepository.ArticleCategoryDetailsRepository,
|
articleCategoryDetailsRepo articleCategoryDetailsRepository.ArticleCategoryDetailsRepository,
|
||||||
articleFilesRepo articleFilesRepository.ArticleFilesRepository,
|
articleFilesRepo articleFilesRepository.ArticleFilesRepository,
|
||||||
|
articleApprovalsRepo articleApprovalsRepository.ArticleApprovalsRepository,
|
||||||
log zerolog.Logger,
|
log zerolog.Logger,
|
||||||
cfg *config.Config,
|
cfg *config.Config,
|
||||||
usersRepo usersRepository.UsersRepository,
|
usersRepo usersRepository.UsersRepository,
|
||||||
|
|
@ -75,6 +79,7 @@ func NewArticlesService(
|
||||||
ArticleCategoriesRepo: articleCategoriesRepo,
|
ArticleCategoriesRepo: articleCategoriesRepo,
|
||||||
ArticleCategoryDetailsRepo: articleCategoryDetailsRepo,
|
ArticleCategoryDetailsRepo: articleCategoryDetailsRepo,
|
||||||
ArticleFilesRepo: articleFilesRepo,
|
ArticleFilesRepo: articleFilesRepo,
|
||||||
|
ArticleApprovalsRepo: articleApprovalsRepo,
|
||||||
Log: log,
|
Log: log,
|
||||||
UsersRepo: usersRepo,
|
UsersRepo: usersRepo,
|
||||||
MinioStorage: minioStorage,
|
MinioStorage: minioStorage,
|
||||||
|
|
@ -126,15 +131,21 @@ func (_i *articlesService) Save(req request.ArticlesCreateRequest, authToken str
|
||||||
_i.Log.Info().Interface("data", req).Msg("")
|
_i.Log.Info().Interface("data", req).Msg("")
|
||||||
newReq := req.ToEntity()
|
newReq := req.ToEntity()
|
||||||
|
|
||||||
|
var userLevelNumber int
|
||||||
|
var userParentLevelId int
|
||||||
if req.CreatedById != nil {
|
if req.CreatedById != nil {
|
||||||
createdBy, err := _i.UsersRepo.FindOne(*req.CreatedById)
|
createdBy, err := _i.UsersRepo.FindOne(*req.CreatedById)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("User not found")
|
return nil, fmt.Errorf("User not found")
|
||||||
}
|
}
|
||||||
newReq.CreatedById = &createdBy.ID
|
newReq.CreatedById = &createdBy.ID
|
||||||
|
userLevelNumber = createdBy.UserLevel.LevelNumber
|
||||||
|
userParentLevelId = *createdBy.UserLevel.ParentLevelId
|
||||||
} else {
|
} else {
|
||||||
createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken)
|
createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken)
|
||||||
newReq.CreatedById = &createdBy.ID
|
newReq.CreatedById = &createdBy.ID
|
||||||
|
userLevelNumber = createdBy.UserLevel.LevelNumber
|
||||||
|
userParentLevelId = *createdBy.UserLevel.ParentLevelId
|
||||||
}
|
}
|
||||||
|
|
||||||
isDraft := true
|
isDraft := true
|
||||||
|
|
@ -166,11 +177,30 @@ func (_i *articlesService) Save(req request.ArticlesCreateRequest, authToken str
|
||||||
newReq.CreatedAt = parsedTime
|
newReq.CreatedAt = parsedTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Approval
|
||||||
|
statusIdOne := 1
|
||||||
|
newReq.NeedApprovalFrom = &userParentLevelId
|
||||||
|
newReq.StatusId = &statusIdOne
|
||||||
|
|
||||||
saveArticleRes, err := _i.Repo.Create(newReq)
|
saveArticleRes, err := _i.Repo.Create(newReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Approval
|
||||||
|
articleApproval := &entity.ArticleApprovals{
|
||||||
|
ArticleId: saveArticleRes.ID,
|
||||||
|
ApprovalBy: *newReq.CreatedById,
|
||||||
|
StatusId: statusIdOne,
|
||||||
|
Message: "Need Approval",
|
||||||
|
ApprovalAtLevel: userLevelNumber,
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = _i.ArticleApprovalsRepo.Create(articleApproval)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
var categoryIds []string
|
var categoryIds []string
|
||||||
if req.CategoryIds != "" {
|
if req.CategoryIds != "" {
|
||||||
categoryIds = strings.Split(req.CategoryIds, ",")
|
categoryIds = strings.Split(req.CategoryIds, ",")
|
||||||
|
|
@ -452,6 +482,59 @@ func (_i *articlesService) ArticleMonthlyStats(authToken string, year *int) (art
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (_i *articlesService) UpdateApproval(id uint, statusId int, userLevelId int, userLevelNumber int, userParentLevelId int) (err error) {
|
||||||
|
result, err := _i.Repo.FindOne(id)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_i.Log.Info().Interface("statusId", statusId).Msg("")
|
||||||
|
|
||||||
|
statusIdOne := 1
|
||||||
|
statusIdTwo := 2
|
||||||
|
statusIdThree := 3
|
||||||
|
isPublish := true
|
||||||
|
isDraftFalse := false
|
||||||
|
|
||||||
|
if statusId == 2 {
|
||||||
|
if userLevelNumber == 2 || userLevelNumber == 3 {
|
||||||
|
result.NeedApprovalFrom = &userParentLevelId
|
||||||
|
result.StatusId = &statusIdOne
|
||||||
|
} else {
|
||||||
|
result.NeedApprovalFrom = nil
|
||||||
|
result.StatusId = &statusIdTwo
|
||||||
|
|
||||||
|
result.IsPublish = &isPublish
|
||||||
|
publishedAt := time.Now()
|
||||||
|
result.PublishedAt = &publishedAt
|
||||||
|
|
||||||
|
result.IsDraft = &isDraftFalse
|
||||||
|
result.DraftedAt = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
userLevelIdStr := strconv.Itoa(userLevelId)
|
||||||
|
if result.HasApprovedBy == nil {
|
||||||
|
result.HasApprovedBy = &userLevelIdStr
|
||||||
|
} else {
|
||||||
|
hasApprovedBySlice := strings.Split(*result.HasApprovedBy, ",")
|
||||||
|
hasApprovedBySlice = append(hasApprovedBySlice, userLevelIdStr)
|
||||||
|
hasApprovedByJoin := strings.Join(hasApprovedBySlice, ",")
|
||||||
|
result.HasApprovedBy = &hasApprovedByJoin
|
||||||
|
}
|
||||||
|
} else if statusId == 3 {
|
||||||
|
result.StatusId = &statusIdThree
|
||||||
|
result.NeedApprovalFrom = nil
|
||||||
|
result.HasApprovedBy = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
err = _i.Repo.Update(id, result)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func getFileExtension(filename string) string {
|
func getFileExtension(filename string) string {
|
||||||
// split file name
|
// split file name
|
||||||
parts := strings.Split(filename, ".")
|
parts := strings.Split(filename, ".")
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import (
|
||||||
swagger "github.com/arsmn/fiber-swagger/v2"
|
swagger "github.com/arsmn/fiber-swagger/v2"
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
"go-humas-be/app/module/activity_logs"
|
"go-humas-be/app/module/activity_logs"
|
||||||
|
"go-humas-be/app/module/article_approvals"
|
||||||
"go-humas-be/app/module/article_categories"
|
"go-humas-be/app/module/article_categories"
|
||||||
"go-humas-be/app/module/article_category_details"
|
"go-humas-be/app/module/article_category_details"
|
||||||
"go-humas-be/app/module/article_comments"
|
"go-humas-be/app/module/article_comments"
|
||||||
|
|
@ -35,6 +36,7 @@ type Router struct {
|
||||||
ArticleCategoryDetailsRouter *article_category_details.ArticleCategoryDetailsRouter
|
ArticleCategoryDetailsRouter *article_category_details.ArticleCategoryDetailsRouter
|
||||||
ArticleFilesRouter *article_files.ArticleFilesRouter
|
ArticleFilesRouter *article_files.ArticleFilesRouter
|
||||||
ArticleCommentsRouter *article_comments.ArticleCommentsRouter
|
ArticleCommentsRouter *article_comments.ArticleCommentsRouter
|
||||||
|
ArticleApprovalsRouter *article_approvals.ArticleApprovalsRouter
|
||||||
ArticlesRouter *articles.ArticlesRouter
|
ArticlesRouter *articles.ArticlesRouter
|
||||||
ArticleNulisAIRouter *article_nulis_ai.ArticleNulisAIRouter
|
ArticleNulisAIRouter *article_nulis_ai.ArticleNulisAIRouter
|
||||||
CitiesRouter *cities.CitiesRouter
|
CitiesRouter *cities.CitiesRouter
|
||||||
|
|
@ -60,6 +62,7 @@ func NewRouter(
|
||||||
articleCategoryDetailsRouter *article_category_details.ArticleCategoryDetailsRouter,
|
articleCategoryDetailsRouter *article_category_details.ArticleCategoryDetailsRouter,
|
||||||
articleFilesRouter *article_files.ArticleFilesRouter,
|
articleFilesRouter *article_files.ArticleFilesRouter,
|
||||||
articleCommentsRouter *article_comments.ArticleCommentsRouter,
|
articleCommentsRouter *article_comments.ArticleCommentsRouter,
|
||||||
|
articleApprovalsRouter *article_approvals.ArticleApprovalsRouter,
|
||||||
articlesRouter *articles.ArticlesRouter,
|
articlesRouter *articles.ArticlesRouter,
|
||||||
articleNulisRouter *article_nulis_ai.ArticleNulisAIRouter,
|
articleNulisRouter *article_nulis_ai.ArticleNulisAIRouter,
|
||||||
citiesRouter *cities.CitiesRouter,
|
citiesRouter *cities.CitiesRouter,
|
||||||
|
|
@ -83,6 +86,7 @@ func NewRouter(
|
||||||
ArticleCategoryDetailsRouter: articleCategoryDetailsRouter,
|
ArticleCategoryDetailsRouter: articleCategoryDetailsRouter,
|
||||||
ArticleFilesRouter: articleFilesRouter,
|
ArticleFilesRouter: articleFilesRouter,
|
||||||
ArticleCommentsRouter: articleCommentsRouter,
|
ArticleCommentsRouter: articleCommentsRouter,
|
||||||
|
ArticleApprovalsRouter: articleApprovalsRouter,
|
||||||
ArticlesRouter: articlesRouter,
|
ArticlesRouter: articlesRouter,
|
||||||
ArticleNulisAIRouter: articleNulisRouter,
|
ArticleNulisAIRouter: articleNulisRouter,
|
||||||
CitiesRouter: citiesRouter,
|
CitiesRouter: citiesRouter,
|
||||||
|
|
@ -115,6 +119,7 @@ func (r *Router) Register() {
|
||||||
r.ArticleCategoriesRouter.RegisterArticleCategoriesRoutes()
|
r.ArticleCategoriesRouter.RegisterArticleCategoriesRoutes()
|
||||||
r.ArticleCategoryDetailsRouter.RegisterArticleCategoryDetailsRoutes()
|
r.ArticleCategoryDetailsRouter.RegisterArticleCategoryDetailsRoutes()
|
||||||
r.ArticleFilesRouter.RegisterArticleFilesRoutes()
|
r.ArticleFilesRouter.RegisterArticleFilesRoutes()
|
||||||
|
r.ArticleApprovalsRouter.RegisterArticleApprovalsRoutes()
|
||||||
r.ArticlesRouter.RegisterArticlesRoutes()
|
r.ArticlesRouter.RegisterArticlesRoutes()
|
||||||
r.ArticleCommentsRouter.RegisterArticleCommentsRoutes()
|
r.ArticleCommentsRouter.RegisterArticleCommentsRoutes()
|
||||||
r.ArticleNulisAIRouter.RegisterArticleNulisAIRoutes()
|
r.ArticleNulisAIRouter.RegisterArticleNulisAIRoutes()
|
||||||
|
|
|
||||||
|
|
@ -325,6 +325,322 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/article-approvals": {
|
||||||
|
"get": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for getting all ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "Get all ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "approvalAtLevel",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "approvalBy",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "articleId",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"name": "message",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "statusId",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "count",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "limit",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "nextPage",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "page",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "previousPage",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"name": "sort",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"name": "sortBy",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "totalPage",
|
||||||
|
"in": "query"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"post": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for create ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "Create ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"default": "Bearer \u003cAdd access token here\u003e",
|
||||||
|
"description": "Insert your access token",
|
||||||
|
"name": "Authorization",
|
||||||
|
"in": "header",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Required payload",
|
||||||
|
"name": "payload",
|
||||||
|
"in": "body",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/request.ArticleApprovalsCreateRequest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/article-approvals/{id}": {
|
||||||
|
"get": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for getting one ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "Get one ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "ArticleApprovals ID",
|
||||||
|
"name": "id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for update ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "update ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"description": "Required payload",
|
||||||
|
"name": "payload",
|
||||||
|
"in": "body",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/request.ArticleApprovalsUpdateRequest"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "ArticleApprovals ID",
|
||||||
|
"name": "id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for delete ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "delete ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "ArticleApprovals ID",
|
||||||
|
"name": "id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/article-categories": {
|
"/article-categories": {
|
||||||
"get": {
|
"get": {
|
||||||
"security": [
|
"security": [
|
||||||
|
|
@ -7572,6 +7888,48 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"request.ArticleApprovalsCreateRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"articleId",
|
||||||
|
"message",
|
||||||
|
"statusId"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"articleId": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"statusId": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"request.ArticleApprovalsUpdateRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"articleId",
|
||||||
|
"id",
|
||||||
|
"message",
|
||||||
|
"statusId"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"articleId": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"statusId": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"request.ArticleCategoriesCreateRequest": {
|
"request.ArticleCategoriesCreateRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"required": [
|
"required": [
|
||||||
|
|
|
||||||
|
|
@ -314,6 +314,322 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/article-approvals": {
|
||||||
|
"get": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for getting all ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "Get all ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "approvalAtLevel",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "approvalBy",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "articleId",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"name": "message",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "statusId",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "count",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "limit",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "nextPage",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "page",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "previousPage",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"name": "sort",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"name": "sortBy",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "totalPage",
|
||||||
|
"in": "query"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"post": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for create ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "Create ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"default": "Bearer \u003cAdd access token here\u003e",
|
||||||
|
"description": "Insert your access token",
|
||||||
|
"name": "Authorization",
|
||||||
|
"in": "header",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Required payload",
|
||||||
|
"name": "payload",
|
||||||
|
"in": "body",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/request.ArticleApprovalsCreateRequest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/article-approvals/{id}": {
|
||||||
|
"get": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for getting one ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "Get one ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "ArticleApprovals ID",
|
||||||
|
"name": "id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for update ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "update ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"description": "Required payload",
|
||||||
|
"name": "payload",
|
||||||
|
"in": "body",
|
||||||
|
"required": true,
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/request.ArticleApprovalsUpdateRequest"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "ArticleApprovals ID",
|
||||||
|
"name": "id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete": {
|
||||||
|
"security": [
|
||||||
|
{
|
||||||
|
"Bearer": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "API for delete ArticleApprovals",
|
||||||
|
"tags": [
|
||||||
|
"ArticleApprovals"
|
||||||
|
],
|
||||||
|
"summary": "delete ArticleApprovals",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "ArticleApprovals ID",
|
||||||
|
"name": "id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.Response"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Bad Request",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.BadRequestError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Unauthorized",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.UnauthorizedError"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Internal Server Error",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/response.InternalServerError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/article-categories": {
|
"/article-categories": {
|
||||||
"get": {
|
"get": {
|
||||||
"security": [
|
"security": [
|
||||||
|
|
@ -7561,6 +7877,48 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"request.ArticleApprovalsCreateRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"articleId",
|
||||||
|
"message",
|
||||||
|
"statusId"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"articleId": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"statusId": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"request.ArticleApprovalsUpdateRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"articleId",
|
||||||
|
"id",
|
||||||
|
"message",
|
||||||
|
"statusId"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"articleId": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"statusId": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"request.ArticleCategoriesCreateRequest": {
|
"request.ArticleCategoriesCreateRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"required": [
|
"required": [
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,35 @@ definitions:
|
||||||
- id
|
- id
|
||||||
- url
|
- url
|
||||||
type: object
|
type: object
|
||||||
|
request.ArticleApprovalsCreateRequest:
|
||||||
|
properties:
|
||||||
|
articleId:
|
||||||
|
type: integer
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
statusId:
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- articleId
|
||||||
|
- message
|
||||||
|
- statusId
|
||||||
|
type: object
|
||||||
|
request.ArticleApprovalsUpdateRequest:
|
||||||
|
properties:
|
||||||
|
articleId:
|
||||||
|
type: integer
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
statusId:
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- articleId
|
||||||
|
- id
|
||||||
|
- message
|
||||||
|
- statusId
|
||||||
|
type: object
|
||||||
request.ArticleCategoriesCreateRequest:
|
request.ArticleCategoriesCreateRequest:
|
||||||
properties:
|
properties:
|
||||||
description:
|
description:
|
||||||
|
|
@ -989,6 +1018,205 @@ paths:
|
||||||
summary: update ActivityLogs
|
summary: update ActivityLogs
|
||||||
tags:
|
tags:
|
||||||
- ActivityLogs
|
- ActivityLogs
|
||||||
|
/article-approvals:
|
||||||
|
get:
|
||||||
|
description: API for getting all ArticleApprovals
|
||||||
|
parameters:
|
||||||
|
- in: query
|
||||||
|
name: approvalAtLevel
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: approvalBy
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: articleId
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: message
|
||||||
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: statusId
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: count
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: limit
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: nextPage
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: page
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: previousPage
|
||||||
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: sort
|
||||||
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: sortBy
|
||||||
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: totalPage
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.Response'
|
||||||
|
"400":
|
||||||
|
description: Bad Request
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.BadRequestError'
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.UnauthorizedError'
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.InternalServerError'
|
||||||
|
security:
|
||||||
|
- Bearer: []
|
||||||
|
summary: Get all ArticleApprovals
|
||||||
|
tags:
|
||||||
|
- ArticleApprovals
|
||||||
|
post:
|
||||||
|
description: API for create ArticleApprovals
|
||||||
|
parameters:
|
||||||
|
- default: Bearer <Add access token here>
|
||||||
|
description: Insert your access token
|
||||||
|
in: header
|
||||||
|
name: Authorization
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
- description: Required payload
|
||||||
|
in: body
|
||||||
|
name: payload
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/request.ArticleApprovalsCreateRequest'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.Response'
|
||||||
|
"400":
|
||||||
|
description: Bad Request
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.BadRequestError'
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.UnauthorizedError'
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.InternalServerError'
|
||||||
|
security:
|
||||||
|
- Bearer: []
|
||||||
|
summary: Create ArticleApprovals
|
||||||
|
tags:
|
||||||
|
- ArticleApprovals
|
||||||
|
/article-approvals/{id}:
|
||||||
|
delete:
|
||||||
|
description: API for delete ArticleApprovals
|
||||||
|
parameters:
|
||||||
|
- description: ArticleApprovals ID
|
||||||
|
in: path
|
||||||
|
name: id
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.Response'
|
||||||
|
"400":
|
||||||
|
description: Bad Request
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.BadRequestError'
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.UnauthorizedError'
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.InternalServerError'
|
||||||
|
security:
|
||||||
|
- Bearer: []
|
||||||
|
summary: delete ArticleApprovals
|
||||||
|
tags:
|
||||||
|
- ArticleApprovals
|
||||||
|
get:
|
||||||
|
description: API for getting one ArticleApprovals
|
||||||
|
parameters:
|
||||||
|
- description: ArticleApprovals ID
|
||||||
|
in: path
|
||||||
|
name: id
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.Response'
|
||||||
|
"400":
|
||||||
|
description: Bad Request
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.BadRequestError'
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.UnauthorizedError'
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.InternalServerError'
|
||||||
|
security:
|
||||||
|
- Bearer: []
|
||||||
|
summary: Get one ArticleApprovals
|
||||||
|
tags:
|
||||||
|
- ArticleApprovals
|
||||||
|
put:
|
||||||
|
description: API for update ArticleApprovals
|
||||||
|
parameters:
|
||||||
|
- description: Required payload
|
||||||
|
in: body
|
||||||
|
name: payload
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/request.ArticleApprovalsUpdateRequest'
|
||||||
|
- description: ArticleApprovals ID
|
||||||
|
in: path
|
||||||
|
name: id
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.Response'
|
||||||
|
"400":
|
||||||
|
description: Bad Request
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.BadRequestError'
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.UnauthorizedError'
|
||||||
|
"500":
|
||||||
|
description: Internal Server Error
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/response.InternalServerError'
|
||||||
|
security:
|
||||||
|
- Bearer: []
|
||||||
|
summary: update ArticleApprovals
|
||||||
|
tags:
|
||||||
|
- ArticleApprovals
|
||||||
/article-categories:
|
/article-categories:
|
||||||
get:
|
get:
|
||||||
description: API for getting all ArticleCategories
|
description: API for getting all ArticleCategories
|
||||||
|
|
|
||||||
2
main.go
2
main.go
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"go-humas-be/app/database"
|
"go-humas-be/app/database"
|
||||||
"go-humas-be/app/middleware"
|
"go-humas-be/app/middleware"
|
||||||
"go-humas-be/app/module/activity_logs"
|
"go-humas-be/app/module/activity_logs"
|
||||||
|
"go-humas-be/app/module/article_approvals"
|
||||||
"go-humas-be/app/module/article_categories"
|
"go-humas-be/app/module/article_categories"
|
||||||
"go-humas-be/app/module/article_category_details"
|
"go-humas-be/app/module/article_category_details"
|
||||||
"go-humas-be/app/module/article_comments"
|
"go-humas-be/app/module/article_comments"
|
||||||
|
|
@ -59,6 +60,7 @@ func main() {
|
||||||
article_categories.NewArticleCategoriesModule,
|
article_categories.NewArticleCategoriesModule,
|
||||||
article_category_details.NewArticleCategoryDetailsModule,
|
article_category_details.NewArticleCategoryDetailsModule,
|
||||||
article_files.NewArticleFilesModule,
|
article_files.NewArticleFilesModule,
|
||||||
|
article_approvals.NewArticleApprovalsModule,
|
||||||
articles.NewArticlesModule,
|
articles.NewArticlesModule,
|
||||||
article_comments.NewArticleCommentsModule,
|
article_comments.NewArticleCommentsModule,
|
||||||
article_nulis_ai.NewArticleNulisAIModule,
|
article_nulis_ai.NewArticleNulisAIModule,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue