Skip to content

enum type support #36

Open
Open
@wangzuo

Description

@wangzuo

enums are stored as UPPERCASE strings in database for readability.

model "User" {
  role = enum("member", "admin")
  default = "member"
  null = false
}

in go:

type UserRole string

const (
	UserRoleAdmin  UserRole = "ADMIN"
	UserRoleMember UserRole = "MEMBER"
)

func (u UserRole) Value() (driver.Value, error) {}
func (u *UserRole) Scan(val any) error {}

type User struct {
	Role UserRole
}

c.ChangeUser().SetRole(UserRoleAdmin)

in typescript

enum UserRole {
  Admin = "ADMIN",
  Member = "MEMBER",
}

interface User {
  userRole: UserRole;
}

c.changeUser().setRole(UserRole.Admin)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions