models

package
v0.0.0-...-750da50 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2020 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type List

type List struct {
	UID            string `json:"uid" gorm:"primary_key:true;unique;column:list_uid"`
	CreatedAt      string `json:"createdAt" gorm:"column:list_created_at"`
	UpdatedAt      string `json:"updatedAt" gorm:"column:list_updated_at"`
	Name           string `json:"name" gorm:"column:list_name" `
	Description    string `json:"description" gorm:"column:list_description" `
	ImageURL       string `json:"imageURL" gorm:"column:list_image_url" `
	HeaderImageURL string `json:"headerImageURL" gorm:"column:list_header_image_url" `
	IsPrivate      bool   `json:"isPrivate" gorm:"default:false;column:list_is_private"`
	IsPinned       bool   `json:"isPinned" gorm:"default:false;column:list_is_pinned"`

	Members []User `json:"members" gorm:"many2many:list_members;column:list_members"`

	CreatedByUID string `json:"-" gorm:"column:list_created_by_uid" `
	CreatedBy    User   `json:"createdBy" gorm:"foreignKey:list_created_by_uid;references:user_uid;column:list_created_by" `
}

List domain model

func (*List) BeforeCreate

func (list *List) BeforeCreate(scope *gorm.Scope) error

BeforeCreate List

func (*List) BeforeUpdate

func (list *List) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate List

type Notification

type Notification struct {
	UID              string `json:"uid" gorm:"primary_key:true;unique;column:notification_uid"`
	CreatedAt        string `json:"createdAt" gorm:"column:notification_created_at"`
	UpdatedAt        string `json:"updatedAt" gorm:"column:notification_updated_at"`
	People           []User `json:"people" gorm:"column:notification_people"`
	NotifyTo         User   `json:"notifyTo" gorm:"column:notification_notify_to"`
	NotificationType string `json:"notificationType" gorm:"not null;column:notification_type"`
	TargetPost       *Post  `json:"targetPost" gorm:"column:notification_target_post"`
	SupplementalPost *Post  `json:"supplementalPost" gorm:"column:notification_supplemental_post"`
	IsRead           bool   `json:"isRead" gorm:"default:false;column:notification_is_read"`
}

Notification domain model

func (*Notification) BeforeCreate

func (notification *Notification) BeforeCreate(scope *gorm.Scope) error

BeforeCreate Notification

func (*Notification) BeforeUpdate

func (notification *Notification) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate Notification

type PasswordReset

type PasswordReset struct {
	gorm.Model
	UserID uint   `gorm:"not null"`
	Token  string `gorm:"not null;unique_index"`
}

PasswordReset domain

type Poll

type Poll struct {
	UID              string         `json:"uid" gorm:"primary_key:true;unique;column:poll_uid"`
	CreatedAt        string         `json:"createdAt" gorm:"column:poll_created_at"`
	UpdatedAt        string         `json:"updatedAt" gorm:"column:poll_updated_at"`
	ParentPostUID    string         `json:"parentPostUID" gorm:"column:poll_parent_post_uid" `
	PollChoiceTitles pq.StringArray `json:"pollChoiceTitles" gorm:"type:text[];column:poll_choice_titles"`
	ExpiresAt        string         `json:"expiresAt" gorm:"not null;column:poll_expires_at"`
}

Poll domain model

func (*Poll) BeforeCreate

func (poll *Poll) BeforeCreate(scope *gorm.Scope) error

BeforeCreate Poll

func (*Poll) BeforeUpdate

func (poll *Poll) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate Poll

type Post

type Post struct {
	UID       string      `json:"uid" gorm:"primary_key:true;unique;column:post_uid"`
	CreatedAt string      `json:"createdAt" gorm:"column:post_created_at"`
	UpdatedAt string      `json:"updatedAt" gorm:"column:post_updated_at"`
	PostedAt  string      `json:"postedAt" gorm:"column:post_posted_at"`
	Content   string      `json:"content" gorm:"column:post_content" `
	Images    []PostImage `json:"images" gorm:"column:post_images" `
	VideoURL  string      `json:"videoURL" gorm:"column:post_video_url" `
	GifURL    string      `json:"gifURL" gorm:"column:post_gif_url" `

	// Belongs To
	SubwallUID string   `json:"-" gorm:"column:post_subwall_uid" `
	Subwall    *Subwall `json:"subwall" gorm:"foreignKey:post_subwall_uid;references:subwall_uid;column:post_subwall" `

	ParentPostUID string `json:"parentPostUID" gorm:"column:post_parent_post_uid" `

	// Belongs To
	CreatedByUID string `json:"-" gorm:"column:post_created_by_uid" `
	CreatedBy    User   `json:"createdBy" gorm:"foreignKey:post_created_by_uid;references:user_uid;column:post_created_by" `

	// Belongs To
	RepostedByUID string `json:"-" gorm:"column:post_reposted_by_uid" `
	RepostedBy    *User  `json:"repostedBy" gorm:"foreignKey:post_reposted_by_uid;references:user_uid;column:post_reposted_by" `

	// Belongs To
	QuotedPostUID string `json:"-" gorm:"column:post_quoted_post_uid" `
	QuotedPost    *Post  `json:"quotedPost" gorm:"foreignKey:post_quoted_post_uid;references:post_uid;column:post_quoted_post" `

	WhoCanReply       string `json:"whoCanReply" gorm:"column:post_who_can_reply" `
	IsDeleted         bool   `json:"isDeleted" gorm:"default:false;column:post_is_deleted"`
	IsPinnedToProfile bool   `json:"isPinnedToProfile" gorm:"default:false;column:post_is_pinned_to_profile"`

	// Has One Poll
	Poll *Poll `json:"-" gorm:"foreignkey:poll_parent_post_uid;references:post_uid;column:poll" `
}

