Add existing codebase

This commit is contained in:
Andrey Chervyakov 2021-04-12 17:01:00 +06:00
commit e12550a643
25 changed files with 1409 additions and 0 deletions

View file

@ -0,0 +1,59 @@
package task
import (
"brainbuffer/pkg/brainbuffer/scheduling"
"time"
)
type CreationModel struct {
Patterns []string `json:"patterns"`
Name string `json:"name"`
Description string `json:"description"`
Duration int64 `json:"duration"`
}
type ResourceModel struct {
ID int64 `json:"id"`
UserID string `json:"userId"`
Patterns []string `json:"patterns"`
Name string `json:"name"`
Description string `json:"description"`
Duration int64 `json:"duration"`
CreationTime int64 `json:"creationTime"`
}
func (model *CreationModel) MapModelToEntity(userId string) Task {
patterns := make([]scheduling.Pattern, len(model.Patterns))
for i, v := range model.Patterns {
patterns[i] = scheduling.Pattern(v)
}
return Task{
ID: 0,
UserID: userId,
SchedulingPatterns: patterns,
Name: model.Name,
Description: model.Description,
Duration: time.Duration(model.Duration),
CreationTime: time.Time{},
}
}
func MapEntityToModel(task *Task) ResourceModel {
patterns := make([]string, len(task.SchedulingPatterns))
for i, v := range task.SchedulingPatterns {
patterns[i] = string(v)
}
return ResourceModel{
ID: task.ID,
UserID: task.UserID,
Patterns: patterns,
Name: task.Name,
Description: task.Description,
Duration: int64(task.Duration),
CreationTime: task.CreationTime.Unix(),
}
}