stacker.news/fragments/paidAction.js

269 lines
6.9 KiB
JavaScript

import gql from 'graphql-tag'
import { COMMENTS } from './comments'
import { SUB_FULL_FIELDS } from './subs'
import { INVOICE_FIELDS } from './wallet'
const HASH_HMAC_INPUT_1 = '$hash: String, $hmac: String'
const HASH_HMAC_INPUT_2 = 'hash: $hash, hmac: $hmac'
export const PAID_ACTION = gql`
${INVOICE_FIELDS}
fragment PaidActionFields on PaidAction {
invoice {
...InvoiceFields
}
paymentMethod
}`
const ITEM_PAID_ACTION_FIELDS = gql`
${COMMENTS}
fragment ItemPaidActionFields on ItemPaidAction {
result {
id
deleteScheduledAt
reminderScheduledAt
...CommentFields
comments {
...CommentsRecursive
}
}
}`
const ITEM_ACT_PAID_ACTION_FIELDS = gql`
fragment ItemActPaidActionFields on ItemActPaidAction {
result {
id
sats
path
act
}
}`
export const GET_PAID_ACTION = gql`
${PAID_ACTION}
${ITEM_PAID_ACTION_FIELDS}
${ITEM_ACT_PAID_ACTION_FIELDS}
${SUB_FULL_FIELDS}
query paidAction($invoiceId: Int!) {
paidAction(invoiceId: $invoiceId) {
__typename
...PaidActionFields
... on ItemPaidAction {
...ItemPaidActionFields
}
... on ItemActPaidAction {
...ItemActPaidActionFields
}
... on PollVotePaidAction {
result {
id
}
}
... on SubPaidAction {
result {
...SubFullFields
}
}
... on DonatePaidAction {
result {
sats
}
}
}
}`
export const RETRY_PAID_ACTION = gql`
${PAID_ACTION}
${ITEM_PAID_ACTION_FIELDS}
${ITEM_ACT_PAID_ACTION_FIELDS}
mutation retryPaidAction($invoiceId: Int!) {
retryPaidAction(invoiceId: $invoiceId) {
__typename
...PaidActionFields
... on ItemPaidAction {
...ItemPaidActionFields
}
... on ItemActPaidAction {
...ItemActPaidActionFields
}
... on PollVotePaidAction {
result {
id
}
}
}
}`
export const DONATE = gql`
${PAID_ACTION}
mutation donateToRewards($sats: Int!) {
donateToRewards(sats: $sats) {
result {
sats
}
...PaidActionFields
}
}`
export const ACT_MUTATION = gql`
${PAID_ACTION}
${ITEM_ACT_PAID_ACTION_FIELDS}
mutation act($id: ID!, $sats: Int!, $act: String) {
act(id: $id, sats: $sats, act: $act) {
...ItemActPaidActionFields
...PaidActionFields
}
}`
export const UPSERT_DISCUSSION = gql`
${PAID_ACTION}
mutation upsertDiscussion($sub: String, $id: ID, $title: String!, $text: String,
$boost: Int, $forward: [ItemForwardInput], ${HASH_HMAC_INPUT_1}) {
upsertDiscussion(sub: $sub, id: $id, title: $title, text: $text, boost: $boost,
forward: $forward, ${HASH_HMAC_INPUT_2}) {
result {
id
deleteScheduledAt
reminderScheduledAt
}
...PaidActionFields
}
}`
export const UPSERT_JOB = gql`
${PAID_ACTION}
mutation upsertJob($sub: String!, $id: ID, $title: String!, $company: String!,
$location: String, $remote: Boolean, $text: String!, $url: String!, $maxBid: Int!,
$status: String, $logo: Int) {
upsertJob(sub: $sub, id: $id, title: $title, company: $company,
location: $location, remote: $remote, text: $text,
url: $url, maxBid: $maxBid, status: $status, logo: $logo) {
result {
id
deleteScheduledAt
reminderScheduledAt
}
...PaidActionFields
}
}`
export const UPSERT_LINK = gql`
${PAID_ACTION}
mutation upsertLink($sub: String, $id: ID, $title: String!, $url: String!,
$text: String, $boost: Int, $forward: [ItemForwardInput], ${HASH_HMAC_INPUT_1}) {
upsertLink(sub: $sub, id: $id, title: $title, url: $url, text: $text,
boost: $boost, forward: $forward, ${HASH_HMAC_INPUT_2}) {
result {
id
deleteScheduledAt
reminderScheduledAt
}
...PaidActionFields
}
}`
export const UPSERT_POLL = gql`
${PAID_ACTION}
mutation upsertPoll($sub: String, $id: ID, $title: String!, $text: String,
$options: [String!]!, $boost: Int, $forward: [ItemForwardInput], $pollExpiresAt: Date,
${HASH_HMAC_INPUT_1}) {
upsertPoll(sub: $sub, id: $id, title: $title, text: $text,
options: $options, boost: $boost, forward: $forward, pollExpiresAt: $pollExpiresAt,
${HASH_HMAC_INPUT_2}) {
result {
id
deleteScheduledAt
reminderScheduledAt
}
...PaidActionFields
}
}`
export const UPSERT_BOUNTY = gql`
${PAID_ACTION}
mutation upsertBounty($sub: String, $id: ID, $title: String!, $bounty: Int!,
$text: String, $boost: Int, $forward: [ItemForwardInput]) {
upsertBounty(sub: $sub, id: $id, title: $title, bounty: $bounty, text: $text,
boost: $boost, forward: $forward) {
result {
id
deleteScheduledAt
reminderScheduledAt
}
...PaidActionFields
}
}`
export const POLL_VOTE = gql`
${PAID_ACTION}
mutation pollVote($id: ID!) {
pollVote(id: $id) {
result {
id
}
...PaidActionFields
}
}`
export const CREATE_COMMENT = gql`
${ITEM_PAID_ACTION_FIELDS}
${PAID_ACTION}
mutation upsertComment($text: String!, $parentId: ID!) {
upsertComment(text: $text, parentId: $parentId) {
...ItemPaidActionFields
...PaidActionFields
}
}`
export const UPDATE_COMMENT = gql`
${ITEM_PAID_ACTION_FIELDS}
${PAID_ACTION}
mutation upsertComment($id: ID!, $text: String!, ${HASH_HMAC_INPUT_1}) {
upsertComment(id: $id, text: $text, ${HASH_HMAC_INPUT_2}) {
...ItemPaidActionFields
...PaidActionFields
}
}`
export const UPSERT_SUB = gql`
${PAID_ACTION}
mutation upsertSub($oldName: String, $name: String!, $desc: String, $baseCost: Int!,
$postTypes: [String!]!, $billingType: String!,
$billingAutoRenew: Boolean!, $moderated: Boolean!, $nsfw: Boolean!) {
upsertSub(oldName: $oldName, name: $name, desc: $desc, baseCost: $baseCost,
postTypes: $postTypes, billingType: $billingType,
billingAutoRenew: $billingAutoRenew, moderated: $moderated, nsfw: $nsfw) {
result {
name
}
...PaidActionFields
}
}`
export const UNARCHIVE_TERRITORY = gql`
${PAID_ACTION}
mutation unarchiveTerritory($name: String!, $desc: String, $baseCost: Int!,
$postTypes: [String!]!, $billingType: String!,
$billingAutoRenew: Boolean!, $moderated: Boolean!, $nsfw: Boolean!) {
unarchiveTerritory(name: $name, desc: $desc, baseCost: $baseCost,
postTypes: $postTypes, billingType: $billingType,
billingAutoRenew: $billingAutoRenew, moderated: $moderated, nsfw: $nsfw) {
result {
name
}
...PaidActionFields
}
}`
export const SUB_PAY = gql`
${SUB_FULL_FIELDS}
${PAID_ACTION}
mutation paySub($name: String!) {
paySub(name: $name) {
result {
...SubFullFields
}
...PaidActionFields
}
}`