From cde16c6ff225bcc8b37e9c3f4f3e1647591ddba5 Mon Sep 17 00:00:00 2001 From: Jacob Brown Date: Mon, 20 Oct 2025 14:45:42 -0600 Subject: [PATCH 1/2] feat: get all deployments at a thing --- api/thing.py | 16 +++ db/deployment.py | 4 +- schemas/deployment.py | 17 +++ tests/test_thing.py | 41 +++++++ transfers/data/owners_org_mapper.json | 156 ++++++++++++++++++++++++++ 5 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 schemas/deployment.py create mode 100644 transfers/data/owners_org_mapper.json diff --git a/api/thing.py b/api/thing.py index a4ebab305..907bd8470 100644 --- a/api/thing.py +++ b/api/thing.py @@ -33,6 +33,7 @@ viewer_dependency, ) from db.thing import Thing, ThingIdLink, WellScreen +from db.deployment import Deployment from schemas.thing import ( CreateThingIdLink, CreateWell, @@ -48,6 +49,7 @@ UpdateThingIdLink, UpdateWellScreen, ) +from schemas.deployment import DeploymentResponse from services.crud_helper import model_patcher, model_adder, model_deleter from services.exceptions_helper import PydanticStyleException from services.query_helper import ( @@ -345,6 +347,20 @@ async def get_thing_id_links( return paginate(query=sql, conn=session) +@router.get("/{thing_id}/deployment", summary="Get deployments by thing ID") +async def get_thing_deployments( + user: viewer_dependency, + thing_id: int, + session: session_dependency, +) -> CustomPage[DeploymentResponse]: + """ + Retrieve all deployments for a specific thing by its ID. + """ + thing = simple_get_by_id(session, Thing, thing_id) + sql = select(Deployment).where(Deployment.thing_id == thing.id) + return paginate(query=sql, conn=session) + + # POST ======================================================================== diff --git a/db/deployment.py b/db/deployment.py index 0b2dc61df..8f4aaf84e 100644 --- a/db/deployment.py +++ b/db/deployment.py @@ -50,4 +50,6 @@ class Deployment(Base, AutoBaseMixin, ReleaseMixin): # Many-To-One: A Deployment is for one Thing. thing: Mapped["Thing"] = relationship("Thing", back_populates="deployments") # Many-To-One: A Deployment is of one piece of equipment (sensor). - sensor: Mapped["Sensor"] = relationship("Sensor", back_populates="deployments") + sensor: Mapped["Sensor"] = relationship( + "Sensor", back_populates="deployments", lazy="joined" + ) diff --git a/schemas/deployment.py b/schemas/deployment.py new file mode 100644 index 000000000..5bd050145 --- /dev/null +++ b/schemas/deployment.py @@ -0,0 +1,17 @@ +from datetime import date + +from schemas import BaseResponseModel +from schemas.sensor import SensorResponse + + +class DeploymentResponse(BaseResponseModel): + thing_id: int + sensor: SensorResponse + installation_date: date + removal_date: date | None + recording_interval: int | None + recording_interval_units: str | None + hanging_cable_length: float | None + hanging_point_height: float | None + hanging_point_description: str | None + notes: str | None diff --git a/tests/test_thing.py b/tests/test_thing.py index 12a728b2b..f94defc37 100644 --- a/tests/test_thing.py +++ b/tests/test_thing.py @@ -718,6 +718,47 @@ def test_get_thing_by_id_404_not_found(water_well_thing): assert data["detail"] == f"Thing with ID {bad_id} not found." +def test_get_thing_deployments_by_id( + water_well_thing, sensor_to_water_well_thing_deployment, sensor +): + response = client.get(f"/thing/{water_well_thing.id}/deployment") + assert response.status_code == 200 + data = response.json() + assert data["total"] == 1 + assert data["items"][0]["id"] == sensor_to_water_well_thing_deployment.id + assert data["items"][0]["thing_id"] == water_well_thing.id + assert data["items"][0]["sensor"]["id"] == sensor.id + assert ( + data["items"][0]["installation_date"] + == sensor_to_water_well_thing_deployment.installation_date + ) + assert ( + data["items"][0]["removal_date"] + == sensor_to_water_well_thing_deployment.removal_date + ) + assert ( + data["items"][0]["recording_interval"] + == sensor_to_water_well_thing_deployment.recording_interval + ) + assert ( + data["items"][0]["recording_interval_units"] + == sensor_to_water_well_thing_deployment.recording_interval_units + ) + assert ( + data["items"][0]["hanging_cable_length"] + == sensor_to_water_well_thing_deployment.hanging_cable_length + ) + assert ( + data["items"][0]["hanging_point_height"] + == sensor_to_water_well_thing_deployment.hanging_point_height + ) + assert ( + data["items"][0]["hanging_point_description"] + == sensor_to_water_well_thing_deployment.hanging_point_description + ) + assert data["items"][0]["notes"] == sensor_to_water_well_thing_deployment.notes + + # # weaver tests # def test_weaver_get_wells_geojson(): # response = client.get("/geospatial", params={"type": "well"}) diff --git a/transfers/data/owners_org_mapper.json b/transfers/data/owners_org_mapper.json new file mode 100644 index 000000000..54dba214f --- /dev/null +++ b/transfers/data/owners_org_mapper.json @@ -0,0 +1,156 @@ +[ + {"source": "Abeyta Engineering --> Abeyta Engineering, Inc", "target": "Abeyta Engineering --> Abeyta Engineering, Inc"}, + {"source": "Adobe Ranch", "target": "Adobe Ranch"}, + {"source": "Agua Fria Water Assn.", "target": "Agua Fria Water Assn."}, + {"source": "Apache Gap Ranch", "target": "Apache Gap Ranch"}, + {"source": "Aspendale Baptist Camp", "target": "Aspendale Baptist Camp"}, + {"source": "Augustin Ranch LLC", "target": "Augustin Ranch LLC"}, + {"source": "B + B Cattle", "target": "B + B Cattle"}, + {"source": "BLM Taos Office", "target": "BLM Taos Office"}, + {"source": "Berridge Distributing Company", "target": "Berridge Distributing Company"}, + {"source": "Bishop's Lodge", "target": "Bishop's Lodge"}, + {"source": "Bonanza Creek Ranch", "target": "Bonanza Creek Ranch"}, + {"source": "Bug Scuffle Water Association", "target": "Bug Scuffle Water Association"}, + {"source": "Bureau of Land Management", "target": "Bureau of Land Management"}, + {"source": "Camp Wehinahpay", "target": "Camp Wehinahpay"}, + {"source": "Campbell Ranch", "target": "Campbell Ranch"}, + {"source": "Capitol Ford Auto Body", "target": "Capitol Ford Auto Body"}, + {"source": "Cemex Plant", "target": "Cemex Plant"}, + {"source": "Cerro Community Center", "target": "Cerro Community Center"}, + {"source": "Chabad Jewish Center", "target": "Chabad Jewish Center"}, + {"source": "Cielo Lumbre HOA", "target": "Cielo Lumbre HOA"}, + {"source": "Circle Cross Ranch", "target": "Circle Cross Ranch"}, + {"source": "City of Alamogordo", "target": "City of Alamogordo"}, + {"source": "City of Portales, Public Works Dept.", "target": "City of Portales, Public Works Dept."}, + {"source": "City of Santa Fe WWTP", "target": "City of Santa Fe WWTP"}, + {"source": "City of Santa Fe, Municipal Recreation Complex", "target": "City of Santa Fe, Municipal Recreation Complex"}, + {"source": "City of Santa Fe, Sangre de Cristo Water Co.", "target": "City of Santa Fe, Sangre de Cristo Water Co."}, + {"source": "City of Socorro", "target": "City of Socorro"}, + {"source": "Commonwealth Conservancy", "target": "Commonwealth Conservancy"}, + {"source": "Country Club Garden MHP", "target": "Country Club Garden MHP"}, + {"source": "Crossroads Cattle Co., Ltd.", "target": "Crossroads Cattle Co., Ltd."}, + {"source": "Double H Ranch", "target": "Double H Ranch"}, + {"source": "E.A. Meadows East", "target": "E.A. Meadows East"}, + {"source": "El Camino Realty", "target": "El Camino Realty"}, + {"source": "El Dorado Utilities", "target": "El Dorado Utilities"}, + {"source": "El Gancho Restaurant", "target": "El Gancho Restaurant"}, + {"source": "El Prado HOA", "target": "El Prado HOA"}, + {"source": "El Rancho de las Golondrinas", "target": "El Rancho de las Golondrinas"}, + {"source": "El Rito MDWCA", "target": "El Rito MDWCA"}, + {"source": "Eldorado Water and Sanitation District", "target": "Eldorado Water and Sanitation District"}, + {"source": "Encantado Enterprises", "target": "Encantado Enterprises"}, + {"source": "Estrella Concepts LLC", "target": "Estrella Concepts LLC"}, + {"source": "Farr Cattle Company (Farr Ranch", "target": "Farr Cattle Company (Farr Ranch"}, + {"source": "Fire Department", "target": "Fire Department"}, + {"source": "Fire Water Lodge", "target": "Fire Water Lodge"}, + {"source": "Ford County Land and Cattle", "target": "Ford County Land and Cattle"}, + {"source": "Friendly Construction, Inc.", "target": "Friendly Construction, Inc."}, + {"source": "Hacienda Del Cerezo, Ltd.", "target": "Hacienda Del Cerezo, Ltd."}, + {"source": "Hefker Vega Ranch", "target": "Hefker Vega Ranch"}, + {"source": "High Nogal Ranch", "target": "High Nogal Ranch"}, + {"source": "Holloman Air Force Base", "target": "Holloman Air Force Base"}, + {"source": "Hyde Park Estates MDWCA", "target": "Hyde Park Estates MDWCA"}, + {"source": "Hyde Park Estates WUA", "target": "Hyde Park Estates WUA"}, + {"source": "Ideal Mobile Home & RV", "target": "Ideal Mobile Home & RV"}, + {"source": "K. Schmitt Trust", "target": "K. Schmitt Trust"}, + {"source": "La Cienega Mutual Domestic Assn.", "target": "La Cienega Mutual Domestic Assn."}, + {"source": "La Vista HOA", "target": "La Vista HOA"}, + {"source": "Lamy MDWUA", "target": "Lamy MDWUA"}, + {"source": "Land Ventures LLC", "target": "Land Ventures LLC"}, + {"source": "Las Lagunitas", "target": "Las Lagunitas"}, + {"source": "Las Lagunitas Homeowners Assn.", "target": "Las Lagunitas Homeowners Assn."}, + {"source": "Living World Ministries", "target": "Living World Ministries"}, + {"source": "Los Atrevidos, Inc.", "target": "Los Atrevidos, Inc."}, + {"source": "Los Prados HOA", "target": "Los Prados HOA"}, + {"source": "Malaga Water System", "target": "Malaga Water System"}, + {"source": "Mangas Outfitters", "target": "Mangas Outfitters"}, + {"source": "Media Gravel Pit", "target": "Media Gravel Pit"}, + {"source": "Mendenhall Trading Co.", "target": "Mendenhall Trading Co."}, + {"source": "Mesa Verde Ranch", "target": "Mesa Verde Ranch"}, + {"source": "NM Environment Dept.", "target": "NM Environment Dept."}, + {"source": "NM Game & Fish Dept.", "target": "NM Game & Fish Dept."}, + {"source": "NM Office of the State Engineer", "target": "NM Office of the State Engineer"}, + {"source": "NM State Highway Dept.", "target": "NM State Highway Dept."}, + {"source": "NMSU College of Agriculture", "target": "NMSU College of Agriculture"}, + {"source": "Naiche Development", "target": "Naiche Development"}, + {"source": "National Radio Astronomy Observatory", "target": "National Radio Astronomy Observatory"}, + {"source": "New Mexico Spaceport Authority", "target": "New Mexico Spaceport Authority"}, + {"source": "New Mexico Tech", "target": "New Mexico Tech"}, + {"source": "Nogal Mutual Domestic Water Consumers Association", "target": "Nogal Mutual Domestic Water Consumers Association"}, + {"source": "O Bar O Ranch", "target": "O Bar O Ranch"}, + {"source": "OMI Wastewater Treatment Plant", "target": "OMI Wastewater Treatment Plant"}, + {"source": "Old Road Ranch Pardners Ltd.", "target": "Old Road Ranch Pardners Ltd."}, + {"source": "PNM Service Center", "target": "PNM Service Center"}, + {"source": "PNM, Sangre de Cristo", "target": "PNM, Sangre de Cristo"}, + {"source": "Peace Tabernacle Church", "target": "Peace Tabernacle Church"}, + {"source": "Pecos Trail Inn", "target": "Pecos Trail Inn"}, + {"source": "Pelican Spa", "target": "Pelican Spa"}, + {"source": "Pistachio Tree Ranch", "target": "Pistachio Tree Ranch"}, + {"source": "Rancho Encantado", "target": "Rancho Encantado"}, + {"source": "Rancho San Lucas", "target": "Rancho San Lucas"}, + {"source": "Rancho San Marcos", "target": "Rancho San Marcos"}, + {"source": "Rancho Viejo Partnership", "target": "Rancho Viejo Partnership"}, + {"source": "Ranney Ranch", "target": "Ranney Ranch"}, + {"source": "Rio En Medio MDWCA", "target": "Rio En Medio MDWCA"}, + {"source": "San Acacia MDWCA", "target": "San Acacia MDWCA"}, + {"source": "San Juan Residences", "target": "San Juan Residences"}, + {"source": "Sandia National Laboratories", "target": "Sandia National Laboratories"}, + {"source": "Sangre de Cristo Center", "target": "Sangre de Cristo Center"}, + {"source": "Sangre de Cristo Estates", "target": "Sangre de Cristo Estates"}, + {"source": "Santa Fe Community College", "target": "Santa Fe Community College"}, + {"source": "Santa Fe County", "target": "Santa Fe County"}, + {"source": "Santa Fe County, Fire Facilities", "target": "Santa Fe County, Fire Facilities"}, + {"source": "Santa Fe County, Utilities Dept.", "target": "Santa Fe County, Utilities Dept."}, + {"source": "Santa Fe County, Valle Vista Water Utility, Inc.", "target": "Santa Fe County, Valle Vista Water Utility, Inc."}, + {"source": "Santa Fe Downs", "target": "Santa Fe Downs"}, + {"source": "Santa Fe Horse Park", "target": "Santa Fe Horse Park"}, + {"source": "Santa Fe Municipal Airport", "target": "Santa Fe Municipal Airport"}, + {"source": "Santa Fe Opera", "target": "Santa Fe Opera"}, + {"source": "Santa Fe Waldorf School", "target": "Santa Fe Waldorf School"}, + {"source": "Shidoni Foundry, Inc.", "target": "Shidoni Foundry, Inc."}, + {"source": "Sierra Grande Lodge", "target": "Sierra Grande Lodge"}, + {"source": "Sierra Vista Retirement Community", "target": "Sierra Vista Retirement Community"}, + {"source": "Slash Triangle Ranch", "target": "Slash Triangle Ranch"}, + {"source": "Stagecoach Motel", "target": "Stagecoach Motel"}, + {"source": "State of New Mexico", "target": "State of New Mexico"}, + {"source": "Stephenson Ranch", "target": "Stephenson Ranch"}, + {"source": "Sun Broadcasting Network", "target": "Sun Broadcasting Network"}, + {"source": "Tano Rd LLC", "target": "Tano Rd LLC"}, + {"source": "Taos Municipal Schools, UNM Taos", "target": "Taos Municipal Schools, UNM Taos"}, + {"source": "Tee Pee Ranch/Tee Pee Subdivision", "target": "Tee Pee Ranch/Tee Pee Subdivision"}, + {"source": "Tent Rock, Inc.", "target": "Tent Rock, Inc."}, + {"source": "Tesuque", "target": "Tesuque"}, + {"source": "Tesuque MDWCA", "target": "Tesuque MDWCA"}, + {"source": "The Great Cloud Zen Center", "target": "The Great Cloud Zen Center"}, + {"source": "Three Rivers Ranch", "target": "Three Rivers Ranch"}, + {"source": "Timberon Water and Sanitation District", "target": "Timberon Water and Sanitation District"}, + {"source": "Town of Magdalena", "target": "Town of Magdalena"}, + {"source": "Town of Taos", "target": "Town of Taos"}, + {"source": "Town of Taos, National Guard Armory", "target": "Town of Taos, National Guard Armory"}, + {"source": "Trinity Ranch", "target": "Trinity Ranch"}, + {"source": "Tularosa Basin Natl. Desalination Research Facil.", "target": "Tularosa Basin Natl. Desalination Research Facil."}, + {"source": "Turquoise Trail Charter School", "target": "Turquoise Trail Charter School"}, + {"source": "US Bureau of Indian Affairs, Indian School", "target": "US Bureau of Indian Affairs, Indian School"}, + {"source": "USFS, Carson NF, Taos Office", "target": "USFS, Carson NF, Taos Office"}, + {"source": "USFS, Cibola NF, Magdalena Ranger District", "target": "USFS, Cibola NF, Magdalena Ranger District"}, + {"source": "USFS, Santa Fe NF, Espanola Ranger District", "target": "USFS, Santa Fe NF, Espanola Ranger District"}, + {"source": "USFS/Bluewater Ranch", "target": "USFS/Bluewater Ranch"}, + {"source": "Ute Mountain Farms", "target": "Ute Mountain Farms"}, + {"source": "VA Hospital", "target": "VA Hospital"}, + {"source": "Valle Vista Water Utility", "target": "Valle Vista Water Utility"}, + {"source": "Velte", "target": "Velte"}, + {"source": "Vereda Serena Property", "target": "Vereda Serena Property"}, + {"source": "Village of Corona", "target": "Village of Corona"}, + {"source": "Village of Floyd", "target": "Village of Floyd"}, + {"source": "Village of Melrose", "target": "Village of Melrose"}, + {"source": "Village of Vaughn", "target": "Village of Vaughn"}, + {"source": "Vista Land Company", "target": "Vista Land Company"}, + {"source": "Vista Redonda MDWCA", "target": "Vista Redonda MDWCA"}, + {"source": "Vista Redondo MDWCA", "target": "Vista Redondo MDWCA"}, + {"source": "Vista de Oro Water Co-op", "target": "Vista de Oro Water Co-op"}, + {"source": "Walker Ranch", "target": "Walker Ranch"}, + {"source": "Wild & Woolley Trailer Ranch", "target": "Wild & Woolley Trailer Ranch"}, + {"source": "Winter Brothers/U.S. Government", "target": "Winter Brothers/U.S. Government"}, + {"source": "Yates Petroleum", "target": "Yates Petroleum"}, + {"source": "Zamora Accounting Services", "target": "Zamora Accounting Services"} +] \ No newline at end of file From e56ddfe3760844c3312e2b758ba0192725b9b202 Mon Sep 17 00:00:00 2001 From: Jacob Brown Date: Mon, 20 Oct 2025 15:22:32 -0600 Subject: [PATCH 2/2] refactor: remove work being done to map owners organizations - that's for another PR --- transfers/data/owners_org_mapper.json | 156 -------------------------- 1 file changed, 156 deletions(-) delete mode 100644 transfers/data/owners_org_mapper.json diff --git a/transfers/data/owners_org_mapper.json b/transfers/data/owners_org_mapper.json deleted file mode 100644 index 54dba214f..000000000 --- a/transfers/data/owners_org_mapper.json +++ /dev/null @@ -1,156 +0,0 @@ -[ - {"source": "Abeyta Engineering --> Abeyta Engineering, Inc", "target": "Abeyta Engineering --> Abeyta Engineering, Inc"}, - {"source": "Adobe Ranch", "target": "Adobe Ranch"}, - {"source": "Agua Fria Water Assn.", "target": "Agua Fria Water Assn."}, - {"source": "Apache Gap Ranch", "target": "Apache Gap Ranch"}, - {"source": "Aspendale Baptist Camp", "target": "Aspendale Baptist Camp"}, - {"source": "Augustin Ranch LLC", "target": "Augustin Ranch LLC"}, - {"source": "B + B Cattle", "target": "B + B Cattle"}, - {"source": "BLM Taos Office", "target": "BLM Taos Office"}, - {"source": "Berridge Distributing Company", "target": "Berridge Distributing Company"}, - {"source": "Bishop's Lodge", "target": "Bishop's Lodge"}, - {"source": "Bonanza Creek Ranch", "target": "Bonanza Creek Ranch"}, - {"source": "Bug Scuffle Water Association", "target": "Bug Scuffle Water Association"}, - {"source": "Bureau of Land Management", "target": "Bureau of Land Management"}, - {"source": "Camp Wehinahpay", "target": "Camp Wehinahpay"}, - {"source": "Campbell Ranch", "target": "Campbell Ranch"}, - {"source": "Capitol Ford Auto Body", "target": "Capitol Ford Auto Body"}, - {"source": "Cemex Plant", "target": "Cemex Plant"}, - {"source": "Cerro Community Center", "target": "Cerro Community Center"}, - {"source": "Chabad Jewish Center", "target": "Chabad Jewish Center"}, - {"source": "Cielo Lumbre HOA", "target": "Cielo Lumbre HOA"}, - {"source": "Circle Cross Ranch", "target": "Circle Cross Ranch"}, - {"source": "City of Alamogordo", "target": "City of Alamogordo"}, - {"source": "City of Portales, Public Works Dept.", "target": "City of Portales, Public Works Dept."}, - {"source": "City of Santa Fe WWTP", "target": "City of Santa Fe WWTP"}, - {"source": "City of Santa Fe, Municipal Recreation Complex", "target": "City of Santa Fe, Municipal Recreation Complex"}, - {"source": "City of Santa Fe, Sangre de Cristo Water Co.", "target": "City of Santa Fe, Sangre de Cristo Water Co."}, - {"source": "City of Socorro", "target": "City of Socorro"}, - {"source": "Commonwealth Conservancy", "target": "Commonwealth Conservancy"}, - {"source": "Country Club Garden MHP", "target": "Country Club Garden MHP"}, - {"source": "Crossroads Cattle Co., Ltd.", "target": "Crossroads Cattle Co., Ltd."}, - {"source": "Double H Ranch", "target": "Double H Ranch"}, - {"source": "E.A. Meadows East", "target": "E.A. Meadows East"}, - {"source": "El Camino Realty", "target": "El Camino Realty"}, - {"source": "El Dorado Utilities", "target": "El Dorado Utilities"}, - {"source": "El Gancho Restaurant", "target": "El Gancho Restaurant"}, - {"source": "El Prado HOA", "target": "El Prado HOA"}, - {"source": "El Rancho de las Golondrinas", "target": "El Rancho de las Golondrinas"}, - {"source": "El Rito MDWCA", "target": "El Rito MDWCA"}, - {"source": "Eldorado Water and Sanitation District", "target": "Eldorado Water and Sanitation District"}, - {"source": "Encantado Enterprises", "target": "Encantado Enterprises"}, - {"source": "Estrella Concepts LLC", "target": "Estrella Concepts LLC"}, - {"source": "Farr Cattle Company (Farr Ranch", "target": "Farr Cattle Company (Farr Ranch"}, - {"source": "Fire Department", "target": "Fire Department"}, - {"source": "Fire Water Lodge", "target": "Fire Water Lodge"}, - {"source": "Ford County Land and Cattle", "target": "Ford County Land and Cattle"}, - {"source": "Friendly Construction, Inc.", "target": "Friendly Construction, Inc."}, - {"source": "Hacienda Del Cerezo, Ltd.", "target": "Hacienda Del Cerezo, Ltd."}, - {"source": "Hefker Vega Ranch", "target": "Hefker Vega Ranch"}, - {"source": "High Nogal Ranch", "target": "High Nogal Ranch"}, - {"source": "Holloman Air Force Base", "target": "Holloman Air Force Base"}, - {"source": "Hyde Park Estates MDWCA", "target": "Hyde Park Estates MDWCA"}, - {"source": "Hyde Park Estates WUA", "target": "Hyde Park Estates WUA"}, - {"source": "Ideal Mobile Home & RV", "target": "Ideal Mobile Home & RV"}, - {"source": "K. Schmitt Trust", "target": "K. Schmitt Trust"}, - {"source": "La Cienega Mutual Domestic Assn.", "target": "La Cienega Mutual Domestic Assn."}, - {"source": "La Vista HOA", "target": "La Vista HOA"}, - {"source": "Lamy MDWUA", "target": "Lamy MDWUA"}, - {"source": "Land Ventures LLC", "target": "Land Ventures LLC"}, - {"source": "Las Lagunitas", "target": "Las Lagunitas"}, - {"source": "Las Lagunitas Homeowners Assn.", "target": "Las Lagunitas Homeowners Assn."}, - {"source": "Living World Ministries", "target": "Living World Ministries"}, - {"source": "Los Atrevidos, Inc.", "target": "Los Atrevidos, Inc."}, - {"source": "Los Prados HOA", "target": "Los Prados HOA"}, - {"source": "Malaga Water System", "target": "Malaga Water System"}, - {"source": "Mangas Outfitters", "target": "Mangas Outfitters"}, - {"source": "Media Gravel Pit", "target": "Media Gravel Pit"}, - {"source": "Mendenhall Trading Co.", "target": "Mendenhall Trading Co."}, - {"source": "Mesa Verde Ranch", "target": "Mesa Verde Ranch"}, - {"source": "NM Environment Dept.", "target": "NM Environment Dept."}, - {"source": "NM Game & Fish Dept.", "target": "NM Game & Fish Dept."}, - {"source": "NM Office of the State Engineer", "target": "NM Office of the State Engineer"}, - {"source": "NM State Highway Dept.", "target": "NM State Highway Dept."}, - {"source": "NMSU College of Agriculture", "target": "NMSU College of Agriculture"}, - {"source": "Naiche Development", "target": "Naiche Development"}, - {"source": "National Radio Astronomy Observatory", "target": "National Radio Astronomy Observatory"}, - {"source": "New Mexico Spaceport Authority", "target": "New Mexico Spaceport Authority"}, - {"source": "New Mexico Tech", "target": "New Mexico Tech"}, - {"source": "Nogal Mutual Domestic Water Consumers Association", "target": "Nogal Mutual Domestic Water Consumers Association"}, - {"source": "O Bar O Ranch", "target": "O Bar O Ranch"}, - {"source": "OMI Wastewater Treatment Plant", "target": "OMI Wastewater Treatment Plant"}, - {"source": "Old Road Ranch Pardners Ltd.", "target": "Old Road Ranch Pardners Ltd."}, - {"source": "PNM Service Center", "target": "PNM Service Center"}, - {"source": "PNM, Sangre de Cristo", "target": "PNM, Sangre de Cristo"}, - {"source": "Peace Tabernacle Church", "target": "Peace Tabernacle Church"}, - {"source": "Pecos Trail Inn", "target": "Pecos Trail Inn"}, - {"source": "Pelican Spa", "target": "Pelican Spa"}, - {"source": "Pistachio Tree Ranch", "target": "Pistachio Tree Ranch"}, - {"source": "Rancho Encantado", "target": "Rancho Encantado"}, - {"source": "Rancho San Lucas", "target": "Rancho San Lucas"}, - {"source": "Rancho San Marcos", "target": "Rancho San Marcos"}, - {"source": "Rancho Viejo Partnership", "target": "Rancho Viejo Partnership"}, - {"source": "Ranney Ranch", "target": "Ranney Ranch"}, - {"source": "Rio En Medio MDWCA", "target": "Rio En Medio MDWCA"}, - {"source": "San Acacia MDWCA", "target": "San Acacia MDWCA"}, - {"source": "San Juan Residences", "target": "San Juan Residences"}, - {"source": "Sandia National Laboratories", "target": "Sandia National Laboratories"}, - {"source": "Sangre de Cristo Center", "target": "Sangre de Cristo Center"}, - {"source": "Sangre de Cristo Estates", "target": "Sangre de Cristo Estates"}, - {"source": "Santa Fe Community College", "target": "Santa Fe Community College"}, - {"source": "Santa Fe County", "target": "Santa Fe County"}, - {"source": "Santa Fe County, Fire Facilities", "target": "Santa Fe County, Fire Facilities"}, - {"source": "Santa Fe County, Utilities Dept.", "target": "Santa Fe County, Utilities Dept."}, - {"source": "Santa Fe County, Valle Vista Water Utility, Inc.", "target": "Santa Fe County, Valle Vista Water Utility, Inc."}, - {"source": "Santa Fe Downs", "target": "Santa Fe Downs"}, - {"source": "Santa Fe Horse Park", "target": "Santa Fe Horse Park"}, - {"source": "Santa Fe Municipal Airport", "target": "Santa Fe Municipal Airport"}, - {"source": "Santa Fe Opera", "target": "Santa Fe Opera"}, - {"source": "Santa Fe Waldorf School", "target": "Santa Fe Waldorf School"}, - {"source": "Shidoni Foundry, Inc.", "target": "Shidoni Foundry, Inc."}, - {"source": "Sierra Grande Lodge", "target": "Sierra Grande Lodge"}, - {"source": "Sierra Vista Retirement Community", "target": "Sierra Vista Retirement Community"}, - {"source": "Slash Triangle Ranch", "target": "Slash Triangle Ranch"}, - {"source": "Stagecoach Motel", "target": "Stagecoach Motel"}, - {"source": "State of New Mexico", "target": "State of New Mexico"}, - {"source": "Stephenson Ranch", "target": "Stephenson Ranch"}, - {"source": "Sun Broadcasting Network", "target": "Sun Broadcasting Network"}, - {"source": "Tano Rd LLC", "target": "Tano Rd LLC"}, - {"source": "Taos Municipal Schools, UNM Taos", "target": "Taos Municipal Schools, UNM Taos"}, - {"source": "Tee Pee Ranch/Tee Pee Subdivision", "target": "Tee Pee Ranch/Tee Pee Subdivision"}, - {"source": "Tent Rock, Inc.", "target": "Tent Rock, Inc."}, - {"source": "Tesuque", "target": "Tesuque"}, - {"source": "Tesuque MDWCA", "target": "Tesuque MDWCA"}, - {"source": "The Great Cloud Zen Center", "target": "The Great Cloud Zen Center"}, - {"source": "Three Rivers Ranch", "target": "Three Rivers Ranch"}, - {"source": "Timberon Water and Sanitation District", "target": "Timberon Water and Sanitation District"}, - {"source": "Town of Magdalena", "target": "Town of Magdalena"}, - {"source": "Town of Taos", "target": "Town of Taos"}, - {"source": "Town of Taos, National Guard Armory", "target": "Town of Taos, National Guard Armory"}, - {"source": "Trinity Ranch", "target": "Trinity Ranch"}, - {"source": "Tularosa Basin Natl. Desalination Research Facil.", "target": "Tularosa Basin Natl. Desalination Research Facil."}, - {"source": "Turquoise Trail Charter School", "target": "Turquoise Trail Charter School"}, - {"source": "US Bureau of Indian Affairs, Indian School", "target": "US Bureau of Indian Affairs, Indian School"}, - {"source": "USFS, Carson NF, Taos Office", "target": "USFS, Carson NF, Taos Office"}, - {"source": "USFS, Cibola NF, Magdalena Ranger District", "target": "USFS, Cibola NF, Magdalena Ranger District"}, - {"source": "USFS, Santa Fe NF, Espanola Ranger District", "target": "USFS, Santa Fe NF, Espanola Ranger District"}, - {"source": "USFS/Bluewater Ranch", "target": "USFS/Bluewater Ranch"}, - {"source": "Ute Mountain Farms", "target": "Ute Mountain Farms"}, - {"source": "VA Hospital", "target": "VA Hospital"}, - {"source": "Valle Vista Water Utility", "target": "Valle Vista Water Utility"}, - {"source": "Velte", "target": "Velte"}, - {"source": "Vereda Serena Property", "target": "Vereda Serena Property"}, - {"source": "Village of Corona", "target": "Village of Corona"}, - {"source": "Village of Floyd", "target": "Village of Floyd"}, - {"source": "Village of Melrose", "target": "Village of Melrose"}, - {"source": "Village of Vaughn", "target": "Village of Vaughn"}, - {"source": "Vista Land Company", "target": "Vista Land Company"}, - {"source": "Vista Redonda MDWCA", "target": "Vista Redonda MDWCA"}, - {"source": "Vista Redondo MDWCA", "target": "Vista Redondo MDWCA"}, - {"source": "Vista de Oro Water Co-op", "target": "Vista de Oro Water Co-op"}, - {"source": "Walker Ranch", "target": "Walker Ranch"}, - {"source": "Wild & Woolley Trailer Ranch", "target": "Wild & Woolley Trailer Ranch"}, - {"source": "Winter Brothers/U.S. Government", "target": "Winter Brothers/U.S. Government"}, - {"source": "Yates Petroleum", "target": "Yates Petroleum"}, - {"source": "Zamora Accounting Services", "target": "Zamora Accounting Services"} -] \ No newline at end of file