data-api-builder icon indicating copy to clipboard operation
data-api-builder copied to clipboard

[Feature:] Support additional `UUID` format specifiers

Open seantleonard opened this issue 1 year ago • 1 comments

What happened?

Dotnet

https://learn.microsoft.com/en-us/dotnet/api/system.guid.parse?view=net-6.0#system-guid-parse(system-string):~:text=to%20a%20Guid-,Remarks,Expand%20table,-Specifier

GraphQL

Explanation: https://chillicream.com/docs/hotchocolate/v12/defining-a-schema/scalars#uuid-type

Uuid Type

The Uuid scalar supports the following serialization formats.

Specifier Format
N (default) 00000000000000000000000000000000
D 00000000-0000-0000-0000-000000000000
B {00000000-0000-0000-0000-000000000000}
P (00000000-0000-0000-0000-000000000000)
X {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

The UuidType will always return the value in the specified format. In case it is used as an input type, it will first try to parse the result in the specified format. If the parsing does not succeed, it will try to parse the value in other formats. Source: https://github.com/ChilliCream/graphql-platform/blob/main/website/src/docs/hotchocolate/v12/defining-a-schema/scalars.md?plain=1

Steps to implement:

  • Ensure Stored procedure param support
  • GraphQL variable, filter, and input type support
  • parse from GraphQL/dotnet format specifier to uuid type supported by external database MSSQL/ PG / MySQL, CosmosDB
  • update supportedtypes tests and GraphQLStoredprocedureBuilder tests and engine code.

Version

main

What database are you using?

Azure SQL

What hosting model are you using?

No response

Which API approach are you accessing DAB through?

GraphQL

Relevant log output

No response

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

seantleonard avatar Mar 01 '24 22:03 seantleonard

This would be a great first PR for a contributor.

JerryNixon avatar Aug 30 '24 23:08 JerryNixon