mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-17 20:41:49 +03:00
a1c5ac46f6
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6000 Co-authored-by: Daniel Chambers <1214352+daniel-chambers@users.noreply.github.com> GitOrigin-RevId: d8f3cd0194191ab4c51a5a7d350cb2c3a0a5a7f3
544 lines
13 KiB
JSON
544 lines
13 KiB
JSON
[
|
|
{
|
|
"name": ["Artist"],
|
|
"primary_key": ["ArtistId"],
|
|
"description": "Collection of artists of music",
|
|
"columns": [
|
|
{
|
|
"name": "ArtistId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Artist primary key identifier"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The name of the artist"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Album"],
|
|
"primary_key": ["AlbumId"],
|
|
"foreign_keys": {
|
|
"Artist": {
|
|
"column_mapping": {
|
|
"ArtistId": "ArtistId"
|
|
},
|
|
"foreign_table": ["Artist"]
|
|
}
|
|
},
|
|
"description": "Collection of music albums created by artists",
|
|
"columns": [
|
|
{
|
|
"name": "AlbumId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Album primary key identifier"
|
|
},
|
|
{
|
|
"name": "Title",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The title of the album"
|
|
},
|
|
{
|
|
"name": "ArtistId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The ID of the artist that created this album"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Customer"],
|
|
"primary_key": ["CustomerId"],
|
|
"foreign_keys": {
|
|
"CustomerSupportRep": {
|
|
"column_mapping": {
|
|
"SupportRepId": "EmployeeId"
|
|
},
|
|
"foreign_table": ["Employee"]
|
|
}
|
|
},
|
|
"description": "Collection of customers who can buy tracks",
|
|
"columns": [
|
|
{
|
|
"name": "CustomerId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Customer primary key identifier"
|
|
},
|
|
{
|
|
"name": "FirstName",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The customer's first name"
|
|
},
|
|
{
|
|
"name": "LastName",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The customer's last name"
|
|
},
|
|
{
|
|
"name": "Company",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's company name"
|
|
},
|
|
{
|
|
"name": "Address",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's address line (street number, street)"
|
|
},
|
|
{
|
|
"name": "City",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's address city"
|
|
},
|
|
{
|
|
"name": "State",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's address state"
|
|
},
|
|
{
|
|
"name": "Country",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's address country"
|
|
},
|
|
{
|
|
"name": "PostalCode",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's address postal code"
|
|
},
|
|
{
|
|
"name": "Phone",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's phone number"
|
|
},
|
|
{
|
|
"name": "Fax",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The customer's fax number"
|
|
},
|
|
{
|
|
"name": "Email",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The customer's email address"
|
|
},
|
|
{
|
|
"name": "SupportRepId",
|
|
"type": "number",
|
|
"nullable": true,
|
|
"description": "The ID of the Employee who is this customer's support representative"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Employee"],
|
|
"primary_key": ["EmployeeId"],
|
|
"foreign_keys": {
|
|
"EmployeeReportsTo": {
|
|
"column_mapping": {
|
|
"ReportsTo": "EmployeeId"
|
|
},
|
|
"foreign_table": ["Employee"]
|
|
}
|
|
},
|
|
"description": "Collection of employees who work for the business",
|
|
"columns": [
|
|
{
|
|
"name": "EmployeeId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Employee primary key identifier"
|
|
},
|
|
{
|
|
"name": "LastName",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The employee's last name"
|
|
},
|
|
{
|
|
"name": "FirstName",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The employee's first name"
|
|
},
|
|
{
|
|
"name": "Title",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's job title"
|
|
},
|
|
{
|
|
"name": "ReportsTo",
|
|
"type": "number",
|
|
"nullable": true,
|
|
"description": "The employee's report"
|
|
},
|
|
{
|
|
"name": "BirthDate",
|
|
"type": "DateTime",
|
|
"nullable": true,
|
|
"description": "The employee's birth date"
|
|
},
|
|
{
|
|
"name": "HireDate",
|
|
"type": "DateTime",
|
|
"nullable": true,
|
|
"description": "The employee's hire date"
|
|
},
|
|
{
|
|
"name": "Address",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's address line (street number, street)"
|
|
},
|
|
{
|
|
"name": "City",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's address city"
|
|
},
|
|
{
|
|
"name": "State",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's address state"
|
|
},
|
|
{
|
|
"name": "Country",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's address country"
|
|
},
|
|
{
|
|
"name": "PostalCode",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's address postal code"
|
|
},
|
|
{
|
|
"name": "Phone",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's phone number"
|
|
},
|
|
{
|
|
"name": "Fax",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's fax number"
|
|
},
|
|
{
|
|
"name": "Email",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The employee's email address"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Genre"],
|
|
"primary_key": ["GenreId"],
|
|
"description": "Genres of music",
|
|
"columns": [
|
|
{
|
|
"name": "GenreId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Genre primary key identifier"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The name of the genre"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Invoice"],
|
|
"primary_key": ["InvoiceId"],
|
|
"foreign_keys": {
|
|
"InvoiceCustomer": {
|
|
"column_mapping": {
|
|
"CustomerId": "CustomerId"
|
|
},
|
|
"foreign_table": ["Customer"]
|
|
}
|
|
},
|
|
"description": "Collection of invoices of music purchases by a customer",
|
|
"columns": [
|
|
{
|
|
"name": "InvoiceId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Invoice primary key identifier"
|
|
},
|
|
{
|
|
"name": "CustomerId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "ID of the customer who bought the music"
|
|
},
|
|
{
|
|
"name": "InvoiceDate",
|
|
"type": "DateTime",
|
|
"nullable": false,
|
|
"description": "Date of the invoice"
|
|
},
|
|
{
|
|
"name": "BillingAddress",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The invoice's billing address line (street number, street)"
|
|
},
|
|
{
|
|
"name": "BillingCity",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The invoice's billing address city"
|
|
},
|
|
{
|
|
"name": "BillingState",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The invoice's billing address state"
|
|
},
|
|
{
|
|
"name": "BillingCountry",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The invoice's billing address country"
|
|
},
|
|
{
|
|
"name": "BillingPostalCode",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The invoice's billing address postal code"
|
|
},
|
|
{
|
|
"name": "Total",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The total amount due on the invoice"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["InvoiceLine"],
|
|
"primary_key": ["InvoiceLineId"],
|
|
"foreign_keys": {
|
|
"Invoice": {
|
|
"column_mapping": {
|
|
"InvoiceId": "InvoiceId"
|
|
},
|
|
"foreign_table": ["Invoice"]
|
|
},
|
|
"Track": {
|
|
"column_mapping": {
|
|
"TrackId": "TrackId"
|
|
},
|
|
"foreign_table": ["Track"]
|
|
}
|
|
},
|
|
"description": "Collection of track purchasing line items of invoices",
|
|
"columns": [
|
|
{
|
|
"name": "InvoiceLineId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Invoice Line primary key identifier"
|
|
},
|
|
{
|
|
"name": "InvoiceId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "ID of the invoice the line belongs to"
|
|
},
|
|
{
|
|
"name": "TrackId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "ID of the music track being purchased"
|
|
},
|
|
{
|
|
"name": "UnitPrice",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Price of each individual track unit"
|
|
},
|
|
{
|
|
"name": "Quantity",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Quantity of the track purchased"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["MediaType"],
|
|
"primary_key": ["MediaTypeId"],
|
|
"description": "Collection of media types that tracks can be encoded in",
|
|
"columns": [
|
|
{
|
|
"name": "MediaTypeId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Media Type primary key identifier"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The name of the media type format"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Playlist"],
|
|
"primary_key": ["PlaylistId"],
|
|
"description": "Collection of playlists",
|
|
"columns": [
|
|
{
|
|
"name": "PlaylistId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "Playlist primary key identifier"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The name of the playlist"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["PlaylistTrack"],
|
|
"primary_key": ["PlaylistId", "TrackId"],
|
|
"foreign_keys": {
|
|
"Playlist": {
|
|
"column_mapping": {
|
|
"PlaylistId": "PlaylistId"
|
|
},
|
|
"foreign_table": ["Playlist"]
|
|
},
|
|
"Track": {
|
|
"column_mapping": {
|
|
"TrackId": "TrackId"
|
|
},
|
|
"foreign_table": ["Track"]
|
|
}
|
|
},
|
|
"description": "Associations between playlists and tracks",
|
|
"columns": [
|
|
{
|
|
"name": "PlaylistId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The ID of the playlist"
|
|
},
|
|
{
|
|
"name": "TrackId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The ID of the track"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": ["Track"],
|
|
"primary_key": ["TrackId"],
|
|
"foreign_keys": {
|
|
"Album": {
|
|
"column_mapping": {
|
|
"AlbumId": "AlbumId"
|
|
},
|
|
"foreign_table": ["Album"]
|
|
},
|
|
"Genre": {
|
|
"column_mapping": {
|
|
"GenreId": "GenreId"
|
|
},
|
|
"foreign_table": ["Genre"]
|
|
},
|
|
"MediaType": {
|
|
"column_mapping": {
|
|
"MediaTypeId": "MediaTypeId"
|
|
},
|
|
"foreign_table": ["MediaType"]
|
|
}
|
|
},
|
|
"description": "Collection of music tracks",
|
|
"columns": [
|
|
{
|
|
"name": "TrackId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The ID of the track"
|
|
},
|
|
{
|
|
"name": "Name",
|
|
"type": "string",
|
|
"nullable": false,
|
|
"description": "The name of the track"
|
|
},
|
|
{
|
|
"name": "AlbumId",
|
|
"type": "number",
|
|
"nullable": true,
|
|
"description": "The ID of the album the track belongs to"
|
|
},
|
|
{
|
|
"name": "MediaTypeId",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The ID of the media type the track is encoded with"
|
|
},
|
|
{
|
|
"name": "GenreId",
|
|
"type": "number",
|
|
"nullable": true,
|
|
"description": "The ID of the genre of the track"
|
|
},
|
|
{
|
|
"name": "Composer",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "The name of the composer of the track"
|
|
},
|
|
{
|
|
"name": "Milliseconds",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The length of the track in milliseconds"
|
|
},
|
|
{
|
|
"name": "Bytes",
|
|
"type": "number",
|
|
"nullable": true,
|
|
"description": "The size of the track in bytes"
|
|
},
|
|
{
|
|
"name": "UnitPrice",
|
|
"type": "number",
|
|
"nullable": false,
|
|
"description": "The price of the track"
|
|
}
|
|
]
|
|
}
|
|
]
|