-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
Description
[REQUIRED] Environment info
firebase-tools: 14.22.0
system: MacOS
[REQUIRED] Test case
[REQUIRED] Steps to reproduce
enum Role {
ADMIN
ADJUSTER
MANAGER
DEVELOPER
}
type Member @table {
email: String! @col(dataType: "varchar(255)")
firstName: String!
lastName: String!
phone: String
roles: [Role!]
}
firebase dataconnect:sdk:generate
Generated code for a mutation that accepts a list of roles to update:
mutation UpdateProfile(
# Basic profile information
$email: String!
$firstName: String!
$lastName: String!
$phone: String
$roles: [Role!]
) @auth(level: USER) {
# Step 2: Update member with provided fields
member_upsert(
data: {
id_expr: "auth.uid"
email: $email
firstName: $firstName
lastName: $lastName
phone: $phone
roles: $roles
}
)
}
roles = Optional.optional(listDeserializer((data) => Role.values.byName(data)), listSerializer(enumSerializer));
roles.value = json['roles'] == null ? null : (json['roles'] as List<dynamic>)
.map((e) => Roles.fromJson(e))
.toList();
There is no fromJson for enum. Either that should be generated, or firstWhere should be used
.map((e) => Role.values.firstWhere( (element) => element.name == e))
[REQUIRED] Actual behavior
Invalid Dart code