one more tweak.

This commit is contained in:
2023-09-28 23:37:23 -07:00
parent 5dab829db3
commit 829c857122
2 changed files with 0 additions and 83 deletions

View File

@@ -13,7 +13,6 @@
[auto-ap.graphql.jobs :as gq-jobs]
[auto-ap.graphql.ledger :as gq-ledger]
[auto-ap.graphql.plaid :as gq-plaid]
[auto-ap.graphql.reports :as gq-reports]
[auto-ap.graphql.sales-orders :as gq-sales-orders]
[auto-ap.graphql.transaction-rules :as gq-transaction-rules]
[auto-ap.graphql.transactions :as gq-transactions]
@@ -821,7 +820,6 @@
:search-account gq-accounts/search})
gq-checks/attach
gq-ledger/attach
gq-reports/attach
gq-plaid/attach
gq-import-batches/attach
gq-transactions/attach

View File

@@ -1,81 +0,0 @@
(ns auto-ap.graphql.reports
(:require
[amazonica.aws.s3 :as s3]
[auto-ap.datomic :refer [conn]]
[auto-ap.datomic.reports :as r]
[auto-ap.graphql.utils
:refer [<-graphql assert-admin attach-tracing-resolvers result->page]]
[config.core :refer [env]]
[datomic.api :as dc]))
(defn get-report-page [context args _]
(let [args (assoc args :clients (:clients context))
[reports reports-count] (r/get-graphql (assoc (<-graphql (:filters args))
:clients (:clients context)))]
(result->page reports reports-count :reports (:filters args)))
)
(defn delete-report [context args _]
(assert-admin (:id context))
(let [[id-to-delete key] (first (dc/q '[:find ?i ?k
:in $ ?i
:where [?i :report/key ?k]]
(dc/db conn)
(:id args)))]
(when id-to-delete
(s3/delete-object :bucket-name (:data-bucket env)
:key key)
@(dc/transact conn [[:db/retractEntity id-to-delete]]))
{:message (format "deleted %s successfully" key)}))
(def objects
{:report
{:fields {:url {:type 'String}
:name {:type 'String}
:created {:type :iso_date}
:creator {:type 'String}
:id {:type :id}}}
:report_page
{:fields {:reports {:type '(list :report)}
:count {:type 'Int}
:total {:type 'Int}
:start {:type 'Int}
:end {:type 'Int}}}})
(def queries
{:report_page {:type :report_page
:args {:filters {:type :report_filters}}
:resolve :get-report-page}})
(def mutations
{:delete_report {:type :message
:args {:id {:type :id}}
:resolve :mutation/delete-report}})
(def input-objects
{:report_filters
{:fields {:start {:type 'Int}
:per_page {:type 'Int}
:sort {:type '(list :sort_item)}}}})
(def enums
{})
(def resolvers
{:get-report-page get-report-page
:mutation/delete-report delete-report})
(defn attach [schema]
(->
(merge-with merge schema
{:objects objects
:queries queries
:mutations mutations
:input-objects input-objects
:enums enums})
(attach-tracing-resolvers resolvers)))