add priority ids at outgoing letter
This commit is contained in:
@@ -7,19 +7,19 @@ import (
|
||||
)
|
||||
|
||||
type SearchOutgoingLettersRequest struct {
|
||||
Query string `json:"query" form:"query"`
|
||||
LetterNumber string `json:"letter_number" form:"letter_number"`
|
||||
Subject string `json:"subject" form:"subject"`
|
||||
Status string `json:"status" form:"status"`
|
||||
PriorityID *uuid.UUID `json:"priority_id" form:"priority_id"`
|
||||
InstitutionID *uuid.UUID `json:"institution_id" form:"institution_id"`
|
||||
CreatedBy *uuid.UUID `json:"created_by" form:"created_by"`
|
||||
DateFrom *time.Time `json:"date_from" form:"date_from"`
|
||||
DateTo *time.Time `json:"date_to" form:"date_to"`
|
||||
Page int `json:"page" form:"page"`
|
||||
Limit int `json:"limit" form:"limit"`
|
||||
SortBy string `json:"sort_by" form:"sort_by"`
|
||||
SortOrder string `json:"sort_order" form:"sort_order"`
|
||||
Query string `json:"query" form:"query"`
|
||||
LetterNumber string `json:"letter_number" form:"letter_number"`
|
||||
Subject string `json:"subject" form:"subject"`
|
||||
Status string `json:"status" form:"status"`
|
||||
PriorityID *uuid.UUID `json:"priority_id" form:"priority_id"`
|
||||
InstitutionID *uuid.UUID `json:"institution_id" form:"institution_id"`
|
||||
CreatedBy *uuid.UUID `json:"created_by" form:"created_by"`
|
||||
DateFrom *time.Time `json:"date_from" form:"date_from"`
|
||||
DateTo *time.Time `json:"date_to" form:"date_to"`
|
||||
Page int `json:"page" form:"page"`
|
||||
Limit int `json:"limit" form:"limit"`
|
||||
SortBy string `json:"sort_by" form:"sort_by"`
|
||||
SortOrder string `json:"sort_order" form:"sort_order"`
|
||||
}
|
||||
|
||||
type SearchOutgoingLettersResponse struct {
|
||||
@@ -55,7 +55,7 @@ type CreateOutgoingLetterRequest struct {
|
||||
IssueDate time.Time `json:"issue_date" validate:"required"`
|
||||
Attachments []CreateOutgoingLetterAttachment `json:"attachments,omitempty"`
|
||||
UserID uuid.UUID
|
||||
ApprovalFlowID *uuid.UUID `json:"approval_flow_id,omitempty"`
|
||||
ApprovalFlowID *uuid.UUID `json:"approval_flow_id,omitempty"`
|
||||
}
|
||||
|
||||
type OutgoingLetterRecipientResponse struct {
|
||||
@@ -110,7 +110,7 @@ type OutgoingLetterResponse struct {
|
||||
CreatedBy uuid.UUID `json:"created_by"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
IsRead bool `json:"is_read"`
|
||||
IsRead bool `json:"is_read"`
|
||||
Recipients []OutgoingLetterRecipientResponse `json:"recipients,omitempty"`
|
||||
Attachments []OutgoingLetterAttachmentResponse `json:"attachments,omitempty"`
|
||||
Approvals []OutgoingLetterApprovalResponse `json:"approvals,omitempty"`
|
||||
@@ -127,20 +127,21 @@ type UpdateOutgoingLetterRequest struct {
|
||||
}
|
||||
|
||||
type ListOutgoingLettersRequest struct {
|
||||
Page int `form:"page" json:"page"`
|
||||
Limit int `form:"limit" json:"limit"`
|
||||
Status string `form:"status" json:"status,omitempty"`
|
||||
Query string `form:"q" json:"query,omitempty"`
|
||||
CreatedBy *uuid.UUID `form:"created_by" json:"created_by,omitempty"`
|
||||
DepartmentID *uuid.UUID `form:"department_id" json:"department_id,omitempty"`
|
||||
ReceiverInstitutionID *uuid.UUID `form:"receiver_institution_id" json:"receiver_institution_id,omitempty"`
|
||||
FromDate string `form:"from_date" json:"from_date,omitempty"`
|
||||
ToDate string `form:"to_date" json:"to_date,omitempty"`
|
||||
PriorityID *uuid.UUID `form:"priority_id" json:"priority_id,omitempty"`
|
||||
SortBy string `form:"sort_by" json:"sort_by,omitempty"`
|
||||
SortOrder string `form:"sort_order" json:"sort_order,omitempty"`
|
||||
IsArchived *bool `form:"is_archived" json:"is_archived,omitempty"`
|
||||
IsRead *bool `form:"is_read,omitempty"`
|
||||
Page int `form:"page" json:"page"`
|
||||
Limit int `form:"limit" json:"limit"`
|
||||
Status string `form:"status" json:"status,omitempty"`
|
||||
Query string `form:"q" json:"query,omitempty"`
|
||||
CreatedBy *uuid.UUID `form:"created_by" json:"created_by,omitempty"`
|
||||
DepartmentID *uuid.UUID `form:"department_id" json:"department_id,omitempty"`
|
||||
ReceiverInstitutionID *uuid.UUID `form:"receiver_institution_id" json:"receiver_institution_id,omitempty"`
|
||||
FromDate string `form:"from_date" json:"from_date,omitempty"`
|
||||
ToDate string `form:"to_date" json:"to_date,omitempty"`
|
||||
PriorityID *uuid.UUID `form:"priority_id" json:"priority_id,omitempty"`
|
||||
PriorityIDs []uuid.UUID `json:"priority_ids,omitempty"`
|
||||
SortBy string `form:"sort_by" json:"sort_by,omitempty"`
|
||||
SortOrder string `form:"sort_order" json:"sort_order,omitempty"`
|
||||
IsArchived *bool `form:"is_archived" json:"is_archived,omitempty"`
|
||||
IsRead *bool `form:"is_read,omitempty"`
|
||||
}
|
||||
|
||||
type ListOutgoingLettersResponse struct {
|
||||
@@ -245,8 +246,8 @@ type ApprovalFlowStepResponse struct {
|
||||
|
||||
type ListApprovalFlowsRequest struct {
|
||||
Limit int `json:"limit"`
|
||||
Page int `json:"page"`
|
||||
Search *string `json:"search"`
|
||||
Page int `json:"page"`
|
||||
Search *string `json:"search"`
|
||||
DepartmentID *uuid.UUID `json:"department_id,omitempty"`
|
||||
IsActive *bool `json:"is_active,omitempty"`
|
||||
}
|
||||
@@ -333,16 +334,16 @@ type OutgoingLetterDiscussionAttachmentResponse struct {
|
||||
|
||||
// TimelineEvent represents a single event in the approval timeline
|
||||
type TimelineEvent struct {
|
||||
ID string `json:"id"`
|
||||
Type string `json:"type"` // "approval", "discussion", "submission", "rejection"
|
||||
Timestamp time.Time `json:"timestamp"`
|
||||
Actor *UserResponse `json:"actor,omitempty"`
|
||||
Action string `json:"action"`
|
||||
Description string `json:"description"`
|
||||
Status string `json:"status,omitempty"`
|
||||
StepOrder int `json:"step_order,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Data interface{} `json:"data,omitempty"`
|
||||
ID string `json:"id"`
|
||||
Type string `json:"type"` // "approval", "discussion", "submission", "rejection"
|
||||
Timestamp time.Time `json:"timestamp"`
|
||||
Actor *UserResponse `json:"actor,omitempty"`
|
||||
Action string `json:"action"`
|
||||
Description string `json:"description"`
|
||||
Status string `json:"status,omitempty"`
|
||||
StepOrder int `json:"step_order,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Data interface{} `json:"data,omitempty"`
|
||||
}
|
||||
|
||||
// ApprovalTimelineResponse represents the complete timeline for a letter
|
||||
@@ -358,11 +359,11 @@ type ApprovalTimelineResponse struct {
|
||||
|
||||
// TimelineSummary provides overview statistics for the timeline
|
||||
type TimelineSummary struct {
|
||||
TotalSteps int `json:"total_steps"`
|
||||
CompletedSteps int `json:"completed_steps"`
|
||||
PendingSteps int `json:"pending_steps"`
|
||||
CurrentStep int `json:"current_step"`
|
||||
TotalDuration string `json:"total_duration"`
|
||||
AverageStepTime string `json:"average_step_time"`
|
||||
Status string `json:"status"`
|
||||
TotalSteps int `json:"total_steps"`
|
||||
CompletedSteps int `json:"completed_steps"`
|
||||
PendingSteps int `json:"pending_steps"`
|
||||
CurrentStep int `json:"current_step"`
|
||||
TotalDuration string `json:"total_duration"`
|
||||
AverageStepTime string `json:"average_step_time"`
|
||||
Status string `json:"status"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user