Documentation
¶
Index ¶
- Constants
- func ApiDeletePost(c *gin.Context, db *sqlx.DB, dbUser *core.User, postID string) mo.Result[any]
- func ApiEditPost(c *gin.Context, db *sqlx.DB, sender sender.Sender, dbUser *core.User, ...) mo.Result[*ApiNewPostResponse]
- func ApiGetPosts(c *gin.Context, db *sqlx.DB, userID string) mo.Result[*ApiGetPostsResponse]
- func ApiNewPost(c *gin.Context, db *sqlx.DB, sender sender.Sender, dbUser *core.User, ...) mo.Result[*ApiNewPostResponse]
- func ApiUploadImage(c *gin.Context, db *sqlx.DB, dbUser *core.User, ...) mo.Result[*ApiUploadImageResponse]
- func Controls(ctx *gin.Context, db boil.ContextExecutor, userData *auth.UserData) mo.Result[*ControlsPage]
- func CreateConnection(ctx context.Context, db boil.ContextExecutor, user1ID string, user2ID string) error
- func EditPost(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData, ...) mo.Result[*EditPostPage]
- func Explore(ctx *gin.Context, db boil.ContextExecutor, userData *auth.UserData) mo.Result[*FeedPage]
- func Feed(ctx *gin.Context, db boil.ContextExecutor, userData *auth.UserData, ...) mo.Result[*FeedPage]
- func Settings(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData) mo.Result[*SettingsPage]
- func SharedPost(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData, ...) mo.Result[*SharedPostPage]
- func SinglePost(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData, ...) mo.Result[*SinglePostPage]
- func UserHome(ctx *gin.Context, db boil.ContextExecutor, userData *auth.UserData, ...) mo.Result[*UserHomePage]
- func Write(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData) mo.Result[*WritePage]
- type ApiGetPostsResponse
- type ApiNewPostResponse
- type ApiPost
- type ApiUploadImageResponse
- type BasePage
- type ConnectionRequest
- type ControlsPage
- type Draft
- type EditPostPage
- type FeedItem
- type FeedPage
- type FeedPageCapabilities
- type InvitePage
- type LoginPage
- type MediationRequest
- type MediationResult
- type SettingsPage
- type SharedPostPage
- type SinglePostPage
- type UserHomePage
- type WritePage
Constants ¶
View Source
const GetPostsLimitMax = 100
Variables ¶
This section is empty.
Functions ¶
func ApiDeletePost ¶
func ApiEditPost ¶
func ApiGetPosts ¶
func ApiNewPost ¶
func ApiUploadImage ¶
func Controls ¶
func Controls(ctx *gin.Context, db boil.ContextExecutor, userData *auth.UserData) mo.Result[*ControlsPage]
func CreateConnection ¶
func CreateConnection(ctx context.Context, db boil.ContextExecutor, user1ID string, user2ID string) error
CreateConnection assumes it's run in transaction Since connections form an undirected graph, we insert user ids in both combinations to simplify queries with a tradeoff that we need to monitor data for consistency and use twice the size needed
func EditPost ¶
func EditPost(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData, postID string) mo.Result[*EditPostPage]
func Settings ¶
func Settings(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData) mo.Result[*SettingsPage]
func SharedPost ¶
func SharedPost(c *gin.Context, db boil.ContextExecutor, userData *auth.UserData, shareID string) mo.Result[*SharedPostPage]
func SinglePost ¶
Types ¶
type ApiGetPostsResponse ¶
type ApiNewPostResponse ¶
type ApiPost ¶
type ApiPost struct {
ID string `json:"id"`
Subject string `json:"subject"`
MdBody string `json:"md_body"`
Visibility core.PostVisibility `json:"visibility"`
IsPublished bool `json:"is_published"`
PublishedAt int64 `json:"published_at,omitempty"`
UpdatedAt int64 `json:"updated_at,omitempty"`
PublicURL string `json:"public_url"`
}
type ApiUploadImageResponse ¶
type ApiUploadImageResponse struct {
ImageID string `json:"image_id"`
}
type BasePage ¶
type ConnectionRequest ¶
type ConnectionRequest struct {
Requester *core.User
Request *core.UserConnectionMediationRequest
Mediations []*MediationResult
}
type ControlsPage ¶
type ControlsPage struct {
*BasePage
DirectConnections core.UserSlice
SecondDegreeConnections core.UserSlice
WhitelistedConnections core.UserSlice
MediationRequests []*MediationRequest
ConnectionRequests []*ConnectionRequest
Drafts []*Draft
}
type EditPostPage ¶
type EditPostPage struct {
*BasePage
PostID string
Input forms.PostFormInput
LastUpdatedAt time.Time
IsPublished bool
Prompt *postops.PostPrompt
}
type FeedItem ¶
func (*FeedItem) AddedToFeedAt ¶
type FeedPage ¶
type FeedPage struct {
*BasePage
DirectConnections []*core.User
OpenPrompts []*postops.PostPrompt
Items []*FeedItem
Capabilities FeedPageCapabilities
}
type FeedPageCapabilities ¶
type FeedPageCapabilities struct {
ShowPromptForm bool
}
type InvitePage ¶
type InvitePage struct {
*BasePage
Invite *core.UserInvitation
Inviter *core.User
}
func Invite ¶
func Invite(c *gin.Context, db boil.ContextExecutor, invite *core.UserInvitation, userData *auth.UserData) *InvitePage
type MediationRequest ¶
type MediationResult ¶
type MediationResult struct {
Mediation *core.UserConnectionMediator
Mediator *core.User
}
type SettingsPage ¶
type SettingsPage struct {
*BasePage
AvailableInvites int64
UsedInvites core.UserInvitationSlice
ActiveAPIKey *core.UserAPIKey
GeneralSettings *forms.SettingsGeneralForm
UserStyles *forms.SettingsUserStyles
Feeds []*feedops.RssFeed
}
type SharedPostPage ¶
type SharedPostPage struct {
}
type SinglePostPage ¶
type UserHomePage ¶
type UserHomePage struct {
*BasePage
Author *core.User
ConnectionRadius userops.ConnectionRadius
ConnectionAllowed bool
MediationRequest *core.UserConnectionMediationRequest
Posts []*postops.Post
}
type WritePage ¶
type WritePage struct {
*BasePage
Prompt *postops.PostPrompt
}
Click to show internal directories.
Click to hide internal directories.