Merge pull request 'cringe_branch' (#9) from cringe_branch into master

Reviewed-on: https://codeberg.org/NaMe2te/Blog/pulls/9
This commit is contained in:
RustamOper05 2024-01-17 09:39:12 +00:00
commit 792708dd07
3 changed files with 27 additions and 10 deletions

View file

@ -96,7 +96,7 @@ func GetByLogin(login string) []Comment {
func GetComment(commentId string) Comment { func GetComment(commentId string) Comment {
ctx := storage.GetContext() ctx := storage.GetContext()
return storage.Get(ctx, commentId).(Comment) return std.Deserialize(storage.Get(ctx, commentId).([]byte)).(Comment)
} }
func GetCommentInPost(commentId string, postId string) Comment { func GetCommentInPost(commentId string, postId string) Comment {

View file

@ -3,12 +3,12 @@ package Post
import ( import (
"github.com/nspcc-dev/neo-go/pkg/interop/iterator" "github.com/nspcc-dev/neo-go/pkg/interop/iterator"
"github.com/nspcc-dev/neo-go/pkg/interop/native/std" "github.com/nspcc-dev/neo-go/pkg/interop/native/std"
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
"github.com/nspcc-dev/neo-go/pkg/interop/storage" "github.com/nspcc-dev/neo-go/pkg/interop/storage"
) )
type Post struct { type Post struct {
postName string postName string
header string
text string text string
login string login string
likes int likes int
@ -40,8 +40,9 @@ func NewPost(login string, text string, postName string) {
storage.Put(ctx, post.id, std.Serialize(post)) storage.Put(ctx, post.id, std.Serialize(post))
updatePostIndex(login) updatePostIndex(login)
lastPostIndex := storage.Get(ctx, login+lastIndex).(string) lastPostIndex := storage.Get(ctx, login+lastIndex).(int)
storage.Put(ctx, login+"_p_"+lastPostIndex, post.id) storage.Put(ctx, login+"_p_"+std.Itoa10(lastPostIndex), post.id)
runtime.Log("Post created. Post id: " + post.id + "; User post id" + login + "_p_" + std.Itoa10(lastPostIndex))
} }
func GetAllPosts() []Post { func GetAllPosts() []Post {
@ -50,8 +51,10 @@ func GetAllPosts() []Post {
it := storage.Find(ctx, "post", storage.ValuesOnly|storage.DeserializeValues) it := storage.Find(ctx, "post", storage.ValuesOnly|storage.DeserializeValues)
for iterator.Next(it) { for iterator.Next(it) {
post := iterator.Value(it).(Post) post := iterator.Value(it).(Post)
runtime.Log(string(std.Serialize(post)))
posts = append(posts, post) posts = append(posts, post)
} }
return posts return posts
} }
@ -68,11 +71,22 @@ func GetPost(postId string) Post {
func GetAllPostsByUser(login string) []Post { func GetAllPostsByUser(login string) []Post {
ctx := storage.GetReadOnlyContext() ctx := storage.GetReadOnlyContext()
var postsByUser []Post var postsByUser []Post = make([]Post, 0)
i := 0 i := 1
n := getPostIndex(login) n := getPostIndex(login)
for i < n { for i < n+1 {
post := storage.Get(ctx, login+"_p_"+std.Itoa10(i)) post_key := storage.Get(ctx, login+"_p_"+std.Itoa10(i))
if post_key == nil {
panic("post key not found")
}
post_key = post_key.(string)
post := storage.Get(ctx, post_key)
if post == nil {
panic("post not found")
}
i++ i++
postsByUser = append(postsByUser, std.Deserialize(post.([]byte)).(Post)) postsByUser = append(postsByUser, std.Deserialize(post.([]byte)).(Post))
} }

View file

@ -21,7 +21,6 @@ const (
func NewUser(name string, surname string, login string, password string, owner interop.Hash160) { func NewUser(name string, surname string, login string, password string, owner interop.Hash160) {
ctx := storage.GetContext() ctx := storage.GetContext()
existing_login := storage.Get(ctx, login) existing_login := storage.Get(ctx, login)
if existing_login != nil { if existing_login != nil {
panic("this login is taken by someone else") panic("this login is taken by someone else")
@ -38,7 +37,11 @@ func NewUser(name string, surname string, login string, password string, owner i
saveUser(ctx, login, user) saveUser(ctx, login, user)
} }
func GetUser(ctx storage.Context, login string) User { func GetUser(login string) User {
return getUserTst(storage.GetReadOnlyContext(), login)
}
func getUserTst(ctx storage.Context, login string) User {
data := storage.Get(ctx, login) data := storage.Get(ctx, login)
if data == nil { if data == nil {