Skip to content

pattern fields in actions which have privacy policies end up with the private name in action #1874

@lolopinto

Description

@lolopinto
diff --git a/examples/simple/src/ent/generated/contact/actions/create_contact_action_base.ts b/examples/simple/src/ent/generated/contact/actions/create_contact_action_base.ts
index f797176f..b36b518c 100644
--- a/examples/simple/src/ent/generated/contact/actions/create_contact_action_base.ts
+++ b/examples/simple/src/ent/generated/contact/actions/create_contact_action_base.ts
@@ -24,14 +24,14 @@ import { Attachment, ContactInfoExtra, ContactLabel } from "../../types";
 import { ExampleViewer as ExampleViewerAlias } from "../../../../viewer/viewer";

 interface customEmailInput {
-  extra?: ContactInfoExtra | null;
+  _extra?: ContactInfoExtra | null;
   ownerId: ID | Builder<User, ExampleViewerAlias>;
   emailAddress: string;
   label: ContactLabel;
 }

 interface customPhoneNumberInput {
-  extra?: ContactInfoExtra | null;
+  _extra?: ContactInfoExtra | null;
   ownerId: ID | Builder<User, ExampleViewerAlias>;
   phoneNumber: string;
   label: ContactLabel;
diff --git a/examples/simple/src/ent/generated/contact/actions/edit_contact_action_base.ts b/examples/simple/src/ent/generated/contact/actions/edit_contact_action_base.ts
index 7477a8fc..18ea12fe 100644
--- a/examples/simple/src/ent/generated/contact/actions/edit_contact_action_base.ts
+++ b/examples/simple/src/ent/generated/contact/actions/edit_contact_action_base.ts
@@ -24,7 +24,7 @@ import { ExampleViewer as ExampleViewerAlias } from "../../../../viewer/viewer";

 interface customEmailInput {
   id: ID;
-  extra?: ContactInfoExtra | null;
+  _extra?: ContactInfoExtra | null;
   emailAddress?: string;
   label?: ContactLabel;
 }
diff --git a/examples/simple/src/ent/generated/contact_email/actions/contact_email_builder.ts b/examples/simple/src/ent/generated/contact_email/actions/contact_email_builder.ts
index 7c510064..84d183ae 100644
--- a/examples/simple/src/ent/generated/contact_email/actions/contact_email_builder.ts
+++ b/examples/simple/src/ent/generated/contact_email/actions/contact_email_builder.ts
@@ -246,12 +246,8 @@ export class ContactEmailBuilder<
   }

   // get value of extra. Retrieves it from the input if specified or takes it from existingEnt
-  getNewExtraValue(): ContactInfoExtra | null {
-    if (this.input.extra !== undefined) {
-      return this.input.extra;
-    }
-
-    return this.existingEnt?.extra ?? null;
+  getNewExtraValue(): ContactInfoExtra | null | undefined {
+    return this.input.extra;
   }

   // get value of contactID. Retrieves it from the input if specified or takes it from existingEnt
diff --git a/examples/simple/src/ent/generated/contact_email_base.ts b/examples/simple/src/ent/generated/contact_email_base.ts
:
   ContactType,
   UserType,
 } from "../../resolvers/internal";

 export const FeedbackType = new GraphQLUnionType({
   name: "Feedback",
-  types: () => [
-    ContactType,
-    ContactEmailType,
-    ContactPhoneNumberType,
-    UserType,
-  ],
+  types: () => [ContactType, ContactEmailType, UserType],
 });
diff --git a/examples/simple/src/graphql/generated/schema.gql b/examples/simple/src/graphql/generated/schema.gql
index 6f25a010..29b4c591 100644
--- a/examples/simple/src/graphql/generated/schema.gql
+++ b/examples/simple/src/graphql/generated/schema.gql
@@ -369,7 +369,7 @@ type Event implements Node {
   cities: [City!]!
 }

-union Feedback = Contact | ContactEmail | ContactPhoneNumber | User
+union Feedback = Contact | ContactEmail | User

 type File implements Node {
   creator: User
diff --git a/examples/simple/src/schema/patterns/contact_info.ts b/examples/simple/src/schema/patterns/contact_info.ts
index fda27033..95063045 100644
--- a/examples/simple/src/schema/patterns/contact_info.ts
+++ b/examples/simple/src/schema/patterns/contact_info.ts
@@ -1,4 +1,5 @@
 import {
+  AlwaysAllowRule,
   BooleanType,
   EnumType,
   Pattern,
@@ -16,11 +17,11 @@ export default class ContactInfo implements Pattern {
       tsType: "ContactInfoExtra",
       graphQLType: "ContactInfoExtra",
       nullable: true,
-      // privacyPolicy: {
-      //   // To test generation of privacy policies in patterns
-      //   rules: [AlwaysAllowRule],
-      // this is disabled because there's a bug with custom inputs exposing `_extra` instead of `extra`
-      // },
+      privacyPolicy: {
+        // To test generation of privacy policies in patterns
+        rules: [AlwaysAllowRule],
+        // this is disabled because there's a bug with custom inputs exposing `_extra` inste
+      },
       fields: {
         // e.g. default email or phone number
         default: BooleanType(),
(END)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions