package services import ( "context" "code.gurenya.net/carlsmei/muninn-aio/db" "code.gurenya.net/carlsmei/muninn-aio/ent" "code.gurenya.net/carlsmei/muninn-aio/ent/link" ) func CreateLink(ctx context.Context, user *ent.User, original_url string, key string) (*ent.Link, error) { client := db.GetEntClient() if key == "" { key = GenerateKey(ctx) } link, err := client.Link.Create(). AddOwner(user). SetKey(key). SetOriginalURL(original_url). Save(ctx) if err != nil { return nil, err } return link, nil } func GetLinkByKey(ctx context.Context, key string) (*ent.Link, error) { client := db.GetEntClient() link, err := client.Link. Query(). Where(link.Key(key)). Only(ctx) if err != nil { return nil, err } return link, nil }