29 lines
788 B
Go
29 lines
788 B
Go
package mapper
|
|
|
|
import (
|
|
"wm-backend/internal/models"
|
|
db "wm-backend/sqlc_gen"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
// ToDomainRole maps a SQLC-generated Role to the domain Role model.
|
|
func ToDomainRole(r db.Role) *models.Role {
|
|
return &models.Role{
|
|
ID: r.ID.String(),
|
|
Name: r.Name,
|
|
Description: r.Description.String,
|
|
CreatedAt: r.CreatedAt.Time,
|
|
CreatedBy: r.CreatedBy.String,
|
|
}
|
|
}
|
|
|
|
// ToModelRole maps a domain Role model to the parameters needed for creating a Role in the database.
|
|
func ToModelRole(r *models.Role) *db.CreateRoleParams {
|
|
return &db.CreateRoleParams{
|
|
Name: r.Name,
|
|
Description: pgtype.Text{String: r.Description, Valid: r.Description != ""},
|
|
CreatedBy: pgtype.Text{String: r.CreatedBy, Valid: r.CreatedBy != ""},
|
|
}
|
|
}
|