// Code generated by scripts/generate_beto_payloads.py. DO NOT EDIT. package codec import ( "fmt" model "github.com/pharos-ai-factory/pharos-platform/services/beto/contracts/requests/generated/model/project" pb "github.com/pharos-ai-factory/pharos-platform/services/beto/contracts/requests/generated/pharos/project/v1" ) // ToProject preserves field presence and checks cross-language integer bounds. func ToProject(value model.Project) (*pb.Project, error) { result := &pb.Project{} if value.ID < -9007199254740991 || value.ID > 9007199254740991 { return nil, fmt.Errorf("Project.ID: integer outside safe range") } result.Id = value.ID result.Name = value.Name result.Path = value.Path result.FullPath = value.FullPath if value.Description != nil { convertedDescription := *value.Description result.Description = &convertedDescription } result.Visibility = value.Visibility if value.AvatarURL != nil { convertedAvatarURL := *value.AvatarURL result.AvatarUrl = &convertedAvatarURL } result.WebUrl = value.WebURL result.CreatedAt = value.CreatedAt result.UpdatedAt = value.UpdatedAt return result, nil } // ToProjects preserves field presence and checks cross-language integer bounds. func ToProjects(value model.Projects) (*pb.Projects, error) { result := &pb.Projects{} for _, item := range value.Items { convertedItems, err := ToProject(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } return result, nil } // ToProjectBindingResolution preserves field presence and checks cross-language integer bounds. func ToProjectBindingResolution(value model.ProjectBindingResolution) (*pb.ProjectBindingResolution, error) { result := &pb.ProjectBindingResolution{} result.ProjectId = value.ProjectID if value.Revision > 9007199254740991 { return nil, fmt.Errorf("ProjectBindingResolution.Revision: integer outside safe range") } result.Revision = value.Revision return result, nil } // ToProjectProviderBinding preserves field presence and checks cross-language integer bounds. func ToProjectProviderBinding(value model.ProjectProviderBinding) (*pb.ProjectProviderBinding, error) { result := &pb.ProjectProviderBinding{} result.Provider = value.Provider result.Instance = value.Instance result.ExternalId = value.ExternalID result.Scope = value.Scope result.ScopeName = value.ScopeName return result, nil } // ToProjectMembership preserves field presence and checks cross-language integer bounds. func ToProjectMembership(value model.ProjectMembership) (*pb.ProjectMembership, error) { result := &pb.ProjectMembership{} result.PartyId = value.PartyID for _, item := range value.Roles { result.Roles = append(result.Roles, item) } result.BindingId = value.BindingID if value.BindingRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectMembership.BindingRevision: integer outside safe range") } result.BindingRevision = value.BindingRevision result.ExternalUserId = value.ExternalUserID return result, nil } // ToCanonicalProject preserves field presence and checks cross-language integer bounds. func ToCanonicalProject(value model.CanonicalProject) (*pb.CanonicalProject, error) { result := &pb.CanonicalProject{} result.ProjectId = value.ProjectID if value.Revision > 9007199254740991 { return nil, fmt.Errorf("CanonicalProject.Revision: integer outside safe range") } result.Revision = value.Revision result.Name = value.Name result.Lifecycle = value.Lifecycle if value.ManagementGeneration > 9007199254740991 { return nil, fmt.Errorf("CanonicalProject.ManagementGeneration: integer outside safe range") } result.ManagementGeneration = value.ManagementGeneration convertedProviderBinding, err := ToProjectProviderBinding(value.ProviderBinding) if err != nil { return nil, err } result.ProviderBinding = convertedProviderBinding for _, item := range value.Memberships { convertedMemberships, err := ToProjectMembership(item) if err != nil { return nil, err } result.Memberships = append(result.Memberships, convertedMemberships) } for _, item := range value.GovernanceIssues { result.GovernanceIssues = append(result.GovernanceIssues, item) } result.PendingMemberCount = value.PendingMemberCount return result, nil } // ToProjectSourceStatus preserves field presence and checks cross-language integer bounds. func ToProjectSourceStatus(value model.ProjectSourceStatus) (*pb.ProjectSourceStatus, error) { result := &pb.ProjectSourceStatus{} result.State = value.State result.AcquisitionId = value.AcquisitionID if value.Sequence > 9007199254740991 { return nil, fmt.Errorf("ProjectSourceStatus.Sequence: integer outside safe range") } result.Sequence = value.Sequence result.Scope = value.Scope result.SnapshotFingerprint = value.SnapshotFingerprint result.LastCompleteReadAt = value.LastCompleteReadAt if value.LastFailureAt != nil { convertedLastFailureAt := *value.LastFailureAt result.LastFailureAt = &convertedLastFailureAt } if value.FailureCategory != nil { convertedFailureCategory := *value.FailureCategory result.FailureCategory = &convertedFailureCategory } result.ValidUntil = value.ValidUntil if value.AuthorityRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectSourceStatus.AuthorityRevision: integer outside safe range") } result.AuthorityRevision = value.AuthorityRevision result.ChangedAt = value.ChangedAt return result, nil } // ToProjectIntegrationSnapshot preserves field presence and checks cross-language integer bounds. func ToProjectIntegrationSnapshot(value model.ProjectIntegrationSnapshot) (*pb.ProjectIntegrationSnapshot, error) { result := &pb.ProjectIntegrationSnapshot{} convertedProject, err := ToCanonicalProject(value.Project) if err != nil { return nil, err } result.Project = convertedProject convertedSourceStatus, err := ToProjectSourceStatus(value.SourceStatus) if err != nil { return nil, err } result.SourceStatus = convertedSourceStatus return result, nil } // ToProjectCapabilityDecision preserves field presence and checks cross-language integer bounds. func ToProjectCapabilityDecision(value model.ProjectCapabilityDecision) (*pb.ProjectCapabilityDecision, error) { result := &pb.ProjectCapabilityDecision{} result.ProjectId = value.ProjectID result.PartyId = value.PartyID result.Capability = value.Capability result.Allowed = value.Allowed if value.ProjectRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectCapabilityDecision.ProjectRevision: integer outside safe range") } result.ProjectRevision = value.ProjectRevision result.ReasonCategory = value.ReasonCategory convertedSourceStatus, err := ToProjectSourceStatus(value.SourceStatus) if err != nil { return nil, err } result.SourceStatus = convertedSourceStatus if value.PartyRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectCapabilityDecision.PartyRevision: integer outside safe range") } result.PartyRevision = value.PartyRevision if value.PartyAuthVersion > 9007199254740991 { return nil, fmt.Errorf("ProjectCapabilityDecision.PartyAuthVersion: integer outside safe range") } result.PartyAuthVersion = value.PartyAuthVersion if value.ManagementGeneration > 9007199254740991 { return nil, fmt.Errorf("ProjectCapabilityDecision.ManagementGeneration: integer outside safe range") } result.ManagementGeneration = value.ManagementGeneration return result, nil } // ToProjectSynchronisationCheckpoint preserves field presence and checks cross-language integer bounds. func ToProjectSynchronisationCheckpoint(value model.ProjectSynchronisationCheckpoint) (*pb.ProjectSynchronisationCheckpoint, error) { result := &pb.ProjectSynchronisationCheckpoint{} result.CheckpointId = value.CheckpointID if value.Sequence > 9007199254740991 { return nil, fmt.Errorf("ProjectSynchronisationCheckpoint.Sequence: integer outside safe range") } result.Sequence = value.Sequence result.CreatedAt = value.CreatedAt result.ExpiresAt = value.ExpiresAt result.Provider = value.Provider result.Instance = value.Instance result.Scope = value.Scope if value.RecordCount > 9007199254740991 { return nil, fmt.Errorf("ProjectSynchronisationCheckpoint.RecordCount: integer outside safe range") } result.RecordCount = value.RecordCount result.ContentHash = value.ContentHash return result, nil } // ToProjectIntegrationSnapshotItem preserves field presence and checks cross-language integer bounds. func ToProjectIntegrationSnapshotItem(value model.ProjectIntegrationSnapshotItem) (*pb.ProjectIntegrationSnapshotItem, error) { result := &pb.ProjectIntegrationSnapshotItem{} convertedSnapshot, err := ToProjectIntegrationSnapshot(value.Snapshot) if err != nil { return nil, err } result.Snapshot = convertedSnapshot result.ContentHash = value.ContentHash return result, nil } // ToProjectIntegrationSnapshotPage preserves field presence and checks cross-language integer bounds. func ToProjectIntegrationSnapshotPage(value model.ProjectIntegrationSnapshotPage) (*pb.ProjectIntegrationSnapshotPage, error) { result := &pb.ProjectIntegrationSnapshotPage{} convertedCheckpoint, err := ToProjectSynchronisationCheckpoint(value.Checkpoint) if err != nil { return nil, err } result.Checkpoint = convertedCheckpoint for _, item := range value.Items { convertedItems, err := ToProjectIntegrationSnapshotItem(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } if value.NextAfterProjectID != nil { convertedNextAfterProjectID := *value.NextAfterProjectID result.NextAfterProjectId = &convertedNextAfterProjectID } return result, nil } // ToAvailableProject preserves field presence and checks cross-language integer bounds. func ToAvailableProject(value model.AvailableProject) (*pb.AvailableProject, error) { result := &pb.AvailableProject{} result.ProjectId = value.ProjectID if value.Revision > 9007199254740991 { return nil, fmt.Errorf("AvailableProject.Revision: integer outside safe range") } result.Revision = value.Revision result.Name = value.Name result.Organisation = value.Organisation result.Lifecycle = value.Lifecycle return result, nil } // ToMyProjectsPage preserves field presence and checks cross-language integer bounds. func ToMyProjectsPage(value model.MyProjectsPage) (*pb.MyProjectsPage, error) { result := &pb.MyProjectsPage{} for _, item := range value.Items { convertedItems, err := ToAvailableProject(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } if value.NextAfterProjectID != nil { convertedNextAfterProjectID := *value.NextAfterProjectID result.NextAfterProjectId = &convertedNextAfterProjectID } return result, nil } // ToProjectAudience preserves field presence and checks cross-language integer bounds. func ToProjectAudience(value model.ProjectAudience) (*pb.ProjectAudience, error) { result := &pb.ProjectAudience{} result.ProjectId = value.ProjectID if value.ProjectRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectAudience.ProjectRevision: integer outside safe range") } result.ProjectRevision = value.ProjectRevision if value.AuthorityRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectAudience.AuthorityRevision: integer outside safe range") } result.AuthorityRevision = value.AuthorityRevision return result, nil } // ToPartyProjectAudiencePage preserves field presence and checks cross-language integer bounds. func ToPartyProjectAudiencePage(value model.PartyProjectAudiencePage) (*pb.PartyProjectAudiencePage, error) { result := &pb.PartyProjectAudiencePage{} result.PartyId = value.PartyID if value.AuthVersion > 9007199254740991 { return nil, fmt.Errorf("PartyProjectAudiencePage.AuthVersion: integer outside safe range") } result.AuthVersion = value.AuthVersion result.Capability = value.Capability for _, item := range value.Items { convertedItems, err := ToProjectAudience(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } result.ObservedAt = value.ObservedAt result.ValidUntil = value.ValidUntil if value.NextAfterProjectID != nil { convertedNextAfterProjectID := *value.NextAfterProjectID result.NextAfterProjectId = &convertedNextAfterProjectID } return result, nil } // ToProjectMember preserves field presence and checks cross-language integer bounds. func ToProjectMember(value model.ProjectMember) (*pb.ProjectMember, error) { result := &pb.ProjectMember{} result.PartyId = value.PartyID for _, item := range value.Roles { result.Roles = append(result.Roles, item) } return result, nil } // ToProjectMembers preserves field presence and checks cross-language integer bounds. func ToProjectMembers(value model.ProjectMembers) (*pb.ProjectMembers, error) { result := &pb.ProjectMembers{} result.ProjectId = value.ProjectID if value.Revision > 9007199254740991 { return nil, fmt.Errorf("ProjectMembers.Revision: integer outside safe range") } result.Revision = value.Revision for _, item := range value.Items { convertedItems, err := ToProjectMember(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } if value.PendingMemberCount > 9007199254740991 { return nil, fmt.Errorf("ProjectMembers.PendingMemberCount: integer outside safe range") } result.PendingMemberCount = value.PendingMemberCount return result, nil } // ToProjectInvitation preserves field presence and checks cross-language integer bounds. func ToProjectInvitation(value model.ProjectInvitation) (*pb.ProjectInvitation, error) { result := &pb.ProjectInvitation{} result.InvitationId = value.InvitationID result.RecipientEmail = value.RecipientEmail for _, item := range value.Roles { result.Roles = append(result.Roles, item) } result.State = value.State result.ExpiresAt = value.ExpiresAt return result, nil } // ToProjectInvitations preserves field presence and checks cross-language integer bounds. func ToProjectInvitations(value model.ProjectInvitations) (*pb.ProjectInvitations, error) { result := &pb.ProjectInvitations{} result.ProjectId = value.ProjectID if value.ProjectRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectInvitations.ProjectRevision: integer outside safe range") } result.ProjectRevision = value.ProjectRevision result.ReadAt = value.ReadAt for _, item := range value.Items { convertedItems, err := ToProjectInvitation(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } return result, nil } // ToProjectMemberDetails preserves field presence and checks cross-language integer bounds. func ToProjectMemberDetails(value model.ProjectMemberDetails) (*pb.ProjectMemberDetails, error) { result := &pb.ProjectMemberDetails{} result.PartyId = value.PartyID for _, item := range value.Roles { result.Roles = append(result.Roles, item) } if value.AssertedName != nil { convertedAssertedName := *value.AssertedName result.AssertedName = &convertedAssertedName } if value.AssertedNameRevision != nil { if *value.AssertedNameRevision > 9007199254740991 { return nil, fmt.Errorf("ProjectMemberDetails.AssertedNameRevision: integer outside safe range") } convertedAssertedNameRevision := *value.AssertedNameRevision result.AssertedNameRevision = &convertedAssertedNameRevision } return result, nil } // ToProjectMemberDetailsCollection preserves field presence and checks cross-language integer bounds. func ToProjectMemberDetailsCollection(value model.ProjectMemberDetailsCollection) (*pb.ProjectMemberDetailsCollection, error) { result := &pb.ProjectMemberDetailsCollection{} result.ProjectId = value.ProjectID if value.Revision > 9007199254740991 { return nil, fmt.Errorf("ProjectMemberDetailsCollection.Revision: integer outside safe range") } result.Revision = value.Revision for _, item := range value.Items { convertedItems, err := ToProjectMemberDetails(item) if err != nil { return nil, err } result.Items = append(result.Items, convertedItems) } if value.PendingMemberCount > 9007199254740991 { return nil, fmt.Errorf("ProjectMemberDetailsCollection.PendingMemberCount: integer outside safe range") } result.PendingMemberCount = value.PendingMemberCount convertedMembershipComplete := value.MembershipComplete result.MembershipComplete = &convertedMembershipComplete return result, nil } // ToRequestError preserves field presence and checks cross-language integer bounds. func ToRequestError(value model.RequestError) (*pb.RequestError, error) { result := &pb.RequestError{} result.Code = value.Code return result, nil } // EncodeGetProjectsResponse validates the declared response alternatives. func EncodeGetProjectsResponse(_ model.GetProjectsQuery, value model.GetProjectsResponse) (*pb.ProjectReply, error) { if (value.Projects == nil) == (value.Error == nil) { return nil, fmt.Errorf("GetProjectsResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjects(*value.Projects) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Projects{Projects: item}}, nil } // EncodeResolveProjectProviderBindingResponse validates the declared response alternatives. func EncodeResolveProjectProviderBindingResponse(_ model.ResolveProjectProviderBindingQuery, value model.ResolveProjectProviderBindingResponse) (*pb.ProjectReply, error) { if (value.ProviderBinding == nil) == (value.Error == nil) { return nil, fmt.Errorf("ResolveProjectProviderBindingResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectBindingResolution(*value.ProviderBinding) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_ProviderBinding{ProviderBinding: item}}, nil } // EncodeGetProjectIntegrationSnapshotResponse validates the declared response alternatives. func EncodeGetProjectIntegrationSnapshotResponse(_ model.GetProjectIntegrationSnapshotQuery, value model.GetProjectIntegrationSnapshotResponse) (*pb.ProjectReply, error) { if (value.IntegrationSnapshot == nil) == (value.Error == nil) { return nil, fmt.Errorf("GetProjectIntegrationSnapshotResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectIntegrationSnapshot(*value.IntegrationSnapshot) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_IntegrationSnapshot{IntegrationSnapshot: item}}, nil } // EncodeCheckProjectCapabilityResponse validates the declared response alternatives. func EncodeCheckProjectCapabilityResponse(_ model.CheckProjectCapabilityQuery, value model.CheckProjectCapabilityResponse) (*pb.ProjectReply, error) { if (value.CapabilityDecision == nil) == (value.Error == nil) { return nil, fmt.Errorf("CheckProjectCapabilityResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectCapabilityDecision(*value.CapabilityDecision) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_CapabilityDecision{CapabilityDecision: item}}, nil } // EncodeListProjectIntegrationSnapshotsResponse validates the declared response alternatives. func EncodeListProjectIntegrationSnapshotsResponse(_ model.ListProjectIntegrationSnapshotsQuery, value model.ListProjectIntegrationSnapshotsResponse) (*pb.ProjectReply, error) { if (value.IntegrationSnapshotPage == nil) == (value.Error == nil) { return nil, fmt.Errorf("ListProjectIntegrationSnapshotsResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectIntegrationSnapshotPage(*value.IntegrationSnapshotPage) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_IntegrationSnapshotPage{IntegrationSnapshotPage: item}}, nil } // EncodeListMyProjectsResponse validates the declared response alternatives. func EncodeListMyProjectsResponse(_ model.ListMyProjectsQuery, value model.ListMyProjectsResponse) (*pb.ProjectReply, error) { if (value.MyProjectsPage == nil) == (value.Error == nil) { return nil, fmt.Errorf("ListMyProjectsResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToMyProjectsPage(*value.MyProjectsPage) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_MyProjectsPage{MyProjectsPage: item}}, nil } // EncodeListPartyProjectAudiencesResponse validates the declared response alternatives. func EncodeListPartyProjectAudiencesResponse(_ model.ListPartyProjectAudiencesQuery, value model.ListPartyProjectAudiencesResponse) (*pb.ProjectReply, error) { if (value.PartyProjectAudiences == nil) == (value.Error == nil) { return nil, fmt.Errorf("ListPartyProjectAudiencesResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToPartyProjectAudiencePage(*value.PartyProjectAudiences) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_PartyProjectAudiences{PartyProjectAudiences: item}}, nil } // EncodeGetProjectMembersResponse validates the declared response alternatives. func EncodeGetProjectMembersResponse(_ model.GetProjectMembersQuery, value model.GetProjectMembersResponse) (*pb.ProjectReply, error) { if (value.ProjectMembers == nil) == (value.Error == nil) { return nil, fmt.Errorf("GetProjectMembersResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectMembers(*value.ProjectMembers) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_ProjectMembers{ProjectMembers: item}}, nil } // EncodeListProjectInvitationsResponse validates the declared response alternatives. func EncodeListProjectInvitationsResponse(_ model.ListProjectInvitationsQuery, value model.ListProjectInvitationsResponse) (*pb.ProjectReply, error) { if (value.ProjectInvitations == nil) == (value.Error == nil) { return nil, fmt.Errorf("ListProjectInvitationsResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectInvitations(*value.ProjectInvitations) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_ProjectInvitations{ProjectInvitations: item}}, nil } // EncodeGetProjectMemberDetailsResponse validates the declared response alternatives. func EncodeGetProjectMemberDetailsResponse(_ model.GetProjectMemberDetailsQuery, value model.GetProjectMemberDetailsResponse) (*pb.ProjectReply, error) { if (value.ProjectMemberDetails == nil) == (value.Error == nil) { return nil, fmt.Errorf("GetProjectMemberDetailsResponse: select exactly one response") } if value.Error != nil { item, err := ToRequestError(*value.Error) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_Error{Error: item}}, nil } item, err := ToProjectMemberDetailsCollection(*value.ProjectMemberDetails) if err != nil { return nil, err } return &pb.ProjectReply{Payload: &pb.ProjectReply_ProjectMemberDetails{ProjectMemberDetails: item}}, nil }