package cvt

import (
	ent "github.com/tidbcloud/devops/entity/github"
	mod "github.com/tidbcloud/devops/models/github"
)

type m2e struct{}

func (cvt m2e) PullRequest(m *mod.GithubPullRequest) *ent.PullRequestInDB {
	e := &ent.PullRequestInDB{
		ID: m.ID.Uint64(),

		Location:  ent.PRLocation(m.Location),
		Owner:     m.Owner,
		Repo:      m.Repo,
		Number:    m.Number,
		Title:     m.Title,
		Author:    m.Author,
		State:     m.State,
		CreatedAt: m.CreatedAt.Unix(),
		UpdatedAt: m.UpdatedAt.Unix(),
	}

	return e
}

func (cvt m2e) Repository(m *mod.GithubRepository) *ent.RepositoryInDB {
	e := &ent.RepositoryInDB{
		ID: m.ID.Uint64(),

		Location:  ent.RepoLocation(m.Location),
		Owner:     m.Owner,
		Name:      m.Name,
		UpdatedAt: m.UpdatedAt.Unix(),
		PushedAt:  m.PushedAt.Unix(),
	}

	return e
}
