Первый прототип с основными возможностями

This commit is contained in:
2024-07-31 07:58:22 +03:00
parent 423cff473f
commit cf036565c4
41 changed files with 6969 additions and 2 deletions

44
services/link.go Normal file
View File

@@ -0,0 +1,44 @@
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
}