func (s *aliasStore) RemoveAlias(alias ct.Alias, room ct.RoomId) types.Error { deleted, err := s.idMap.Delete(ct.Id(alias), ct.Id(room)) if err != nil { return types.InternalError(err) } if !deleted { return types.NotFoundError("room alias '" + alias.String() + "' doesn't exist") } return nil }
func (s roomService) LookupAlias(alias ct.Alias) (ct.RoomId, types.Error) { room, err := s.aliases.Room(alias) if err != nil { return ct.RoomId{}, err } if room == nil { return ct.RoomId{}, types.NotFoundError("room alias '" + alias.String() + "' doesn't exist") } return *room, nil }
func (s *aliasStore) AddAlias(alias ct.Alias, room ct.RoomId) types.Error { inserted, err := s.idMap.Insert(ct.Id(alias), ct.Id(room)) if err != nil { return types.InternalError(err) } if !inserted { return types.RoomInUseError("room alias '" + alias.String() + "' already exists") } return nil }