new invoice entity for dataConnect
This commit is contained in:
51
dataconnect/connector/invoice/mutations.gql
Normal file
51
dataconnect/connector/invoice/mutations.gql
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
mutation CreateInvoice(
|
||||||
|
$invoiceNumber: String!,
|
||||||
|
$amount: Float!,
|
||||||
|
$status: InvoiceStatus!,
|
||||||
|
$issueDate: Timestamp!,
|
||||||
|
$dueDate: Timestamp!,
|
||||||
|
$disputedItems: String,
|
||||||
|
$isAutoGenerated: Boolean
|
||||||
|
) @auth(level: USER) {
|
||||||
|
invoice_insert(
|
||||||
|
data: {
|
||||||
|
invoiceNumber: $invoiceNumber
|
||||||
|
amount: $amount
|
||||||
|
status: $status
|
||||||
|
issueDate: $issueDate
|
||||||
|
dueDate: $dueDate
|
||||||
|
disputedItems: $disputedItems
|
||||||
|
isAutoGenerated: $isAutoGenerated
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation UpdateInvoice(
|
||||||
|
$id: UUID!,
|
||||||
|
$invoiceNumber: String,
|
||||||
|
$amount: Float,
|
||||||
|
$status: InvoiceStatus,
|
||||||
|
$issueDate: Timestamp,
|
||||||
|
$dueDate: Timestamp,
|
||||||
|
$disputedItems: String,
|
||||||
|
$isAutoGenerated: Boolean
|
||||||
|
) @auth(level: USER) {
|
||||||
|
invoice_update(
|
||||||
|
id: $id,
|
||||||
|
data: {
|
||||||
|
invoiceNumber: $invoiceNumber
|
||||||
|
amount: $amount
|
||||||
|
status: $status
|
||||||
|
issueDate: $issueDate
|
||||||
|
dueDate: $dueDate
|
||||||
|
disputedItems: $disputedItems
|
||||||
|
isAutoGenerated: $isAutoGenerated
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation DeleteInvoice(
|
||||||
|
$id: UUID!
|
||||||
|
) @auth(level: USER) {
|
||||||
|
invoice_delete(id: $id)
|
||||||
|
}
|
||||||
50
dataconnect/connector/invoice/queries.gql
Normal file
50
dataconnect/connector/invoice/queries.gql
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
query listInvoice @auth(level: USER) {
|
||||||
|
invoices {
|
||||||
|
id
|
||||||
|
invoiceNumber
|
||||||
|
amount
|
||||||
|
status
|
||||||
|
issueDate
|
||||||
|
dueDate
|
||||||
|
isAutoGenerated
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query getInvoiceById(
|
||||||
|
$id: UUID!
|
||||||
|
) @auth(level: USER) {
|
||||||
|
invoice(id: $id) {
|
||||||
|
id
|
||||||
|
invoiceNumber
|
||||||
|
amount
|
||||||
|
status
|
||||||
|
issueDate
|
||||||
|
dueDate
|
||||||
|
disputedItems
|
||||||
|
isAutoGenerated
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query filterInvoices(
|
||||||
|
$invoiceNumber: String,
|
||||||
|
$status: InvoiceStatus,
|
||||||
|
$isAutoGenerated: Boolean,
|
||||||
|
$amount: Float
|
||||||
|
) @auth(level: USER) {
|
||||||
|
invoices(
|
||||||
|
where: {
|
||||||
|
invoiceNumber: { eq: $invoiceNumber }
|
||||||
|
status: { eq: $status }
|
||||||
|
isAutoGenerated: { eq: $isAutoGenerated }
|
||||||
|
amount: { eq: $amount }
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
id
|
||||||
|
invoiceNumber
|
||||||
|
amount
|
||||||
|
status
|
||||||
|
issueDate
|
||||||
|
dueDate
|
||||||
|
isAutoGenerated
|
||||||
|
}
|
||||||
|
}
|
||||||
26
dataconnect/schema/invoice.gql
Normal file
26
dataconnect/schema/invoice.gql
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
enum InvoiceStatus {
|
||||||
|
DRAFT
|
||||||
|
PENDING_REVIEW
|
||||||
|
APPROVED
|
||||||
|
DISPUTED
|
||||||
|
UNDER_REVIEW
|
||||||
|
RESOLVED
|
||||||
|
OVERDUE
|
||||||
|
PAID
|
||||||
|
RECONCILED
|
||||||
|
CANCELLED
|
||||||
|
}
|
||||||
|
|
||||||
|
type Invoice @table(name: "invoices") {
|
||||||
|
id: UUID! @default(expr: "uuidV4()")
|
||||||
|
invoiceNumber: String!
|
||||||
|
amount: Float!
|
||||||
|
status: InvoiceStatus!
|
||||||
|
issueDate: Timestamp!
|
||||||
|
dueDate: Timestamp!
|
||||||
|
disputedItems: String
|
||||||
|
isAutoGenerated: Boolean @default(expr: "false") # is_auto_generated
|
||||||
|
createdDate: Timestamp @default(expr: "request.time")
|
||||||
|
updatedDate: Timestamp @default(expr: "request.time")
|
||||||
|
createdBy: String @default(expr: "auth.uid")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user