34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
"git.itzana.me/strafesnet/maps-service/internal/datastore"
|
|
"git.itzana.me/strafesnet/maps-service/api"
|
|
)
|
|
|
|
type Submissions struct {
|
|
Store datastore.Datastore
|
|
}
|
|
|
|
func (m Submissions) Get(ctx context.Context, params *api.GetSubmissionParams) (*api.Submission, error) {
|
|
item, err := m.Store.Submissions().Get(ctx, params.SubmissionID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &api.Submission{
|
|
ID: api.NewOptInt64(item.ID),
|
|
DisplayName: api.NewOptString(item.DisplayName),
|
|
Creator: api.NewOptString(item.Creator),
|
|
GameID: api.NewOptInt32(item.GameID),
|
|
Date: api.NewOptInt64(item.Date.Unix()),
|
|
Submitter: api.NewOptInt64(item.Submitter),
|
|
AssetID: api.NewOptInt64(item.AssetID),
|
|
AssetVersion: api.NewOptInt64(item.AssetVersion),
|
|
Completed: api.NewOptBool(item.Completed),
|
|
SubmissionType: api.NewOptInt32(item.SubmissionType),
|
|
TargetAssetID: api.NewOptInt64(item.TargetAssetID),
|
|
StatusID: api.NewOptInt32(item.StatusID),
|
|
}, nil
|
|
}
|