Get back to compiling, but using new jet for publicreport
This was an epically long change, and a terrible idea, but it compiles. This was essentially a cascade that came about because I can't blend jet and bob in the same transaction. In for a penny, I guess...
This commit is contained in:
parent
a95e44cf42
commit
fcd95f1a25
65 changed files with 3129 additions and 3457 deletions
|
|
@ -3,14 +3,17 @@ package platform
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/Gleipnir-Technology/nidus-sync/db"
|
||||
//"github.com/Gleipnir-Technology/nidus-sync/db/gen/nidus-sync/public/enum"
|
||||
"github.com/Gleipnir-Technology/nidus-sync/db/gen/nidus-sync/public/model"
|
||||
querypublic "github.com/Gleipnir-Technology/nidus-sync/db/query/public"
|
||||
"github.com/Gleipnir-Technology/nidus-sync/lint"
|
||||
//"github.com/go-jet/jet/v2/postgres"
|
||||
)
|
||||
|
||||
func CommunicationsForOrganization(ctx context.Context, org_id int64) ([]*model.Communication, error) {
|
||||
func CommunicationsForOrganization(ctx context.Context, org_id int64) ([]model.Communication, error) {
|
||||
return querypublic.CommunicationsFromOrganization(ctx, org_id)
|
||||
}
|
||||
func CommunicationFromID(ctx context.Context, user User, comm_id int64) (*model.Communication, error) {
|
||||
|
|
@ -21,33 +24,39 @@ func CommunicationFromID(ctx context.Context, user User, comm_id int64) (*model.
|
|||
if comm.OrganizationID != user.Organization.ID {
|
||||
return nil, nil
|
||||
}
|
||||
return comm, nil
|
||||
return &comm, nil
|
||||
}
|
||||
func CommunicationMarkInvalid(ctx context.Context, user User, comm_id int64) error {
|
||||
return communicationMark(ctx, user, comm_id, querypublic.CommunicationMarkInvalid)
|
||||
func CommunicationMarkInvalid(ctx context.Context, user User, comm_id int32) error {
|
||||
return communicationMark(ctx, user, comm_id, model.Communicationstatus_Invalid, model.Communicationlogentry_StatusInvalidated)
|
||||
}
|
||||
func CommunicationMarkPendingResponse(ctx context.Context, user User, comm_id int64) error {
|
||||
return communicationMark(ctx, user, comm_id, querypublic.CommunicationMarkPendingResponse)
|
||||
func CommunicationMarkPendingResponse(ctx context.Context, user User, comm_id int32) error {
|
||||
return communicationMark(ctx, user, comm_id, model.Communicationstatus_Pending, model.Communicationlogentry_StatusPending)
|
||||
}
|
||||
func CommunicationMarkPossibleIssue(ctx context.Context, user User, comm_id int64) error {
|
||||
return communicationMark(ctx, user, comm_id, querypublic.CommunicationMarkPossibleIssue)
|
||||
func CommunicationMarkPossibleIssue(ctx context.Context, user User, comm_id int32) error {
|
||||
return communicationMark(ctx, user, comm_id, model.Communicationstatus_PossibleIssue, model.Communicationlogentry_StatusPossibleIssue)
|
||||
}
|
||||
func CommunicationMarkPossibleResolved(ctx context.Context, user User, comm_id int64) error {
|
||||
return communicationMark(ctx, user, comm_id, querypublic.CommunicationMarkPossibleResolved)
|
||||
func CommunicationMarkPossibleResolved(ctx context.Context, user User, comm_id int32) error {
|
||||
return communicationMark(ctx, user, comm_id, model.Communicationstatus_PossibleResolved, model.Communicationlogentry_StatusPossibleResolved)
|
||||
}
|
||||
|
||||
type markFunc = func(context.Context, db.Tx, int64, int64, int64) error
|
||||
|
||||
func communicationMark(ctx context.Context, user User, comm_id int64, f markFunc) error {
|
||||
func communicationMark(ctx context.Context, user User, comm_id int32, status model.Communicationstatus, log_type model.Communicationlogentry) error {
|
||||
txn, err := db.BeginTxn(ctx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("begin txn: %w", err)
|
||||
}
|
||||
defer lint.LogOnErrRollback(txn.Rollback, ctx, "rollback")
|
||||
err = f(ctx, txn, int64(user.Organization.ID), int64(user.ID), comm_id)
|
||||
err = querypublic.CommunicationSetStatus(ctx, txn, int64(user.Organization.ID), int64(comm_id), status)
|
||||
if err != nil {
|
||||
return fmt.Errorf("mark: %w", err)
|
||||
}
|
||||
user_id := int32(user.ID)
|
||||
log_entry := model.CommunicationLogEntry{
|
||||
CommunicationID: comm_id,
|
||||
Created: time.Now(),
|
||||
Type: log_type,
|
||||
User: &user_id,
|
||||
}
|
||||
querypublic.CommunicationLogEntryInsert(ctx, txn, log_entry)
|
||||
txn.Commit(ctx)
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue