All checks were successful
Build and Release / release (push) Successful in 1m15s
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package models
|
|
|
|
import (
|
|
"encoding/json"
|
|
"history-api/internal/dtos/response"
|
|
"time"
|
|
)
|
|
|
|
type CommitEntity struct {
|
|
ID string `json:"id"`
|
|
ProjectID string `json:"project_id"`
|
|
SnapshotJson json.RawMessage `json:"snapshot_json"`
|
|
SnapshotHash string `json:"snapshot_hash"`
|
|
UserID string `json:"user_id"`
|
|
EditSummary string `json:"edit_summary"`
|
|
IsDeleted bool `json:"is_deleted"`
|
|
CreatedAt *time.Time `json:"created_at"`
|
|
User *UserSimpleEntity `json:"user"`
|
|
}
|
|
|
|
func (c *CommitEntity) ToResponse() *response.CommitResponse {
|
|
if c == nil {
|
|
return nil
|
|
}
|
|
var userRes *response.UserSimpleResponse
|
|
if c.User != nil {
|
|
userRes = c.User.ToResponse()
|
|
}
|
|
|
|
return &response.CommitResponse{
|
|
ID: c.ID,
|
|
ProjectID: c.ProjectID,
|
|
SnapshotJson: c.SnapshotJson,
|
|
SnapshotHash: c.SnapshotHash,
|
|
UserID: c.UserID,
|
|
EditSummary: c.EditSummary,
|
|
CreatedAt: c.CreatedAt,
|
|
User: userRes,
|
|
}
|
|
}
|
|
|
|
func CommitsEntityToResponse(entities []*CommitEntity) []*response.CommitResponse {
|
|
res := make([]*response.CommitResponse, 0, len(entities))
|
|
for _, e := range entities {
|
|
res = append(res, e.ToResponse())
|
|
}
|
|
return res
|
|
}
|