Sto sperimentando la conversione di un'API in GraphQL e ho un database con relazioni molti-a-molti che vengono archiviate tramite tabelle di collegamenti; qualcosa di simile:
CREATE TABLE accounts
(
id int,
last_name varchar,
first_name varchar
);
CREATE TABLE files
(
id int,
content varchar,
name varchar
);
CREATE TABLE account_file_links
(
id int,
account_id varchar,
file_id varchar,
can_edit tinyint,
FOREIGN KEY (account_id) REFERENCES accounts(id)
FOREIGN KEY (file_id) REFERENCES files(id)
);
Mi chiedo se dovrei esporre questi collegamenti perché sono propri tipi nello schema GraphQL o meno. Quando penso al mio database come un grafico, i nodi sono accounts
e reports
, mentre i bordi sarebbero account_file_links
. Ci sono attributi presenti sul link (in questo esempio, la proprietà can_edit
) che devono essere presentati ai consumatori dell'API.