Azure / Azure/data-api-builder

[Feature:] Support additional `UUID` format specifiers

Abierto
#2,066 1 comentario 1 reacción 0 asignados Ver en GitHub
enhancement graphql triage
Lenguaje dominante
C#
Estrellas
1.5k
Forks
370
Merge medio
3 d 22 h
PR fusionados (30 d)
9

Descripción

### 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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con las pruebas de supportedtypes y GraphQLStoredprocedureBuilder mencionadas en el issue y, a continuación, sigue el código del motor relacionado con los parámetros de los procedimientos almacenados, las variables de GraphQL, los filtros y los tipos de entrada. Compara los formatos UUID de .NET y GraphQL mencionados con el comportamiento de Azure SQL; se considera terminado cuando los formatos funcionan a través de esas rutas y las pruebas actualizadas pasan.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, graphql, sql
Área
api, backend, database
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
28/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.