diff --git a/locations.go b/locations.go index d4b8226..16b4939 100644 --- a/locations.go +++ b/locations.go @@ -500,11 +500,11 @@ func FetchFacilities(mflId, batchId string) { } else { // facility exists - var fj, lastestRevision dbutils.MapAnything + var fj, latestRevision dbutils.MapAnything _ = json.Unmarshal(facilityJSON, &fj) - _ = json.Unmarshal(facility.GetLatestRevision(), &lastestRevision) + _ = json.Unmarshal(facility.GetLatestRevision(), &latestRevision) fj["parent"] = facility.Parent() - newMatchedOld, diffMap, err := models.CompareDefinition(fj, lastestRevision) + newMatchedOld, diffMap, err := models.CompareDefinition(fj, latestRevision) if err != nil { log.WithError(err).Info("Failed to make comparison between old and new facility JSON objects") } @@ -518,7 +518,7 @@ func FetchFacilities(mflId, batchId string) { continue } else { // metadataPayload := models.GenerateMetadataPayload(fj) - old, _ := json.Marshal(lastestRevision) + old, _ := json.Marshal(latestRevision) newDefinition, _ := json.Marshal(facility) metadataPayloadFromDiff := models.GenerateMetadataPayload(diffMap) log.WithFields(log.Fields{ @@ -702,7 +702,8 @@ func GetOrgUnitFromFHIRLocation(location LocationEntry) models.OrganisationUnit } lat := location.Resource.Position.Latitude long := location.Resource.Position.Longitude - coordinates := []json.Number{lat, long} + // XXX https://docs.dhis2.org/en/use/user-guides/dhis-core-version-240/configuring-the-system/maps.html + coordinates := []json.Number{long, lat} // XXX DHIS2 uses EPSG:4326 which does longitude/latitude if lat.String() == "0.0" && long.String() == "0.0" { coordinates = []json.Number{} } diff --git a/models/requests.go b/models/requests.go index 1337a8c..0cc1075 100644 --- a/models/requests.go +++ b/models/requests.go @@ -28,54 +28,51 @@ type RequestStatus string // constants for the status const ( - RequestStatusReady = RequestStatus("ready") - // RequestStatusPending = RequestStatus("pending") + RequestStatusReady = RequestStatus("ready") RequestStatusExpired = RequestStatus("expired") RequestStatusCompleted = RequestStatus("completed") RequestStatusFailed = RequestStatus("failed") - // RequestStatusError = RequestStatus("error") - // RequestStatusIgnored = RequestStatus("ignored") - RequestStatusCanceled = RequestStatus("canceled") + RequestStatusCanceled = RequestStatus("canceled") ) // Request represents our requests queue in the database type Request struct { r struct { - ID RequestID `db:"id" json:"-"` - UID string `db:"uid" json:"uid"` - BatchID string `db:"batchid" json:"batchId,omitempty"` - DependsOn dbutils.Int `db:"depends_on" json:"dependsOn,omitempty"` - Source int `db:"source" json:"source" validate:"required"` - Destination int `db:"destination" json:"destination" validate:"required"` - CCServers pq.Int64Array `db:"cc_servers" json:"CCServers,omitempty"` - CCServersStatus dbutils.JSON `db:"cc_servers_status" json:"CCServersStatus,omitempty"` - ContentType string `db:"ctype" json:"contentType,omitempty" validate:"required"` - Body string `db:"body" json:"body" validate:"required"` - Response string `db:"response" json:"response,omitempty"` - Status RequestStatus `db:"status" json:"status,omitempty"` - StatusCode string `db:"statuscode" json:"statusCode,omitempty"` - Retries int `db:"retries" json:"retries,omitempty"` - Errors string `db:"errors" json:"errors,omitempty"` - InSubmissoinPeriodbool bool `db:"in_submission_period" json:"-"` - FrequencyType string `db:"frequency_type" json:"frequencyType,omitempty"` - Period string `db:"period" json:"period,omitempty"` - Day string `db:"day" json:"day,omitempty"` - Week string `db:"week" json:"week,omitempty"` - Month string `db:"month" json:"month,omitempty"` - Year string `db:"year" json:"year,omitempty"` - MSISDN string `db:"msisdn" json:"msisdn,omitempty"` - RawMsg string `db:"raw_msg" json:"rawMsg,omitempty"` - Facility string `db:"facility" json:"facility,omitempty"` - District string `db:"district" json:"district,omitempty"` - ReportType string `db:"report_type" json:"reportType,omitempty" validate:"required"` // type of object eg event, enrollment, datavalues - ObjectType string `db:"object_type" json:"objectType,omitempty"` // type of report as in source system - Extras string `db:"extras" json:"extras,omitempty"` - Suspended bool `db:"suspended" json:"suspended,omitempty"` // whether request is suspended - BodyIsQueryParams bool `db:"body_is_query_param" json:"bodyIsQueryParams,omitempty"` // whether body is to be used a query parameters - SubmissionID string `db:"submissionid" json:"submissionId,omitempty"` // a reference ID is source system - URLSuffix string `db:"url_suffix" json:"urlSuffix,omitempty"` - Created time.Time `db:"created" json:"created,omitempty"` - Updated time.Time `db:"updated" json:"updated,omitempty"` + ID RequestID `db:"id" json:"-"` + UID string `db:"uid" json:"uid"` + BatchID string `db:"batchid" json:"batchId,omitempty"` + DependsOn dbutils.Int `db:"depends_on" json:"dependsOn,omitempty"` + Source int `db:"source" json:"source" validate:"required"` + Destination int `db:"destination" json:"destination" validate:"required"` + CCServers pq.Int64Array `db:"cc_servers" json:"CCServers,omitempty"` + CCServersStatus dbutils.JSON `db:"cc_servers_status" json:"CCServersStatus,omitempty"` + ContentType string `db:"ctype" json:"contentType,omitempty" validate:"required"` + Body string `db:"body" json:"body" validate:"required"` + Response string `db:"response" json:"response,omitempty"` + Status RequestStatus `db:"status" json:"status,omitempty"` + StatusCode string `db:"statuscode" json:"statusCode,omitempty"` + Retries int `db:"retries" json:"retries,omitempty"` + Errors string `db:"errors" json:"errors,omitempty"` + InSubmissionPeriod bool `db:"in_submission_period" json:"-"` + FrequencyType string `db:"frequency_type" json:"frequencyType,omitempty"` + Period string `db:"period" json:"period,omitempty"` + Day string `db:"day" json:"day,omitempty"` + Week string `db:"week" json:"week,omitempty"` + Month string `db:"month" json:"month,omitempty"` + Year string `db:"year" json:"year,omitempty"` + MSISDN string `db:"msisdn" json:"msisdn,omitempty"` + RawMsg string `db:"raw_msg" json:"rawMsg,omitempty"` + Facility string `db:"facility" json:"facility,omitempty"` + District string `db:"district" json:"district,omitempty"` + ReportType string `db:"report_type" json:"reportType,omitempty" validate:"required"` // type of object eg event, enrollment, datavalues + ObjectType string `db:"object_type" json:"objectType,omitempty"` // type of report as in source system + Extras string `db:"extras" json:"extras,omitempty"` + Suspended bool `db:"suspended" json:"suspended,omitempty"` // whether request is suspended + BodyIsQueryParams bool `db:"body_is_query_param" json:"bodyIsQueryParams,omitempty"` // whether body is to be used a query parameters + SubmissionID string `db:"submissionid" json:"submissionId,omitempty"` // a reference ID is source system + URLSuffix string `db:"url_suffix" json:"urlSuffix,omitempty"` + Created time.Time `db:"created" json:"created,omitempty"` + Updated time.Time `db:"updated" json:"updated,omitempty"` // OrgID OrgID `db:"org_id" json:"org_id"` // Lets add these later } } diff --git a/request_processor.go b/request_processor.go index 6f9fc63..179f976 100644 --- a/request_processor.go +++ b/request_processor.go @@ -403,7 +403,7 @@ func Produce(db *sqlx.DB, jobs chan<- int, wg *sync.WaitGroup, mutex *sync.Mutex // RequestsMap[""] = 6 for { - log.Println("Going to read requests") + // log.Println("Going to read requests") rows, err := db.Queryx(` SELECT id FROM requests