Post domain model

func (*Post) BeforeCreate

func (post *Post) BeforeCreate(scope *gorm.Scope) error

BeforeCreate Post

func (*Post) BeforeUpdate

func (post *Post) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate Post

type PostImage

type PostImage struct {
	ImageURL string
}

PostImage domain model

type PostLike

type PostLike struct {
	UID       string `json:"uid" gorm:"primary_key:true;unique;column:postlike_uid"`
	CreatedAt string `json:"createdAt" gorm:"column:postlike_created_at"`
	UpdatedAt string `json:"updatedAt" gorm:"column:postlike_updated_at"`

	LikedByUID string `json:"-" gorm:"not null;column:postlike_liked_by_uid" `
	LikedBy    User   `json:"likedBy" gorm:"not null;foreignKey:postlike_liked_by_uid;references:user_uid;column:postlike_liked_by" `

	LikedPostUID string `json:"-" gorm:"not null;column:postlike_liked_post_uid"`
	LikedPost    Post   `json:"likedPost" gorm:"not null;foreignKey:postlike_liked_post_uid;references:post_uid;column:postlike_liked_post" `
}

PostLike domain model

func (*PostLike) BeforeCreate

func (postlike *PostLike) BeforeCreate(scope *gorm.Scope) error

BeforeCreate PostLike

func (*PostLike) BeforeUpdate

func (postlike *PostLike) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate PostLike

type Subwall

type Subwall struct {
	UID                   string `json:"uid" gorm:"primary_key:true;unique;column:subwall_uid"`
	CreatedAt             string `json:"createdAt" gorm:"column:subwall_created_at"`
	UpdatedAt             string `json:"updatedAt" gorm:"column:subwall_updated_at"`
	SubwallImageURL       string `json:"subwallImageURL" gorm:"not null;column:subwall_image_url" `
	SubwallHeaderImageURL string `json:"subwallHeaderImageURL" gorm:"not null;column:subwall_header_image_url" `
	SubwallName           string `json:"subwallName" gorm:"not null;column:subwall_name" `
	Slug                  string `json:"slug" gorm:"not null;column:subwall_slug" `
	Description           string `json:"description" gorm:"column:subwall_description" `
	ExternalLink          string `json:"externalLink" gorm:"column:subwall_external_link" `
	IsPrivate             bool   `json:"isPrivate" gorm:"not null;column:subwall_is_private"`

	CreatedByUID string `json:"-" gorm:"column:subwall_created_by_uid" `
	CreatedBy    User   `json:"createdBy" gorm:"foreignKey:subwall_created_by_uid;references:user_uid;column:subwall_created_by" `
}

Subwall domain model

func (*Subwall) BeforeCreate

func (subwall *Subwall) BeforeCreate(scope *gorm.Scope) error

BeforeCreate Subwall

func (*Subwall) BeforeUpdate

func (subwall *Subwall) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate Subwall

type User

type User struct {
	UID                   string `json:"uid" gorm:"primary_key:true;unique;column:user_uid"`
	FirebaseUID           string `json:"-" binding:"required" gorm:"unique;column:firebaseuid"`
	CreatedAt             string `json:"createdAt" gorm:"unique;column:user_created_at"`
	UpdatedAt             string `json:"updatedAt" gorm:"unique;column:user_updated_at"`
	Username              string `json:"username" gorm:"unique;column:username" `
	DisplayName           string `json:"displayName" gorm:"column:displayname" `
	Biography             string `json:"biography" gorm:"column:biography" `
	Location              string `json:"location" gorm:"column:location" `
	ExternalLink          string `json:"externalLink" gorm:"column:externallink" `
	ProfileImageURL       string `json:"profileImageURL" gorm:"column:profileimageurl" `
	ProfileHeaderImageURL string `json:"profileHeaderImageURL" gorm:"column:profileheaderimageurl" `
}

