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.