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