chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/apache/answer/internal/base/constant"
|
||||
)
|
||||
|
||||
// AddRevisionDTO add revision request
|
||||
type AddRevisionDTO struct {
|
||||
// user id
|
||||
UserID string
|
||||
// object id
|
||||
ObjectID string
|
||||
// title
|
||||
Title string
|
||||
// content
|
||||
Content string
|
||||
// log
|
||||
Log string
|
||||
// status
|
||||
Status int
|
||||
}
|
||||
|
||||
// GetRevisionListReq get revision list all request
|
||||
type GetRevisionListReq struct {
|
||||
// object id
|
||||
ObjectID string `validate:"required" comment:"object_id" form:"object_id"`
|
||||
IsAdmin bool `json:"-"`
|
||||
UserID string `json:"-"`
|
||||
}
|
||||
|
||||
const RevisionAuditApprove = "approve"
|
||||
const RevisionAuditReject = "reject"
|
||||
|
||||
type RevisionAuditReq struct {
|
||||
// object id
|
||||
ID string `validate:"required" comment:"id" form:"id"`
|
||||
Operation string `validate:"required" comment:"operation" form:"operation"` // approve or reject
|
||||
UserID string `json:"-"`
|
||||
CanReviewQuestion bool `json:"-"`
|
||||
CanReviewAnswer bool `json:"-"`
|
||||
CanReviewTag bool `json:"-"`
|
||||
}
|
||||
|
||||
type RevisionSearch struct {
|
||||
Page int `json:"page" form:"page"` // Query number of pages
|
||||
CanReviewQuestion bool `json:"-"`
|
||||
CanReviewAnswer bool `json:"-"`
|
||||
CanReviewTag bool `json:"-"`
|
||||
UserID string `json:"-"`
|
||||
}
|
||||
|
||||
func (r RevisionSearch) GetCanReviewObjectTypes() []int {
|
||||
objectType := make([]int, 0)
|
||||
if r.CanReviewAnswer {
|
||||
objectType = append(objectType, constant.ObjectTypeStrMapping[constant.AnswerObjectType])
|
||||
}
|
||||
if r.CanReviewQuestion {
|
||||
objectType = append(objectType, constant.ObjectTypeStrMapping[constant.QuestionObjectType])
|
||||
}
|
||||
if r.CanReviewTag {
|
||||
objectType = append(objectType, constant.ObjectTypeStrMapping[constant.TagObjectType])
|
||||
}
|
||||
return objectType
|
||||
}
|
||||
|
||||
type GetUnreviewedRevisionResp struct {
|
||||
Type string `json:"type"`
|
||||
Info *UnreviewedRevisionInfoInfo `json:"info"`
|
||||
UnreviewedInfo *GetRevisionResp `json:"unreviewed_info"`
|
||||
}
|
||||
|
||||
// GetRevisionResp get revision response
|
||||
type GetRevisionResp struct {
|
||||
ID string `json:"id"`
|
||||
UserID string `json:"use_id"`
|
||||
ObjectID string `json:"object_id"`
|
||||
ObjectType int `json:"-"`
|
||||
Title string `json:"title"`
|
||||
UrlTitle string `json:"url_title"`
|
||||
Content string `json:"-"`
|
||||
ContentParsed any `json:"content"`
|
||||
Status int `json:"status"`
|
||||
CreatedAt time.Time `json:"-"`
|
||||
CreatedAtParsed int64 `json:"create_at"`
|
||||
UserInfo UserBasicInfo `json:"user_info"`
|
||||
Log string `json:"reason"`
|
||||
}
|
||||
|
||||
// GetReviewingTypeReq get reviewing type request
|
||||
type GetReviewingTypeReq struct {
|
||||
CanReviewQuestion bool `json:"-"`
|
||||
CanReviewAnswer bool `json:"-"`
|
||||
CanReviewTag bool `json:"-"`
|
||||
IsAdmin bool `json:"-"`
|
||||
UserID string `json:"-"`
|
||||
}
|
||||
|
||||
func (r *GetReviewingTypeReq) GetCanReviewObjectTypes() []int {
|
||||
objectType := make([]int, 0)
|
||||
if r.CanReviewAnswer {
|
||||
objectType = append(objectType, constant.ObjectTypeStrMapping[constant.AnswerObjectType])
|
||||
}
|
||||
if r.CanReviewQuestion {
|
||||
objectType = append(objectType, constant.ObjectTypeStrMapping[constant.QuestionObjectType])
|
||||
}
|
||||
if r.CanReviewTag {
|
||||
objectType = append(objectType, constant.ObjectTypeStrMapping[constant.TagObjectType])
|
||||
}
|
||||
return objectType
|
||||
}
|
||||
|
||||
// GetReviewingTypeResp get reviewing type response
|
||||
type GetReviewingTypeResp struct {
|
||||
Name string `json:"name"`
|
||||
Label string `json:"label"`
|
||||
TodoAmount int64 `json:"todo_amount"`
|
||||
}
|
||||
Reference in New Issue
Block a user