Skip to content

Commit

Permalink
fix: check-code
Browse files Browse the repository at this point in the history
  • Loading branch information
bodymindarts committed Jun 7, 2024
1 parent ec46aba commit d55c647
Show file tree
Hide file tree
Showing 3 changed files with 395 additions and 3 deletions.
393 changes: 393 additions & 0 deletions cala-server/schema.graphql
Original file line number Diff line number Diff line change
@@ -0,0 +1,393 @@
type Account {
id: ID!
accountId: UUID!
version: Int!
code: String!
name: String!
normalBalanceType: DebitOrCredit!
status: Status!
externalId: String
description: String
metadata: JSON
createdAt: Timestamp!
modifiedAt: Timestamp!
balance(journalId: UUID!, currency: CurrencyCode!): Balance
}

type AccountConnection {
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
"""
A list of edges.
"""
edges: [AccountEdge!]!
"""
A list of nodes.
"""
nodes: [Account!]!
}

input AccountCreateInput {
accountId: UUID!
externalId: String
code: String!
name: String!
normalBalanceType: DebitOrCredit! = CREDIT
description: String
status: Status! = ACTIVE
metadata: JSON
accountSetIds: [UUID!]
}

type AccountCreatePayload {
account: Account!
}

"""
An edge in a connection.
"""
type AccountEdge {
"""
The item at the end of the edge
"""
node: Account!
"""
A cursor for use in pagination
"""
cursor: String!
}

type AccountSet {
id: ID!
accountSetId: UUID!
version: Int!
journalId: UUID!
name: String!
normalBalanceType: DebitOrCredit!
description: String
metadata: JSON
createdAt: Timestamp!
modifiedAt: Timestamp!
balance(currency: CurrencyCode!): Balance
}

input AccountSetCreateInput {
accountSetId: UUID!
journalId: UUID!
name: String!
normalBalanceType: DebitOrCredit! = CREDIT
description: String
metadata: JSON
}

type AccountSetCreatePayload {
accountSet: AccountSet!
}

enum AccountSetMemberType {
ACCOUNT
ACCOUNT_SET
}

input AddToAccountSetInput {
accountSetId: UUID!
memberId: UUID!
memberType: AccountSetMemberType!
}

type AddToAccountSetPayload {
accountSet: AccountSet!
}

type Balance {
id: ID!
journalId: UUID!
accountId: UUID!
entryId: UUID!
currency: CurrencyCode!
settled: BalanceAmount!
pending: BalanceAmount!
encumbrance: BalanceAmount!
version: Int!
}

type BalanceAmount {
drBalance: Money!
crBalance: Money!
normalBalance: Money!
entryId: UUID!
}


input CalaOutboxImportJobCreateInput {
name: String!
description: String
endpoint: String!
}

type CalaOutboxImportJobCreatePayload {
job: Job!
}

scalar CurrencyCode

scalar Date

enum DebitOrCredit {
DEBIT
CREDIT
}

scalar Decimal

type EntryInput {
entryType: Expression!
accountId: Expression!
layer: Expression!
direction: Expression!
units: Expression!
currency: Expression!
description: Expression
}

scalar Expression




scalar JSON

type Job {
id: ID!
jobId: UUID!
name: String!
description: String
}

type JobConnection {
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
"""
A list of edges.
"""
edges: [JobEdge!]!
"""
A list of nodes.
"""
nodes: [Job!]!
}

"""
An edge in a connection.
"""
type JobEdge {
"""
The item at the end of the edge
"""
node: Job!
"""
A cursor for use in pagination
"""
cursor: String!
}

type Journal {
id: ID!
journalId: UUID!
version: Int!
name: String!
status: Status!
description: String
createdAt: Timestamp!
modifiedAt: Timestamp!
}

input JournalCreateInput {
journalId: UUID!
name: String!
status: Status! = ACTIVE
description: String
}

type JournalCreatePayload {
journal: Journal!
}

type Money {
units: Decimal!
currency: CurrencyCode!
}

type Mutation {
calaOutboxImportJobCreate(input: CalaOutboxImportJobCreateInput!): CalaOutboxImportJobCreatePayload!
accountCreate(input: AccountCreateInput!): AccountCreatePayload!
accountSetCreate(input: AccountSetCreateInput!): AccountSetCreatePayload!
addToAccountSet(input: AddToAccountSetInput!): AddToAccountSetPayload!
journalCreate(input: JournalCreateInput!): JournalCreatePayload!
txTemplateCreate(input: TxTemplateCreateInput!): TxTemplateCreatePayload!
postTransaction(input: TransactionInput!): PostTransactionPayload!
}

"""
Information about pagination in a connection
"""
type PageInfo {
"""
When paginating backwards, are there more items?
"""
hasPreviousPage: Boolean!
"""
When paginating forwards, are there more items?
"""
hasNextPage: Boolean!
"""
When paginating backwards, the cursor to continue.
"""
startCursor: String
"""
When paginating forwards, the cursor to continue.
"""
endCursor: String
}

enum ParamDataType {
STRING
INTEGER
DECIMAL
BOOLEAN
UUID
DATE
TIMESTAMP
JSON
}

type ParamDefinition {
name: String!
type: ParamDataType!
default: Expression
description: String
}

input ParamDefinitionInput {
name: String!
type: ParamDataType!
default: Expression
description: String
}

type PostTransactionPayload {
transaction: Transaction!
}

type Query {
serverVersion: String!
account(id: UUID!): Account
accountByExternalId(externalId: String!): Account
accounts(first: Int!, after: String): AccountConnection!
accountSet(id: UUID!): AccountSet
journal(id: UUID!): Journal
balance(journalId: UUID!, accountId: UUID!, currency: CurrencyCode!): Balance
transaction(id: UUID!): Transaction
transactionByExternalId(externalId: String!): Transaction
txTemplate(id: UUID!): TxTemplate
txTemplateByCode(code: String!): TxTemplate
jobs(first: Int!, after: String): JobConnection!
}

enum Status {
ACTIVE
LOCKED
}


scalar Timestamp

type Transaction {
id: ID!
transactionId: UUID!
version: Int!
txTemplateId: UUID!
journalId: UUID!
effective: Date!
correlationId: String!
externalId: String
description: String
metadata: JSON
createdAt: Timestamp!
modifiedAt: Timestamp!
}

input TransactionInput {
transactionId: UUID!
txTemplateCode: String!
params: JSON
}

type TxInput {
effective: Expression!
journalId: Expression!
correlationId: Expression
externalId: Expression
description: Expression
metadata: Expression
}

type TxTemplate {
id: ID!
txTemplateId: UUID!
version: Int!
code: String!
params: [ParamDefinition!]
txInput: TxInput!
entries: [EntryInput!]!
description: String
metadata: JSON
createdAt: Timestamp!
modifiedAt: Timestamp!
}

input TxTemplateCreateInput {
txTemplateId: UUID!
code: String!
params: [ParamDefinitionInput!]
txInput: TxTemplateTxInput!
entries: [TxTemplateEntryInput!]!
description: String
metadata: JSON
}

type TxTemplateCreatePayload {
txTemplate: TxTemplate!
}

input TxTemplateEntryInput {
entryType: Expression!
accountId: Expression!
layer: Expression!
direction: Expression!
units: Expression!
currency: Expression!
description: Expression
}

input TxTemplateTxInput {
effective: Expression!
journalId: Expression!
correlationId: Expression
externalId: Expression
description: Expression
metadata: Expression
}

scalar UUID

directive @include(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
schema {
query: Query
mutation: Mutation
}
Loading

0 comments on commit d55c647

Please sign in to comment.