// unmarshal deserializes from a protobuf representation. func (ui *UserInfo) unmarshal(pb *internal.UserInfo) { ui.Name = pb.GetName() ui.Hash = pb.GetHash() ui.Admin = pb.GetAdmin() ui.Privileges = make(map[string]sql.Privilege) for _, p := range pb.GetPrivileges() { ui.Privileges[p.GetDatabase()] = sql.Privilege(p.GetPrivilege()) } }
func (fsm *storeFSM) applySetPrivilegeCommand(cmd *internal.Command) interface{} { ext, _ := proto.GetExtension(cmd, internal.E_SetPrivilegeCommand_Command) v := ext.(*internal.SetPrivilegeCommand) // Copy data and update. other := fsm.data.Clone() if err := other.SetPrivilege(v.GetUsername(), v.GetDatabase(), sql.Privilege(v.GetPrivilege())); err != nil { return err } fsm.data = other return nil }