Add bulk request signatures
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
@@ -48,6 +48,12 @@ type (
|
|||||||
Signatory gid.GID
|
Signatory gid.GID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BulkRequestSignaturesRequest struct {
|
||||||
|
DocumentIDs []gid.GID
|
||||||
|
SignatoryIDs []gid.GID
|
||||||
|
RequestedBy gid.GID
|
||||||
|
}
|
||||||
|
|
||||||
SigningRequestData struct {
|
SigningRequestData struct {
|
||||||
OrganizationID gid.GID `json:"organization_id"`
|
OrganizationID gid.GID `json:"organization_id"`
|
||||||
PeopleID gid.GID `json:"people_id"`
|
PeopleID gid.GID `json:"people_id"`
|
||||||
@@ -550,12 +556,87 @@ func (s *DocumentService) GetVersionSignature(
|
|||||||
return documentVersionSignature, nil
|
return documentVersionSignature, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *DocumentService) BulkRequestSignatures(
|
||||||
|
ctx context.Context,
|
||||||
|
req BulkRequestSignaturesRequest,
|
||||||
|
) ([]*coredata.DocumentVersionSignature, error) {
|
||||||
|
var signatures []*coredata.DocumentVersionSignature
|
||||||
|
|
||||||
|
err := s.svc.pg.WithTx(
|
||||||
|
ctx,
|
||||||
|
func(tx pg.Conn) error {
|
||||||
|
for _, documentID := range req.DocumentIDs {
|
||||||
|
documentVersion := &coredata.DocumentVersion{}
|
||||||
|
if err := documentVersion.LoadLatestVersion(ctx, tx, s.svc.scope, documentID); err != nil {
|
||||||
|
return fmt.Errorf("cannot load latest version for document %q: %w", documentID, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if documentVersion.Status != coredata.DocumentStatusPublished {
|
||||||
|
return fmt.Errorf("cannot request signature for unpublished document %q", documentID)
|
||||||
|
}
|
||||||
|
|
||||||
|
requestedBy := &coredata.People{}
|
||||||
|
if err := requestedBy.LoadByID(ctx, tx, s.svc.scope, req.RequestedBy); err != nil {
|
||||||
|
return fmt.Errorf("cannot load requested by: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, signatoryID := range req.SignatoryIDs {
|
||||||
|
signature, err := s.createSignatureRequestInTx(ctx, tx, documentVersion.ID, requestedBy, signatoryID)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("cannot create signature request for document %q and signatory %q: %w", documentID, signatoryID, err)
|
||||||
|
}
|
||||||
|
signatures = append(signatures, signature)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return signatures, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DocumentService) createSignatureRequestInTx(
|
||||||
|
ctx context.Context,
|
||||||
|
tx pg.Conn,
|
||||||
|
documentVersionID gid.GID,
|
||||||
|
requestedBy *coredata.People,
|
||||||
|
signatoryID gid.GID,
|
||||||
|
) (*coredata.DocumentVersionSignature, error) {
|
||||||
|
documentVersionSignatureID := gid.New(s.svc.scope.GetTenantID(), coredata.DocumentVersionSignatureEntityType)
|
||||||
|
signatory := &coredata.People{}
|
||||||
|
|
||||||
|
if err := signatory.LoadByID(ctx, tx, s.svc.scope, signatoryID); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot load signatory: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
now := time.Now()
|
||||||
|
documentVersionSignature := &coredata.DocumentVersionSignature{
|
||||||
|
ID: documentVersionSignatureID,
|
||||||
|
DocumentVersionID: documentVersionID,
|
||||||
|
State: coredata.DocumentVersionSignatureStateRequested,
|
||||||
|
RequestedBy: requestedBy.ID,
|
||||||
|
RequestedAt: now,
|
||||||
|
SignedBy: signatory.ID,
|
||||||
|
SignedAt: nil,
|
||||||
|
CreatedAt: now,
|
||||||
|
UpdatedAt: now,
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := documentVersionSignature.Insert(ctx, tx, s.svc.scope); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot insert document version signature: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return documentVersionSignature, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *DocumentService) RequestSignature(
|
func (s *DocumentService) RequestSignature(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
req RequestSignatureRequest,
|
req RequestSignatureRequest,
|
||||||
) (*coredata.DocumentVersionSignature, error) {
|
) (*coredata.DocumentVersionSignature, error) {
|
||||||
documentVersionSignatureID := gid.New(s.svc.scope.GetTenantID(), coredata.DocumentVersionSignatureEntityType)
|
|
||||||
|
|
||||||
documentVersion, err := s.GetVersion(ctx, req.DocumentVersionID)
|
documentVersion, err := s.GetVersion(ctx, req.DocumentVersionID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("cannot get document version: %w", err)
|
return nil, fmt.Errorf("cannot get document version: %w", err)
|
||||||
@@ -565,24 +646,18 @@ func (s *DocumentService) RequestSignature(
|
|||||||
return nil, fmt.Errorf("cannot request signature for unpublished version")
|
return nil, fmt.Errorf("cannot request signature for unpublished version")
|
||||||
}
|
}
|
||||||
|
|
||||||
now := time.Now()
|
var signature *coredata.DocumentVersionSignature
|
||||||
documentVersionSignature := &coredata.DocumentVersionSignature{
|
|
||||||
ID: documentVersionSignatureID,
|
|
||||||
DocumentVersionID: req.DocumentVersionID,
|
|
||||||
State: coredata.DocumentVersionSignatureStateRequested,
|
|
||||||
RequestedBy: req.RequestedBy,
|
|
||||||
RequestedAt: now,
|
|
||||||
SignedBy: req.Signatory,
|
|
||||||
SignedAt: nil,
|
|
||||||
CreatedAt: now,
|
|
||||||
UpdatedAt: now,
|
|
||||||
}
|
|
||||||
|
|
||||||
err = s.svc.pg.WithTx(
|
err = s.svc.pg.WithTx(
|
||||||
ctx,
|
ctx,
|
||||||
func(conn pg.Conn) error {
|
func(tx pg.Conn) error {
|
||||||
if err := documentVersionSignature.Insert(ctx, conn, s.svc.scope); err != nil {
|
requestedBy := &coredata.People{}
|
||||||
return fmt.Errorf("cannot insert document version signature: %w", err)
|
if err := requestedBy.LoadByID(ctx, tx, s.svc.scope, req.RequestedBy); err != nil {
|
||||||
|
return fmt.Errorf("cannot load requested by %q: %w", req.RequestedBy, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
signature, err = s.createSignatureRequestInTx(ctx, tx, req.DocumentVersionID, requestedBy, req.Signatory)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("cannot create signature request: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -593,7 +668,7 @@ func (s *DocumentService) RequestSignature(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return documentVersionSignature, nil
|
return signature, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DocumentService) ListSignatures(
|
func (s *DocumentService) ListSignatures(
|
||||||
|
|||||||
@@ -1397,6 +1397,9 @@ type Mutation {
|
|||||||
input: UpdateDocumentVersionInput!
|
input: UpdateDocumentVersionInput!
|
||||||
): UpdateDocumentVersionPayload!
|
): UpdateDocumentVersionPayload!
|
||||||
requestSignature(input: RequestSignatureInput!): RequestSignaturePayload!
|
requestSignature(input: RequestSignatureInput!): RequestSignaturePayload!
|
||||||
|
bulkRequestSignatures(
|
||||||
|
input: BulkRequestSignaturesInput!
|
||||||
|
): BulkRequestSignaturesPayload!
|
||||||
sendSigningNotifications(
|
sendSigningNotifications(
|
||||||
input: SendSigningNotificationsInput!
|
input: SendSigningNotificationsInput!
|
||||||
): SendSigningNotificationsPayload!
|
): SendSigningNotificationsPayload!
|
||||||
@@ -2098,10 +2101,19 @@ input RequestSignatureInput {
|
|||||||
signatoryId: ID!
|
signatoryId: ID!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input BulkRequestSignaturesInput {
|
||||||
|
documentIds: [ID!]!
|
||||||
|
signatoryIds: [ID!]!
|
||||||
|
}
|
||||||
|
|
||||||
type RequestSignaturePayload {
|
type RequestSignaturePayload {
|
||||||
documentVersionSignatureEdge: DocumentVersionSignatureEdge!
|
documentVersionSignatureEdge: DocumentVersionSignatureEdge!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type BulkRequestSignaturesPayload {
|
||||||
|
documentVersionSignatureEdges: [DocumentVersionSignatureEdge!]!
|
||||||
|
}
|
||||||
|
|
||||||
input BulkPublishDocumentVersionsInput {
|
input BulkPublishDocumentVersionsInput {
|
||||||
documentIds: [ID!]!
|
documentIds: [ID!]!
|
||||||
changelog: String!
|
changelog: String!
|
||||||
|
|||||||
@@ -116,6 +116,10 @@ type ComplexityRoot struct {
|
|||||||
DocumentVersionEdges func(childComplexity int) int
|
DocumentVersionEdges func(childComplexity int) int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BulkRequestSignaturesPayload struct {
|
||||||
|
DocumentVersionSignatureEdges func(childComplexity int) int
|
||||||
|
}
|
||||||
|
|
||||||
CancelSignatureRequestPayload struct {
|
CancelSignatureRequestPayload struct {
|
||||||
DeletedDocumentVersionSignatureID func(childComplexity int) int
|
DeletedDocumentVersionSignatureID func(childComplexity int) int
|
||||||
}
|
}
|
||||||
@@ -514,6 +518,7 @@ type ComplexityRoot struct {
|
|||||||
AssessVendor func(childComplexity int, input types.AssessVendorInput) int
|
AssessVendor func(childComplexity int, input types.AssessVendorInput) int
|
||||||
AssignTask func(childComplexity int, input types.AssignTaskInput) int
|
AssignTask func(childComplexity int, input types.AssignTaskInput) int
|
||||||
BulkPublishDocumentVersions func(childComplexity int, input types.BulkPublishDocumentVersionsInput) int
|
BulkPublishDocumentVersions func(childComplexity int, input types.BulkPublishDocumentVersionsInput) int
|
||||||
|
BulkRequestSignatures func(childComplexity int, input types.BulkRequestSignaturesInput) int
|
||||||
CancelSignatureRequest func(childComplexity int, input types.CancelSignatureRequestInput) int
|
CancelSignatureRequest func(childComplexity int, input types.CancelSignatureRequestInput) int
|
||||||
ConfirmEmail func(childComplexity int, input types.ConfirmEmailInput) int
|
ConfirmEmail func(childComplexity int, input types.ConfirmEmailInput) int
|
||||||
CreateAsset func(childComplexity int, input types.CreateAssetInput) int
|
CreateAsset func(childComplexity int, input types.CreateAssetInput) int
|
||||||
@@ -1035,6 +1040,7 @@ type MutationResolver interface {
|
|||||||
CreateDraftDocumentVersion(ctx context.Context, input types.CreateDraftDocumentVersionInput) (*types.CreateDraftDocumentVersionPayload, error)
|
CreateDraftDocumentVersion(ctx context.Context, input types.CreateDraftDocumentVersionInput) (*types.CreateDraftDocumentVersionPayload, error)
|
||||||
UpdateDocumentVersion(ctx context.Context, input types.UpdateDocumentVersionInput) (*types.UpdateDocumentVersionPayload, error)
|
UpdateDocumentVersion(ctx context.Context, input types.UpdateDocumentVersionInput) (*types.UpdateDocumentVersionPayload, error)
|
||||||
RequestSignature(ctx context.Context, input types.RequestSignatureInput) (*types.RequestSignaturePayload, error)
|
RequestSignature(ctx context.Context, input types.RequestSignatureInput) (*types.RequestSignaturePayload, error)
|
||||||
|
BulkRequestSignatures(ctx context.Context, input types.BulkRequestSignaturesInput) (*types.BulkRequestSignaturesPayload, error)
|
||||||
SendSigningNotifications(ctx context.Context, input types.SendSigningNotificationsInput) (*types.SendSigningNotificationsPayload, error)
|
SendSigningNotifications(ctx context.Context, input types.SendSigningNotificationsInput) (*types.SendSigningNotificationsPayload, error)
|
||||||
CancelSignatureRequest(ctx context.Context, input types.CancelSignatureRequestInput) (*types.CancelSignatureRequestPayload, error)
|
CancelSignatureRequest(ctx context.Context, input types.CancelSignatureRequestInput) (*types.CancelSignatureRequestPayload, error)
|
||||||
ExportDocumentVersionPDF(ctx context.Context, input types.ExportDocumentVersionPDFInput) (*types.ExportDocumentVersionPDFPayload, error)
|
ExportDocumentVersionPDF(ctx context.Context, input types.ExportDocumentVersionPDFInput) (*types.ExportDocumentVersionPDFPayload, error)
|
||||||
@@ -1280,6 +1286,13 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin
|
|||||||
|
|
||||||
return e.complexity.BulkPublishDocumentVersionsPayload.DocumentVersionEdges(childComplexity), true
|
return e.complexity.BulkPublishDocumentVersionsPayload.DocumentVersionEdges(childComplexity), true
|
||||||
|
|
||||||
|
case "BulkRequestSignaturesPayload.documentVersionSignatureEdges":
|
||||||
|
if e.complexity.BulkRequestSignaturesPayload.DocumentVersionSignatureEdges == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.BulkRequestSignaturesPayload.DocumentVersionSignatureEdges(childComplexity), true
|
||||||
|
|
||||||
case "CancelSignatureRequestPayload.deletedDocumentVersionSignatureId":
|
case "CancelSignatureRequestPayload.deletedDocumentVersionSignatureId":
|
||||||
if e.complexity.CancelSignatureRequestPayload.DeletedDocumentVersionSignatureID == nil {
|
if e.complexity.CancelSignatureRequestPayload.DeletedDocumentVersionSignatureID == nil {
|
||||||
break
|
break
|
||||||
@@ -2638,6 +2651,18 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin
|
|||||||
|
|
||||||
return e.complexity.Mutation.BulkPublishDocumentVersions(childComplexity, args["input"].(types.BulkPublishDocumentVersionsInput)), true
|
return e.complexity.Mutation.BulkPublishDocumentVersions(childComplexity, args["input"].(types.BulkPublishDocumentVersionsInput)), true
|
||||||
|
|
||||||
|
case "Mutation.bulkRequestSignatures":
|
||||||
|
if e.complexity.Mutation.BulkRequestSignatures == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
args, err := ec.field_Mutation_bulkRequestSignatures_args(ctx, rawArgs)
|
||||||
|
if err != nil {
|
||||||
|
return 0, false
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.Mutation.BulkRequestSignatures(childComplexity, args["input"].(types.BulkRequestSignaturesInput)), true
|
||||||
|
|
||||||
case "Mutation.cancelSignatureRequest":
|
case "Mutation.cancelSignatureRequest":
|
||||||
if e.complexity.Mutation.CancelSignatureRequest == nil {
|
if e.complexity.Mutation.CancelSignatureRequest == nil {
|
||||||
break
|
break
|
||||||
@@ -4755,6 +4780,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler {
|
|||||||
ec.unmarshalInputAssetOrder,
|
ec.unmarshalInputAssetOrder,
|
||||||
ec.unmarshalInputAssignTaskInput,
|
ec.unmarshalInputAssignTaskInput,
|
||||||
ec.unmarshalInputBulkPublishDocumentVersionsInput,
|
ec.unmarshalInputBulkPublishDocumentVersionsInput,
|
||||||
|
ec.unmarshalInputBulkRequestSignaturesInput,
|
||||||
ec.unmarshalInputCancelSignatureRequestInput,
|
ec.unmarshalInputCancelSignatureRequestInput,
|
||||||
ec.unmarshalInputConfirmEmailInput,
|
ec.unmarshalInputConfirmEmailInput,
|
||||||
ec.unmarshalInputConnectorOrder,
|
ec.unmarshalInputConnectorOrder,
|
||||||
@@ -6338,6 +6364,9 @@ type Mutation {
|
|||||||
input: UpdateDocumentVersionInput!
|
input: UpdateDocumentVersionInput!
|
||||||
): UpdateDocumentVersionPayload!
|
): UpdateDocumentVersionPayload!
|
||||||
requestSignature(input: RequestSignatureInput!): RequestSignaturePayload!
|
requestSignature(input: RequestSignatureInput!): RequestSignaturePayload!
|
||||||
|
bulkRequestSignatures(
|
||||||
|
input: BulkRequestSignaturesInput!
|
||||||
|
): BulkRequestSignaturesPayload!
|
||||||
sendSigningNotifications(
|
sendSigningNotifications(
|
||||||
input: SendSigningNotificationsInput!
|
input: SendSigningNotificationsInput!
|
||||||
): SendSigningNotificationsPayload!
|
): SendSigningNotificationsPayload!
|
||||||
@@ -7039,10 +7068,19 @@ input RequestSignatureInput {
|
|||||||
signatoryId: ID!
|
signatoryId: ID!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input BulkRequestSignaturesInput {
|
||||||
|
documentIds: [ID!]!
|
||||||
|
signatoryIds: [ID!]!
|
||||||
|
}
|
||||||
|
|
||||||
type RequestSignaturePayload {
|
type RequestSignaturePayload {
|
||||||
documentVersionSignatureEdge: DocumentVersionSignatureEdge!
|
documentVersionSignatureEdge: DocumentVersionSignatureEdge!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type BulkRequestSignaturesPayload {
|
||||||
|
documentVersionSignatureEdges: [DocumentVersionSignatureEdge!]!
|
||||||
|
}
|
||||||
|
|
||||||
input BulkPublishDocumentVersionsInput {
|
input BulkPublishDocumentVersionsInput {
|
||||||
documentIds: [ID!]!
|
documentIds: [ID!]!
|
||||||
changelog: String!
|
changelog: String!
|
||||||
@@ -8618,6 +8656,29 @@ func (ec *executionContext) field_Mutation_bulkPublishDocumentVersions_argsInput
|
|||||||
return zeroVal, nil
|
return zeroVal, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) field_Mutation_bulkRequestSignatures_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) {
|
||||||
|
var err error
|
||||||
|
args := map[string]any{}
|
||||||
|
arg0, err := ec.field_Mutation_bulkRequestSignatures_argsInput(ctx, rawArgs)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
args["input"] = arg0
|
||||||
|
return args, nil
|
||||||
|
}
|
||||||
|
func (ec *executionContext) field_Mutation_bulkRequestSignatures_argsInput(
|
||||||
|
ctx context.Context,
|
||||||
|
rawArgs map[string]any,
|
||||||
|
) (types.BulkRequestSignaturesInput, error) {
|
||||||
|
ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input"))
|
||||||
|
if tmp, ok := rawArgs["input"]; ok {
|
||||||
|
return ec.unmarshalNBulkRequestSignaturesInput2githubᚗcomᚋgetproboᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐBulkRequestSignaturesInput(ctx, tmp)
|
||||||
|
}
|
||||||
|
|
||||||
|
var zeroVal types.BulkRequestSignaturesInput
|
||||||
|
return zeroVal, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) field_Mutation_cancelSignatureRequest_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) {
|
func (ec *executionContext) field_Mutation_cancelSignatureRequest_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) {
|
||||||
var err error
|
var err error
|
||||||
args := map[string]any{}
|
args := map[string]any{}
|
||||||
@@ -13275,6 +13336,56 @@ func (ec *executionContext) fieldContext_BulkPublishDocumentVersionsPayload_docu
|
|||||||
return fc, nil
|
return fc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _BulkRequestSignaturesPayload_documentVersionSignatureEdges(ctx context.Context, field graphql.CollectedField, obj *types.BulkRequestSignaturesPayload) (ret graphql.Marshaler) {
|
||||||
|
fc, err := ec.fieldContext_BulkRequestSignaturesPayload_documentVersionSignatureEdges(ctx, field)
|
||||||
|
if err != nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = graphql.Null
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) {
|
||||||
|
ctx = rctx // use context from middleware stack in children
|
||||||
|
return obj.DocumentVersionSignatureEdges, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
if resTmp == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, fc) {
|
||||||
|
ec.Errorf(ctx, "must not be null")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
res := resTmp.([]*types.DocumentVersionSignatureEdge)
|
||||||
|
fc.Result = res
|
||||||
|
return ec.marshalNDocumentVersionSignatureEdge2ᚕᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐDocumentVersionSignatureEdgeᚄ(ctx, field.Selections, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_BulkRequestSignaturesPayload_documentVersionSignatureEdges(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "BulkRequestSignaturesPayload",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: false,
|
||||||
|
IsResolver: false,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
switch field.Name {
|
||||||
|
case "cursor":
|
||||||
|
return ec.fieldContext_DocumentVersionSignatureEdge_cursor(ctx, field)
|
||||||
|
case "node":
|
||||||
|
return ec.fieldContext_DocumentVersionSignatureEdge_node(ctx, field)
|
||||||
|
}
|
||||||
|
return nil, fmt.Errorf("no field named %q was found under type DocumentVersionSignatureEdge", field.Name)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _CancelSignatureRequestPayload_deletedDocumentVersionSignatureId(ctx context.Context, field graphql.CollectedField, obj *types.CancelSignatureRequestPayload) (ret graphql.Marshaler) {
|
func (ec *executionContext) _CancelSignatureRequestPayload_deletedDocumentVersionSignatureId(ctx context.Context, field graphql.CollectedField, obj *types.CancelSignatureRequestPayload) (ret graphql.Marshaler) {
|
||||||
fc, err := ec.fieldContext_CancelSignatureRequestPayload_deletedDocumentVersionSignatureId(ctx, field)
|
fc, err := ec.fieldContext_CancelSignatureRequestPayload_deletedDocumentVersionSignatureId(ctx, field)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -25538,6 +25649,65 @@ func (ec *executionContext) fieldContext_Mutation_requestSignature(ctx context.C
|
|||||||
return fc, nil
|
return fc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _Mutation_bulkRequestSignatures(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
|
||||||
|
fc, err := ec.fieldContext_Mutation_bulkRequestSignatures(ctx, field)
|
||||||
|
if err != nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = graphql.Null
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) {
|
||||||
|
ctx = rctx // use context from middleware stack in children
|
||||||
|
return ec.resolvers.Mutation().BulkRequestSignatures(rctx, fc.Args["input"].(types.BulkRequestSignaturesInput))
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
if resTmp == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, fc) {
|
||||||
|
ec.Errorf(ctx, "must not be null")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
res := resTmp.(*types.BulkRequestSignaturesPayload)
|
||||||
|
fc.Result = res
|
||||||
|
return ec.marshalNBulkRequestSignaturesPayload2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐBulkRequestSignaturesPayload(ctx, field.Selections, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_Mutation_bulkRequestSignatures(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "Mutation",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: true,
|
||||||
|
IsResolver: true,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
switch field.Name {
|
||||||
|
case "documentVersionSignatureEdges":
|
||||||
|
return ec.fieldContext_BulkRequestSignaturesPayload_documentVersionSignatureEdges(ctx, field)
|
||||||
|
}
|
||||||
|
return nil, fmt.Errorf("no field named %q was found under type BulkRequestSignaturesPayload", field.Name)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
err = ec.Recover(ctx, r)
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
if fc.Args, err = ec.field_Mutation_bulkRequestSignatures_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return fc, err
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _Mutation_sendSigningNotifications(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
|
func (ec *executionContext) _Mutation_sendSigningNotifications(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
|
||||||
fc, err := ec.fieldContext_Mutation_sendSigningNotifications(ctx, field)
|
fc, err := ec.fieldContext_Mutation_sendSigningNotifications(ctx, field)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -37674,6 +37844,40 @@ func (ec *executionContext) unmarshalInputBulkPublishDocumentVersionsInput(ctx c
|
|||||||
return it, nil
|
return it, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalInputBulkRequestSignaturesInput(ctx context.Context, obj any) (types.BulkRequestSignaturesInput, error) {
|
||||||
|
var it types.BulkRequestSignaturesInput
|
||||||
|
asMap := map[string]any{}
|
||||||
|
for k, v := range obj.(map[string]any) {
|
||||||
|
asMap[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldsInOrder := [...]string{"documentIds", "signatoryIds"}
|
||||||
|
for _, k := range fieldsInOrder {
|
||||||
|
v, ok := asMap[k]
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch k {
|
||||||
|
case "documentIds":
|
||||||
|
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("documentIds"))
|
||||||
|
data, err := ec.unmarshalNID2ᚕgithubᚗcomᚋgetproboᚋproboᚋpkgᚋgidᚐGIDᚄ(ctx, v)
|
||||||
|
if err != nil {
|
||||||
|
return it, err
|
||||||
|
}
|
||||||
|
it.DocumentIds = data
|
||||||
|
case "signatoryIds":
|
||||||
|
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("signatoryIds"))
|
||||||
|
data, err := ec.unmarshalNID2ᚕgithubᚗcomᚋgetproboᚋproboᚋpkgᚋgidᚐGIDᚄ(ctx, v)
|
||||||
|
if err != nil {
|
||||||
|
return it, err
|
||||||
|
}
|
||||||
|
it.SignatoryIds = data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return it, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) unmarshalInputCancelSignatureRequestInput(ctx context.Context, obj any) (types.CancelSignatureRequestInput, error) {
|
func (ec *executionContext) unmarshalInputCancelSignatureRequestInput(ctx context.Context, obj any) (types.CancelSignatureRequestInput, error) {
|
||||||
var it types.CancelSignatureRequestInput
|
var it types.CancelSignatureRequestInput
|
||||||
asMap := map[string]any{}
|
asMap := map[string]any{}
|
||||||
@@ -41931,6 +42135,45 @@ func (ec *executionContext) _BulkPublishDocumentVersionsPayload(ctx context.Cont
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var bulkRequestSignaturesPayloadImplementors = []string{"BulkRequestSignaturesPayload"}
|
||||||
|
|
||||||
|
func (ec *executionContext) _BulkRequestSignaturesPayload(ctx context.Context, sel ast.SelectionSet, obj *types.BulkRequestSignaturesPayload) graphql.Marshaler {
|
||||||
|
fields := graphql.CollectFields(ec.OperationContext, sel, bulkRequestSignaturesPayloadImplementors)
|
||||||
|
|
||||||
|
out := graphql.NewFieldSet(fields)
|
||||||
|
deferred := make(map[string]*graphql.FieldSet)
|
||||||
|
for i, field := range fields {
|
||||||
|
switch field.Name {
|
||||||
|
case "__typename":
|
||||||
|
out.Values[i] = graphql.MarshalString("BulkRequestSignaturesPayload")
|
||||||
|
case "documentVersionSignatureEdges":
|
||||||
|
out.Values[i] = ec._BulkRequestSignaturesPayload_documentVersionSignatureEdges(ctx, field, obj)
|
||||||
|
if out.Values[i] == graphql.Null {
|
||||||
|
out.Invalids++
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
panic("unknown field " + strconv.Quote(field.Name))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.Dispatch(ctx)
|
||||||
|
if out.Invalids > 0 {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
|
||||||
|
atomic.AddInt32(&ec.deferred, int32(len(deferred)))
|
||||||
|
|
||||||
|
for label, dfs := range deferred {
|
||||||
|
ec.processDeferredGroup(graphql.DeferredGroup{
|
||||||
|
Label: label,
|
||||||
|
Path: graphql.GetPath(ctx),
|
||||||
|
FieldSet: dfs,
|
||||||
|
Context: ctx,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
var cancelSignatureRequestPayloadImplementors = []string{"CancelSignatureRequestPayload"}
|
var cancelSignatureRequestPayloadImplementors = []string{"CancelSignatureRequestPayload"}
|
||||||
|
|
||||||
func (ec *executionContext) _CancelSignatureRequestPayload(ctx context.Context, sel ast.SelectionSet, obj *types.CancelSignatureRequestPayload) graphql.Marshaler {
|
func (ec *executionContext) _CancelSignatureRequestPayload(ctx context.Context, sel ast.SelectionSet, obj *types.CancelSignatureRequestPayload) graphql.Marshaler {
|
||||||
@@ -46625,6 +46868,13 @@ func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet)
|
|||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
out.Invalids++
|
out.Invalids++
|
||||||
}
|
}
|
||||||
|
case "bulkRequestSignatures":
|
||||||
|
out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) {
|
||||||
|
return ec._Mutation_bulkRequestSignatures(ctx, field)
|
||||||
|
})
|
||||||
|
if out.Values[i] == graphql.Null {
|
||||||
|
out.Invalids++
|
||||||
|
}
|
||||||
case "sendSigningNotifications":
|
case "sendSigningNotifications":
|
||||||
out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) {
|
out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) {
|
||||||
return ec._Mutation_sendSigningNotifications(ctx, field)
|
return ec._Mutation_sendSigningNotifications(ctx, field)
|
||||||
@@ -50932,6 +51182,25 @@ func (ec *executionContext) marshalNBulkPublishDocumentVersionsPayload2ᚖgithub
|
|||||||
return ec._BulkPublishDocumentVersionsPayload(ctx, sel, v)
|
return ec._BulkPublishDocumentVersionsPayload(ctx, sel, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalNBulkRequestSignaturesInput2githubᚗcomᚋgetproboᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐBulkRequestSignaturesInput(ctx context.Context, v any) (types.BulkRequestSignaturesInput, error) {
|
||||||
|
res, err := ec.unmarshalInputBulkRequestSignaturesInput(ctx, v)
|
||||||
|
return res, graphql.ErrorOnPath(ctx, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNBulkRequestSignaturesPayload2githubᚗcomᚋgetproboᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐBulkRequestSignaturesPayload(ctx context.Context, sel ast.SelectionSet, v types.BulkRequestSignaturesPayload) graphql.Marshaler {
|
||||||
|
return ec._BulkRequestSignaturesPayload(ctx, sel, &v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNBulkRequestSignaturesPayload2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐBulkRequestSignaturesPayload(ctx context.Context, sel ast.SelectionSet, v *types.BulkRequestSignaturesPayload) graphql.Marshaler {
|
||||||
|
if v == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
||||||
|
ec.Errorf(ctx, "the requested element is null which the schema does not allow")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
return ec._BulkRequestSignaturesPayload(ctx, sel, v)
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) unmarshalNBusinessImpact2githubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐBusinessImpact(ctx context.Context, v any) (coredata.BusinessImpact, error) {
|
func (ec *executionContext) unmarshalNBusinessImpact2githubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐBusinessImpact(ctx context.Context, v any) (coredata.BusinessImpact, error) {
|
||||||
tmp, err := graphql.UnmarshalString(v)
|
tmp, err := graphql.UnmarshalString(v)
|
||||||
res := unmarshalNBusinessImpact2githubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐBusinessImpact[tmp]
|
res := unmarshalNBusinessImpact2githubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐBusinessImpact[tmp]
|
||||||
|
|||||||
@@ -35,6 +35,15 @@ func NewDocumentVersionSignatureConnection(page *page.Page[*coredata.DocumentVer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewDocumentVersionSignatureEdges(documentVersionSignatures []*coredata.DocumentVersionSignature, orderBy coredata.DocumentVersionSignatureOrderField) []*DocumentVersionSignatureEdge {
|
||||||
|
edges := make([]*DocumentVersionSignatureEdge, len(documentVersionSignatures))
|
||||||
|
for i := range edges {
|
||||||
|
edges[i] = NewDocumentVersionSignatureEdge(documentVersionSignatures[i], orderBy)
|
||||||
|
}
|
||||||
|
|
||||||
|
return edges
|
||||||
|
}
|
||||||
|
|
||||||
func NewDocumentVersionSignatureEdge(documentVersionSignature *coredata.DocumentVersionSignature, orderBy coredata.DocumentVersionSignatureOrderField) *DocumentVersionSignatureEdge {
|
func NewDocumentVersionSignatureEdge(documentVersionSignature *coredata.DocumentVersionSignature, orderBy coredata.DocumentVersionSignatureOrderField) *DocumentVersionSignatureEdge {
|
||||||
return &DocumentVersionSignatureEdge{
|
return &DocumentVersionSignatureEdge{
|
||||||
Cursor: documentVersionSignature.CursorKey(orderBy),
|
Cursor: documentVersionSignature.CursorKey(orderBy),
|
||||||
|
|||||||
@@ -66,6 +66,15 @@ type BulkPublishDocumentVersionsPayload struct {
|
|||||||
DocumentEdges []*DocumentEdge `json:"documentEdges"`
|
DocumentEdges []*DocumentEdge `json:"documentEdges"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type BulkRequestSignaturesInput struct {
|
||||||
|
DocumentIds []gid.GID `json:"documentIds"`
|
||||||
|
SignatoryIds []gid.GID `json:"signatoryIds"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type BulkRequestSignaturesPayload struct {
|
||||||
|
DocumentVersionSignatureEdges []*DocumentVersionSignatureEdge `json:"documentVersionSignatureEdges"`
|
||||||
|
}
|
||||||
|
|
||||||
type CancelSignatureRequestInput struct {
|
type CancelSignatureRequestInput struct {
|
||||||
DocumentVersionSignatureID gid.GID `json:"documentVersionSignatureId"`
|
DocumentVersionSignatureID gid.GID `json:"documentVersionSignatureId"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1836,6 +1836,35 @@ func (r *mutationResolver) PublishDocumentVersion(ctx context.Context, input typ
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BulkPublishDocumentVersions is the resolver for the bulkPublishDocumentVersions field.
|
||||||
|
func (r *mutationResolver) BulkPublishDocumentVersions(ctx context.Context, input types.BulkPublishDocumentVersionsInput) (*types.BulkPublishDocumentVersionsPayload, error) {
|
||||||
|
if len(input.DocumentIds) == 0 {
|
||||||
|
return &types.BulkPublishDocumentVersionsPayload{
|
||||||
|
DocumentVersionEdges: []*types.DocumentVersionEdge{},
|
||||||
|
DocumentEdges: []*types.DocumentEdge{},
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
prb := r.ProboService(ctx, input.DocumentIds[0].TenantID())
|
||||||
|
|
||||||
|
user := UserFromContext(ctx)
|
||||||
|
|
||||||
|
people, err := prb.Peoples.GetByUserID(ctx, user.ID)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Errorf("cannot get people: %w", err))
|
||||||
|
}
|
||||||
|
|
||||||
|
documentVersions, documents, err := prb.Documents.BulkPublishVersions(ctx, input.DocumentIds, people.ID, input.Changelog)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Errorf("cannot bulk publish document versions: %w", err))
|
||||||
|
}
|
||||||
|
|
||||||
|
return &types.BulkPublishDocumentVersionsPayload{
|
||||||
|
DocumentVersionEdges: types.NewDocumentVersionEdges(documentVersions, coredata.DocumentVersionOrderFieldCreatedAt),
|
||||||
|
DocumentEdges: types.NewDocumentEdges(documents, coredata.DocumentOrderFieldTitle),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
// GenerateDocumentChangelog is the resolver for the generateDocumentChangelog field.
|
// GenerateDocumentChangelog is the resolver for the generateDocumentChangelog field.
|
||||||
func (r *mutationResolver) GenerateDocumentChangelog(ctx context.Context, input types.GenerateDocumentChangelogInput) (*types.GenerateDocumentChangelogPayload, error) {
|
func (r *mutationResolver) GenerateDocumentChangelog(ctx context.Context, input types.GenerateDocumentChangelogInput) (*types.GenerateDocumentChangelogPayload, error) {
|
||||||
prb := r.ProboService(ctx, input.DocumentID.TenantID())
|
prb := r.ProboService(ctx, input.DocumentID.TenantID())
|
||||||
@@ -1915,6 +1944,40 @@ func (r *mutationResolver) RequestSignature(ctx context.Context, input types.Req
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BulkRequestSignatures is the resolver for the bulkRequestSignatures field.
|
||||||
|
func (r *mutationResolver) BulkRequestSignatures(ctx context.Context, input types.BulkRequestSignaturesInput) (*types.BulkRequestSignaturesPayload, error) {
|
||||||
|
if len(input.DocumentIds) == 0 {
|
||||||
|
return &types.BulkRequestSignaturesPayload{
|
||||||
|
DocumentVersionSignatureEdges: []*types.DocumentVersionSignatureEdge{},
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
prb := r.ProboService(ctx, input.DocumentIds[0].TenantID())
|
||||||
|
|
||||||
|
user := UserFromContext(ctx)
|
||||||
|
|
||||||
|
people, err := prb.Peoples.GetByUserID(ctx, user.ID)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Errorf("cannot get people: %w", err))
|
||||||
|
}
|
||||||
|
|
||||||
|
documentVersionSignatures, err := prb.Documents.BulkRequestSignatures(
|
||||||
|
ctx,
|
||||||
|
probo.BulkRequestSignaturesRequest{
|
||||||
|
DocumentIDs: input.DocumentIds,
|
||||||
|
SignatoryIDs: input.SignatoryIds,
|
||||||
|
RequestedBy: people.ID,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Errorf("cannot bulk request signatures: %w", err))
|
||||||
|
}
|
||||||
|
|
||||||
|
return &types.BulkRequestSignaturesPayload{
|
||||||
|
DocumentVersionSignatureEdges: types.NewDocumentVersionSignatureEdges(documentVersionSignatures, coredata.DocumentVersionSignatureOrderFieldCreatedAt),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
// SendSigningNotifications is the resolver for the sendSigningNotifications field.
|
// SendSigningNotifications is the resolver for the sendSigningNotifications field.
|
||||||
func (r *mutationResolver) SendSigningNotifications(ctx context.Context, input types.SendSigningNotificationsInput) (*types.SendSigningNotificationsPayload, error) {
|
func (r *mutationResolver) SendSigningNotifications(ctx context.Context, input types.SendSigningNotificationsInput) (*types.SendSigningNotificationsPayload, error) {
|
||||||
prb := r.ProboService(ctx, input.OrganizationID.TenantID())
|
prb := r.ProboService(ctx, input.OrganizationID.TenantID())
|
||||||
@@ -1957,34 +2020,6 @@ func (r *mutationResolver) ExportDocumentVersionPDF(ctx context.Context, input t
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *mutationResolver) BulkPublishDocumentVersions(ctx context.Context, input types.BulkPublishDocumentVersionsInput) (*types.BulkPublishDocumentVersionsPayload, error) {
|
|
||||||
if len(input.DocumentIds) == 0 {
|
|
||||||
return &types.BulkPublishDocumentVersionsPayload{
|
|
||||||
DocumentVersionEdges: []*types.DocumentVersionEdge{},
|
|
||||||
DocumentEdges: []*types.DocumentEdge{},
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
prb := r.ProboService(ctx, input.DocumentIds[0].TenantID())
|
|
||||||
|
|
||||||
user := UserFromContext(ctx)
|
|
||||||
|
|
||||||
people, err := prb.Peoples.GetByUserID(ctx, user.ID)
|
|
||||||
if err != nil {
|
|
||||||
panic(fmt.Errorf("cannot get people: %w", err))
|
|
||||||
}
|
|
||||||
|
|
||||||
documentVersions, documents, err := prb.Documents.BulkPublishVersions(ctx, input.DocumentIds, people.ID, input.Changelog)
|
|
||||||
if err != nil {
|
|
||||||
panic(fmt.Errorf("cannot bulk publish document versions: %w", err))
|
|
||||||
}
|
|
||||||
|
|
||||||
return &types.BulkPublishDocumentVersionsPayload{
|
|
||||||
DocumentVersionEdges: types.NewDocumentVersionEdges(documentVersions, coredata.DocumentVersionOrderFieldCreatedAt),
|
|
||||||
DocumentEdges: types.NewDocumentEdges(documents, coredata.DocumentOrderFieldTitle),
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateVendorRiskAssessment is the resolver for the createVendorRiskAssessment field.
|
// CreateVendorRiskAssessment is the resolver for the createVendorRiskAssessment field.
|
||||||
func (r *mutationResolver) CreateVendorRiskAssessment(ctx context.Context, input types.CreateVendorRiskAssessmentInput) (*types.CreateVendorRiskAssessmentPayload, error) {
|
func (r *mutationResolver) CreateVendorRiskAssessment(ctx context.Context, input types.CreateVendorRiskAssessmentInput) (*types.CreateVendorRiskAssessmentPayload, error) {
|
||||||
prb := r.ProboService(ctx, input.VendorID.TenantID())
|
prb := r.ProboService(ctx, input.VendorID.TenantID())
|
||||||
|
|||||||
Reference in New Issue
Block a user