@accounter/server
Version:
Accounter GraphQL server
74 lines (70 loc) • 2.72 kB
text/typescript
import { gql } from 'graphql-modules';
export default gql`
extend type Query {
annualFinancialCharges(ownerId: UUID, year: TimelessDate!): FinancialChargesGenerationResult!
}
extend type Mutation {
generateRevaluationCharge(ownerId: UUID!, date: TimelessDate!): FinancialCharge!
generateBankDepositsRevaluationCharge(ownerId: UUID!, date: TimelessDate!): FinancialCharge!
generateTaxExpensesCharge(ownerId: UUID!, year: TimelessDate!): FinancialCharge!
generateDepreciationCharge(ownerId: UUID!, year: TimelessDate!): FinancialCharge!
generateRecoveryReserveCharge(ownerId: UUID!, year: TimelessDate!): FinancialCharge!
generateVacationReserveCharge(ownerId: UUID!, year: TimelessDate!): FinancialCharge!
generateBalanceCharge(
description: String!
balanceRecords: [InsertMiscExpenseInput!]!
): FinancialCharge! @requiresAuth @requiresAnyRole(roles: ["business_owner", "accountant"])
generateFinancialCharges(
date: TimelessDate!
ownerId: UUID!
): FinancialChargesGenerationResult!
}
" financial charge "
type FinancialCharge implements Charge {
id: UUID!
type: ChargeType!
vat: FinancialAmount
withholdingTax: FinancialAmount
totalAmount: FinancialAmount
property: Boolean
decreasedVAT: Boolean
isInvoicePaymentDifferentCurrency: Boolean
userDescription: String
minEventDate: DateTime
minDebitDate: DateTime
minDocumentsDate: DateTime
maxEventDate: DateTime
maxDebitDate: DateTime
maxDocumentsDate: DateTime
metadata: ChargeMetadata
yearsOfRelevance: [YearOfRelevance!]
optionalVAT: Boolean
optionalDocuments: Boolean
}
" result type for generateFinancialCharges "
type FinancialChargesGenerationResult {
id: ID!
revaluationCharge: FinancialCharge
taxExpensesCharge: FinancialCharge
depreciationCharge: FinancialCharge
recoveryReserveCharge: FinancialCharge
vacationReserveCharge: FinancialCharge
bankDepositsRevaluationCharge: FinancialCharge
}
`;