Documentation ¶
Index ¶
- type Category
- type Feedback
- type FeedbackForm
- type FeedbackFormContent
- type OTP
- type Question
- type QuestionResponse
- type Retrospective
- type RetrospectiveFeedback
- type Role
- type Schedule
- type Skill
- type Sprint
- type SprintMember
- type SprintMemberTask
- type SprintSyncStatus
- type SprintTask
- type Task
- type TaskKeyMap
- type Team
- type TeamFeedbackForm
- type Trail
- type User
- type UserProfile
- type UserTeam
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Category ¶
type Category struct { gorm.Model Title string `gorm:"type:varchar(255); not null"` Description string `gorm:"type:text"` }
Category represent a category in feedback form
type Feedback ¶
type Feedback struct { gorm.Model FeedbackForm FeedbackForm Title string `gorm:"type:varchar(255); not null"` FeedbackFormID uint `gorm:"not null"` ForUserProfile UserProfile ForUserProfileID uint ByUserProfile UserProfile ByUserProfileID uint `gorm:"not null"` Team Team TeamID uint `gorm:"not null"` Status int8 `gorm:"default:0; not null;"` SubmittedAt *time.Time DurationStart time.Time `gorm:"not null"` DurationEnd time.Time `gorm:"not null"` ExpireAt time.Time `gorm:"not null"` }
Feedback represent a submitted/in-progress feedback form by a user
type FeedbackForm ¶
type FeedbackForm struct { gorm.Model Title string `gorm:"type:varchar(255); not null"` Description string `gorm:"type:text;"` Status int8 `gorm:"default:0; not null"` Archive bool `gorm:"default:false; not null"` }
FeedbackForm represent template form for feedback TODO Add support for versioning
type FeedbackFormContent ¶
type FeedbackFormContent struct { gorm.Model FeedbackForm FeedbackForm FeedbackFormID uint `gorm:"not null"` Skill Skill SkillID uint `gorm:"not null"` Category Category CategoryID uint `gorm:"not null"` }
FeedbackFormContent represent the content of the feedback form TODO Add support for making it non-editable
type OTP ¶
type OTP struct { Code string `gorm:"type:varchar(16);not null"` ExpiryAt time.Time User User UserID uint `gorm:"unique"` }
OTP ...
type Question ¶
type Question struct { gorm.Model Text string `gorm:"type:text; not null"` Type int8 `gorm:"default:0; not null"` Skill Skill SkillID uint `gorm:"not null"` Options fields.JSONB `gorm:"type:jsonb; not null; default:'{}'::jsonb"` Weight int `gorm:"default:1; not null"` }
Question represent the questions asked for a skill TODO Add support for versioning and making it non-editable
type QuestionResponse ¶
type QuestionResponse struct { gorm.Model Feedback Feedback FeedbackID uint `gorm:"not null"` FeedbackFormContent FeedbackFormContent FeedbackFormContentID uint `gorm:"not null"` Question Question QuestionID uint `gorm:"not null"` Response string `gorm:"type:text"` Comment string `gorm:"type:text"` }
QuestionResponse represent the response/answer to a question asked for a skill
type Retrospective ¶
type Retrospective struct { gorm.Model Title string `gorm:"type:varchar(255); not null"` ProjectName string `gorm:"type:varchar(255); not null"` TaskProviderConfig fields.JSONB `gorm:"type:jsonb; not null; default:'[]'::jsonb"` Team Team TeamID uint `gorm:"not null"` Sprints []Sprint HrsPerStoryPoint float64 `gorm:"not null"` CreatedBy User CreatedByID uint `gorm:"not null"` }
Retrospective ...
type RetrospectiveFeedback ¶
type RetrospectiveFeedback struct { gorm.Model SubType string `gorm:"type:varchar(30); not null"` Type int8 `gorm:"default:0; not null"` Retrospective Retrospective RetrospectiveID uint `gorm:"not null"` Text string `gorm:"type:text; not null"` Scope int8 `gorm:"default:0; not null"` AssigneeID uint Assignee userModels.User AddedAt *time.Time ResolvedAt *time.Time ExpectedAt *time.Time CreatedByID uint `gorm:"not null"` CreatedBy userModels.User }
RetrospectiveFeedback represent Goals, Highlights and Notes of a sprint
type Schedule ¶
type Schedule struct { gorm.Model Team Team TeamID uint `gorm:"not null"` PeriodValue uint `gorm:"not null"` // consecutive period units, after which event need to be recreated PeriodUnit string `gorm:"type:varchar(15); not null"` // Unit of period, eg: year, week, days PeriodOffset uint `gorm:"default:1; not null"` // Offset in days between the period end and actual event date FeedbackTitle string `gorm:"type:varchar(255); not null"` ExpireInDays uint `gorm:"default:10; not null"` NextEventAt time.Time `gorm:"not null"` Active bool `gorm:"default:true; not null"` }
Schedule at which feedback events would be created for a team
type Skill ¶
type Skill struct { gorm.Model Title string `gorm:"type:varchar(255); not null"` DisplayTitle string `gorm:"type:varchar(255)"` Description string `gorm:"type:text"` Weight int `gorm:"default:1"` Questions []Question }
Skill represent the skill comprised by category TODO Add support for versioning and making it non-editable
type Sprint ¶
type Sprint struct { gorm.Model Title string `gorm:"type:varchar(255); not null"` SprintID string `gorm:"type:varchar(30); not null"` Retrospective Retrospective RetrospectiveID uint `gorm:"not null"` Status int8 `gorm:"default:0; not null"` StartDate *time.Time EndDate *time.Time SprintMembers []SprintMember LastSyncedAt *time.Time CurrentlySyncing bool `gorm:"default:true;not null"` CreatedBy User CreatedByID uint `gorm:"not null"` }
Sprint ...
type SprintMember ¶
type SprintMember struct { gorm.Model Sprint Sprint SprintID uint `gorm:"not null"` Member User MemberID uint `gorm:"not null"` AllocationPercent float64 `gorm:"not null;default:100"` ExpectationPercent float64 `gorm:"not null;default:100"` Tasks []SprintMemberTask Vacations float64 `gorm:"not null;default:0"` Rating int8 `gorm:"default:2; not null"` Comment string `gorm:"type:text"` }
SprintMember ...
type SprintMemberTask ¶
type SprintMemberTask struct { gorm.Model SprintMember SprintMember SprintMemberID uint `gorm:"not null"` Task Task TaskID uint `gorm:"not null"` TimeSpentMinutes uint `gorm:"not null"` PointsEarned float64 `gorm:"default:0; not null"` PointsAssigned float64 `gorm:"default:0; not null"` Rating int8 `gorm:"default:2; not null"` Comment string `gorm:"type:text"` }
SprintMemberTask ...
type SprintSyncStatus ¶
type SprintSyncStatus struct { gorm.Model SprintID uint `gorm:"not null"` Sprint Sprint Status int8 `gorm:"default:0; not null"` }
SprintSyncStatus stores the sync history of a sprint
type SprintTask ¶
type SprintTask struct { gorm.Model Sprint Sprint SprintID uint `gorm:"not null"` Task Task TaskID uint `gorm:"not null"` }
SprintTask ...
type Task ¶
type Task struct { gorm.Model TaskID string `gorm:"type:varchar(30); not null"` Retrospective Retrospective RetrospectiveID uint `gorm:"not null"` Summary string `gorm:"type:varchar(255); not null"` Type string `gorm:"type:varchar(30); not null"` Status string `gorm:"type:varchar(50); not null"` Priority string `gorm:"type:varchar(50); not null"` Assignee string `gorm:"type:varchar(100); not null"` Estimate *float64 Fields fields.JSONB `gorm:"type:jsonb; not null; default:'{}'::jsonb"` SprintMemberTasks []SprintMemberTask }
Task ...
type TaskKeyMap ¶
type TaskKeyMap struct { gorm.Model TaskID uint `gorm:"not null"` Task Task Key string `gorm:"type:varchar(30); not null"` }
TaskKeyMap ...
type Team ¶
type Team struct { gorm.Model Name string `gorm:"type:varchar(64);not null"` Description string `gorm:"type:text"` Active bool `gorm:"default:true; not null"` Users []User }
Team represent a team/project comprising a set of user
type TeamFeedbackForm ¶
type TeamFeedbackForm struct { gorm.Model Team Team TeamID uint `gorm:"not null"` ForRole Role ForRoleID uint `gorm:"not null"` FeedbackForm FeedbackForm FeedbackFormID uint `gorm:"not null"` Active bool `gorm:"default:false; not null"` }
TeamFeedbackForm represent the feedback template to be used for a role under a team
type Trail ¶
type Trail struct { gorm.Model Action string `gorm:"type:varchar(255); not null"` ActionItem string `gorm:"type:varchar(255); not null"` ActionItemID uint `gorm:"not null"` ActionBy User ActionByID uint `gorm:"not null"` }
Trail represents an action on a retrospective item
type User ¶
type User struct { gorm.Model Email string `gorm:"type:varchar(255); not null; unique_index"` FirstName string `gorm:"type:varchar(30); not null"` LastName string `gorm:"type:varchar(150)"` Active bool `gorm:"default:true; not null"` Teams []Team Profiles []UserProfile }
User represent the app user in system
type UserProfile ¶
type UserProfile struct { gorm.Model User User UserID uint `gorm:"not null"` Role Role RoleID uint `gorm:"not null"` Active bool `gorm:"default:false; not null"` }
UserProfile associated to app users A user can have multiple profile, but only one of them could be active at any moment
Source Files ¶
- category.go
- feedback.go
- feedback_form.go
- feedback_form_content.go
- otp.go
- question.go
- question_response.go
- retrospective.go
- retrospective_feedback.go
- role.go
- schedule.go
- skill.go
- sprint.go
- sprint_member.go
- sprint_member_task.go
- sprint_sync_status.go
- sprint_task.go
- task.go
- task_key_map.go
- team.go
- team_feedback_form.go
- trail.go
- user.go
- user_profile.go
- user_team.go