mobilizon/js/src/graphql/resources.ts
Thomas Citharel ea4116c207
Refactor GraphQL queries and event cards
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:37 +01:00

164 lines
2.8 KiB
TypeScript

import gql from "graphql-tag";
import { ACTOR_FRAGMENT } from "./actor";
export const RESOURCE_METADATA_BASIC_FIELDS_FRAGMENT = gql`
fragment ResourceMetadataBasicFields on ResourceMetadata {
imageRemoteUrl
height
width
type
faviconUrl
}
`;
export const GET_RESOURCE = gql`
query GetResource(
$path: String!
$username: String!
$page: Int
$limit: Int
) {
resource(path: $path, username: $username) {
id
title
summary
url
path
type
metadata {
...ResourceMetadataBasicFields
authorName
authorUrl
providerName
providerUrl
html
}
parent {
id
path
type
}
actor {
...ActorFragment
}
children(page: $page, limit: $limit) {
total
elements {
id
title
summary
url
type
path
resourceUrl
parent {
id
path
type
}
publishedAt
updatedAt
insertedAt
metadata {
...ResourceMetadataBasicFields
}
}
}
}
}
${ACTOR_FRAGMENT}
${RESOURCE_METADATA_BASIC_FIELDS_FRAGMENT}
`;
export const CREATE_RESOURCE = gql`
mutation CreateResource(
$title: String!
$parentId: ID
$summary: String
$actorId: ID!
$resourceUrl: String
$type: String
) {
createResource(
title: $title
parentId: $parentId
summary: $summary
actorId: $actorId
resourceUrl: $resourceUrl
type: $type
) {
id
title
summary
url
resourceUrl
updatedAt
path
type
metadata {
...ResourceMetadataBasicFields
authorName
authorUrl
providerName
providerUrl
html
}
}
}
${RESOURCE_METADATA_BASIC_FIELDS_FRAGMENT}
`;
export const UPDATE_RESOURCE = gql`
mutation UpdateResource(
$id: ID!
$title: String
$summary: String
$parentId: ID
$resourceUrl: String
) {
updateResource(
id: $id
title: $title
parentId: $parentId
summary: $summary
resourceUrl: $resourceUrl
) {
id
title
summary
url
path
type
resourceUrl
parent {
id
path
}
}
}
`;
export const DELETE_RESOURCE = gql`
mutation DeleteResource($id: ID!) {
deleteResource(id: $id) {
id
}
}
`;
export const PREVIEW_RESOURCE_LINK = gql`
mutation PreviewResourceLink($resourceUrl: String!) {
previewResourceLink(resourceUrl: $resourceUrl) {
title
description
...ResourceMetadataBasicFields
authorName
authorUrl
providerName
providerUrl
html
}
}
${RESOURCE_METADATA_BASIC_FIELDS_FRAGMENT}
`;