User domain model

func (*User) BeforeCreate

func (user *User) BeforeCreate(scope *gorm.Scope) error

BeforeCreate User

func (*User) BeforeUpdate

func (user *User) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate User

type UserBlock

type UserBlock struct {
	UID       string `json:"uid" gorm:"primary_key:true;unique;column:userblock_uid"`
	CreatedAt string `json:"createdAt" gorm:"column:userblock_created_at"`
	UpdatedAt string `json:"updatedAt" gorm:"column:userblock_updated_at"`

	BlockedByUID string `json:"-" gorm:"column:userblock_blocked_by_uid"`
	BlockedBy    User   `json:"blockedBy" gorm:"foreignKey:userblock_blocked_by_uid;references:user_uid;column:userblock_blocked_by"`

	BlockedUserUID string `json:"-" gorm:"column:userblock_blocked_user_uid"`
	BlockedUser    User   `json:"blockedUser" gorm:"foreignKey:userblock_blocked_user_uid;references:user_uid;column:userblock_blocked_user"`
}

UserBlock domain model

func (*UserBlock) BeforeCreate

func (userblock *UserBlock) BeforeCreate(scope *gorm.Scope) error

BeforeCreate UserBlock

func (*UserBlock) BeforeUpdate

func (userblock *UserBlock) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate UserBlock

type UserFollow

type UserFollow struct {
	UID       string `json:"uid" gorm:"primary_key:true;unique;column:userfollow_uid"`
	CreatedAt string `json:"createdAt" gorm:"column:userfollow_created_at"`
	UpdatedAt string `json:"updatedAt" gorm:"column:userfollow_updated_at"`

	FollowedByUID string `json:"-" gorm:"column:userfollow_followed_by_uid"`
	FollowedBy    User   `json:"followedBy" gorm:"foreignKey:userfollow_followed_by_uid;references:user_uid;column:userfollow_followed_by"`

	FollowedUserUID string `json:"-" gorm:"column:userfollow_followed_user_uid"`
	FollowedUser    User   `json:"followedUser" gorm:"foreignKey:userfollow_followed_user_uid;references:user_uid;column:userfollow_followed_user"`
}

UserFollow domain model

func (*UserFollow) BeforeCreate

func (userfollow *UserFollow) BeforeCreate(scope *gorm.Scope) error

BeforeCreate UserFollow

func (*UserFollow) BeforeUpdate

func (userfollow *UserFollow) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate UserFollow

type UserMute

type UserMute struct {
	UID       string `json:"uid" gorm:"primary_key:true;unique;column:usermute_uid"`
	CreatedAt string `json:"createdAt" gorm:"column:usermute_created_at"`
	UpdatedAt string `json:"updatedAt" gorm:"column:usermute_updated_at"`

	MutedByUID string `json:"-" gorm:"column:usermute_muted_by_uid"`
	MutedBy    User   `json:"mutedBy" gorm:"foreignKey:usermute_muted_by_uid;references:user_uid;column:usermute_muted_by"`

	MutedUserUID string `json:"-" gorm:"column:usermute_muted_user_uid"`
	MutedUser    User   `json:"mutedUser" gorm:"foreignKey:usermute_muted_user_uid;references:user_uid;column:usermute_muted_user"`
}

UserMute domain model

func (*UserMute) BeforeCreate

func (usermute *UserMute) BeforeCreate(scope *gorm.Scope) error

BeforeCreate UserMute

func (*UserMute) BeforeUpdate

func (usermute *UserMute) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate UserMute

type UserVote

type UserVote struct {
	UID       string `json:"uid" gorm:"primary_key:true;unique;column:uservote_uid"`
	CreatedAt string `json:"createdAt" gorm:"column:uservote_created_at"`
	UpdatedAt string `json:"updatedAt" gorm:"column:uservote_updated_at"`

	VotedByUID string `json:"-" gorm:"column:uservote_voted_by_uid"`
	VotedBy    User   `json:"votedBy" gorm:"foreignKey:uservote_voted_by_uid;references:user_uid;column:uservote_voted_by"`

	TargetPollUID string `json:"-" gorm:"column:uservote_target_poll_uid"`
	TargetPoll    Poll   `json:"targetPoll" gorm:"foreignKey:uservote_target_poll_uid;references:post_uid;column:uservote_target_poll"`

	ChoiceIndex int `json:"choiceIndex" gorm:"column:uservote_choice_index"`
}

UserVote domain model

func (*UserVote) BeforeCreate

func (uservote *UserVote) BeforeCreate(scope *gorm.Scope) error

BeforeCreate UserVote

func (*UserVote) BeforeUpdate

func (uservote *UserVote) BeforeUpdate(scope *gorm.Scope) error

BeforeUpdate UserVote

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL