MCPcopy
hub / github.com/writefreely/writefreely / GetAnonymousPosts

Method GetAnonymousPosts

database.go:2124–2161  ·  view source on GitHub ↗
(u *User, page int)

Source from the content-addressed store, hash-verified

2122}
2123
2124func (db *datastore) GetAnonymousPosts(u *User, page int) (*[]PublicPost, error) {
2125 pagePosts := 10
2126 start := page*pagePosts - pagePosts
2127 if page == 0 {
2128 start = 0
2129 pagePosts = 1000
2130 }
2131
2132 limitStr := ""
2133 if page > 0 {
2134 limitStr = fmt.Sprintf(" LIMIT %d, %d", start, pagePosts)
2135 }
2136 rows, err := db.Query("SELECT id, view_count, title, language, created, updated, content FROM posts WHERE owner_id = ? AND collection_id IS NULL ORDER BY created DESC"+limitStr, u.ID)
2137 if err != nil {
2138 log.Error("Failed selecting from posts: %v", err)
2139 return nil, impart.HTTPError{http.StatusInternalServerError, "Couldn't retrieve user anonymous posts."}
2140 }
2141 defer rows.Close()
2142
2143 posts := []PublicPost{}
2144 for rows.Next() {
2145 p := Post{}
2146 err = rows.Scan(&p.ID, &p.ViewCount, &p.Title, &p.Language, &p.Created, &p.Updated, &p.Content)
2147 if err != nil {
2148 log.Error("Failed scanning row: %v", err)
2149 break
2150 }
2151 p.extractData()
2152
2153 posts = append(posts, p.processPost())
2154 }
2155 err = rows.Err()
2156 if err != nil {
2157 log.Error("Error after Next() on rows: %v", err)
2158 }
2159
2160 return &posts, nil
2161}
2162
2163func (db *datastore) GetUserPosts(u *User) (*[]PublicPost, error) {
2164 rows, err := db.Query("SELECT p.id, p.slug, p.view_count, p.title, p.created, p.updated, p.content, p.text_appearance, p.language, p.rtl, c.alias, c.title, c.description, c.view_count FROM posts p LEFT JOIN collections c ON collection_id = c.id WHERE p.owner_id = ? ORDER BY created ASC", u.ID)

Callers

nothing calls this directly

Calls 3

extractDataMethod · 0.95
processPostMethod · 0.95
CloseMethod · 0.80

Tested by

no test coverage detected