Azure / Azure/data-api-builder

[Feature:] Support additional `UUID` format specifiers

Aperta
#2,066 1 commento 1 reazione 0 assegnatari Vedi su GitHub
enhancement graphql triage
Lingua principale
C#
Stelle
1.5k
Fork
370
Merge medio
3g 22h
PR unite (30g)
9

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con i test supportedtypes e i test GraphQLStoredprocedureBuilder indicati nell’issue, quindi segui il codice del motore correlato ai parametri delle stored procedure, alle variabili GraphQL, ai filtri e ai tipi di input. Confronta i formati UUID di .NET e GraphQL indicati con il comportamento di Azure SQL; il lavoro è completato quando i formati funzionano lungo questi percorsi e i test aggiornati hanno esito positivo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, graphql, sql
Ambito
api, backend, database
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
28/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.