32 lines
608 B
Go
32 lines
608 B
Go
package activitypub
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"git.mstar.dev/mstar/linstrom/config"
|
|
)
|
|
|
|
type InvalidFullHandleError struct {
|
|
Raw string
|
|
}
|
|
|
|
func (i InvalidFullHandleError) Error() string {
|
|
return "Invalid full handle"
|
|
}
|
|
|
|
func SplitFullHandle(full string) (string, string, error) {
|
|
splits := strings.Split(strings.TrimPrefix(full, "@"), "@")
|
|
if len(splits) != 2 {
|
|
return "", "", InvalidFullHandleError{full}
|
|
}
|
|
return splits[0], splits[1], nil
|
|
}
|
|
|
|
func UserIdToApUrl(id string) string {
|
|
return fmt.Sprintf(
|
|
"%s/api/activitypub/user/%s",
|
|
config.GlobalConfig.General.GetFullPublicUrl(),
|
|
id,
|
|
)
|
|
}
|