diff --git a/.gitignore b/.gitignore
index bb03c04..df41a2e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,55 +1,10 @@
-# These are some examples of commonly ignored file patterns.
-# You should customize this list as applicable to your project.
-# Learn more about .gitignore:
-# https://www.atlassian.com/git/tutorials/saving-changes/gitignore
+# Maven
+target
-# Node artifact files
-node_modules/
-dist/
-
-# Eclipse files
+# Eclipse
.settings
.project
.classpath
-# Compiled Java class files
-*.class
-
-# Compiled Python bytecode
-*.py[cod]
-
-# Log files
+# Runtime
*.log
-
-# Package files
-*.jar
-
-# Maven
-target/
-dist/
-
-# JetBrains IDE
-.idea/
-
-# Unit test reports
-TEST*.xml
-
-# Generated by MacOS
-.DS_Store
-
-# Generated by Windows
-Thumbs.db
-
-# Applications
-*.app
-*.exe
-*.war
-
-# Large media files
-*.mp4
-*.tiff
-*.avi
-*.flv
-*.mov
-*.wmv
-
diff --git a/pom.xml b/pom.xml
index 3448fe4..bbf3ff5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.poststats
- poststats-rs-api
+ commons-rs-api
2.0-SNAPSHOT
jar
@@ -20,71 +20,28 @@
-
- com.poststats
- poststats-core
- 2.0-SNAPSHOT
-
-
-
jakarta.ws.rs
jakarta.ws.rs-api
3.1.0
-
-
- jakarta.servlet
- jakarta.servlet-api
- 6.0.0
+ jakarta.validation
+ jakarta.validation-api
+ 3.0.2
-
-
-
- jakarta.enterprise
- jakarta.enterprise.cdi-api
- 4.0.1
-
-
- jakarta.transaction
- jakarta.transaction-api
- 2.0.1
-
-
-
-
- jakarta.ejb
- jakarta.ejb-api
- 4.0.1
-
-
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
- 2.13.4
-
-
-
-
- org.jboss.resteasy
- resteasy-multipart-provider
- 6.2.1.Final
-
-
io.swagger.core.v3
swagger-annotations-jakarta
${swagger.version}
-
- org.telegram
- telegrambots-meta
- 6.4.0
+ com.fasterxml.jackson.core
+ jackson-annotations
+ 2.13.4
+
junit
junit
diff --git a/src/main/java/com/poststats/rs/api/Constants.java b/src/main/java/com/poststats/rs/Constants.java
similarity index 61%
rename from src/main/java/com/poststats/rs/api/Constants.java
rename to src/main/java/com/poststats/rs/Constants.java
index 3d1abd3..b7b07a9 100644
--- a/src/main/java/com/poststats/rs/api/Constants.java
+++ b/src/main/java/com/poststats/rs/Constants.java
@@ -1,4 +1,4 @@
-package com.poststats.rs.api;
+package com.poststats.rs;
public class Constants {
@@ -8,9 +8,5 @@ public class Constants {
public static final String MANAGER_ROLE = "owner";
public static final String MANAGER_ROLE_PREFIX = MANAGER_ROLE
+ ":";
- public static final String FACILITY_ROLE_PREFIX = "facility:";
-
- public static final String PERSON_ID = "personId";
- public static final String FACILITY_ID = "facilityId";
}
diff --git a/src/main/java/com/poststats/rs/api/BaseApi.java b/src/main/java/com/poststats/rs/api/BaseApi.java
deleted file mode 100644
index b5c744f..0000000
--- a/src/main/java/com/poststats/rs/api/BaseApi.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.poststats.rs.api;
-
-import io.swagger.v3.oas.annotations.OpenAPIDefinition;
-import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
-import io.swagger.v3.oas.annotations.info.Contact;
-import io.swagger.v3.oas.annotations.info.Info;
-import io.swagger.v3.oas.annotations.security.SecurityScheme;
-import jakarta.ws.rs.Path;
-
-/**
- * @author brian.long@poststats.com
- */
-@Path("/")
-@OpenAPIDefinition(
- info = @Info(
- contact = @Contact(name = "Brian Long", email = "brian.long@poststats.com"),
- title = "PostStats API",
- description = "An API providing access to PostStats objects.",
- version = "v1"
- )
-)
-@SecurityScheme(name = "basic", type = SecuritySchemeType.HTTP, scheme = "BASIC")
-public interface BaseApi {
-
-}
diff --git a/src/main/java/com/poststats/rs/api/FacilitiesApi.java b/src/main/java/com/poststats/rs/api/FacilitiesApi.java
deleted file mode 100644
index 741b7de..0000000
--- a/src/main/java/com/poststats/rs/api/FacilitiesApi.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.poststats.rs.api;
-
-import java.util.List;
-
-import com.poststats.rs.api.model.Facility;
-import com.poststats.rs.api.model.PagedCollection;
-import com.poststats.rs.api.model.Pagination;
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.DecimalMax;
-import jakarta.validation.constraints.DecimalMin;
-import jakarta.validation.constraints.Max;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Positive;
-import jakarta.validation.constraints.Size;
-import jakarta.ws.rs.BeanParam;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.QueryParam;
-import jakarta.ws.rs.core.MediaType;
-
-/**
- * @author brian.long@poststats.com
- */
-@Path("/facilities")
-@Tag(name = "Facility API")
-@Produces({ MediaType.APPLICATION_JSON, Constants.V1_JSON })
-@ApiResponse(responseCode = "200", description = "Success", content = {
- @Content(mediaType = MediaType.APPLICATION_JSON),
- @Content(mediaType = Constants.V1_JSON)
-})
-@ApiResponse(responseCode = "400", description = "A request parameter is not valid")
-@ApiResponse(responseCode = "404", description = "No matching facilities were found")
-public interface FacilitiesApi {
-
- @GET
- @Path("/byName")
- @Operation(summary = "Searches for facilities by their name.", description = "Searches for facilities by their name, excluding prefix (e.g. The) and suffix (e.g. Golf Club), returning limited meta-data about each matched facility.")
- @Tag(name = "Search API")
- PagedCollection> searchByName(
- @Parameter(description = "A fragment or whole facility name; the prefix and suffix are not included", example = "Bushwood") @QueryParam("name") @NotNull @Size(min = 3) String name,
- @BeanParam @Valid Pagination paging);
-
- @GET
- @Path("/byLocation/{country}")
- @Operation(summary = "Searches for facilities by their location.", description = "Searches for facilities by their country, returning limited meta-data about each matched facility.")
- @Tag(name = "Search API")
- PagedCollection> searchByJurisdiction(
- @Parameter(description = "A country code", example = "US") @PathParam("country") @NotNull String country,
- @BeanParam @Valid Pagination paging);
-
- @GET
- @Path("/byLocation/{country}/{state}")
- @Operation(summary = "Searches for facilities by their location.", description = "Searches for facilities by their major jurisdiction (e.g. US States), returning limited meta-data about each matched facility.")
- @Tag(name = "Search API")
- PagedCollection> searchByJurisdiction(
- @Parameter(description = "A country code", example = "US") @PathParam("country") @NotNull String country,
- @Parameter(description = "A State or high-level jurisdiction", example = "FL") @PathParam("state") @NotNull String state,
- @BeanParam @Valid Pagination paging);
-
- @GET
- @Path("/byGeo")
- @Operation(summary = "Searches for facilities by their location.", description = "Searches for facilities by their major jurisdiction (e.g. US States), returning limited meta-data about each matched facility.")
- @Tag(name = "Search API")
- PagedCollection> searchByJurisdiction(
- @Parameter(description = "A latitude in decimal degrees", example = "41.2390") @QueryParam("latitude") @NotNull @DecimalMin("-90.0") @DecimalMax("90.0") double latitude,
- @Parameter(description = "A longitude in decimal degrees", example = "-81.34891") @QueryParam("longitude") @NotNull @DecimalMin("-180.0") @DecimalMax("180.0") double longitude,
- @Parameter(name = "radius", description = "A search radius in miles", example = "15") @QueryParam("radius") @Positive @Max(100) Integer radiusInMiles,
- @BeanParam @Valid Pagination paging);
-
-}
diff --git a/src/main/java/com/poststats/rs/api/FacilityApi.java b/src/main/java/com/poststats/rs/api/FacilityApi.java
deleted file mode 100644
index cb52f5e..0000000
--- a/src/main/java/com/poststats/rs/api/FacilityApi.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.poststats.rs.api;
-
-import com.poststats.rs.api.model.Facility;
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.enterprise.context.RequestScoped;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Positive;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-
-/**
- * @author brian.long@poststats.com
- */
-@RequestScoped
-@Path("/facility/{facilityId}")
-@Tag(name = "Facility API")
-@Produces({MediaType.APPLICATION_JSON, Constants.V1_JSON})
-@ApiResponse(responseCode = "200", description = "Success", content = {
- @Content(mediaType = MediaType.APPLICATION_JSON),
- @Content(mediaType = Constants.V1_JSON)
-})
-@ApiResponse(responseCode = "400", description = "A request parameter is not valid")
-@ApiResponse(responseCode = "404", description = "No matching facility was found")
-public interface FacilityApi {
-
- @GET
- @Operation(
- summary = "Retrieves limited meta-data about a facility.",
- description = "Retreives name, location, and other direct meta-data about the specified facility."
- )
- Facility get(@Parameter(description = "A unique identifier for a facility") @NotNull @Positive @PathParam("facilityId") int facilityId);
-
-}
diff --git a/src/main/java/com/poststats/rs/api/PersonApi.java b/src/main/java/com/poststats/rs/api/PersonApi.java
deleted file mode 100644
index 7b8f7ad..0000000
--- a/src/main/java/com/poststats/rs/api/PersonApi.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.poststats.rs.api;
-
-import java.io.InputStream;
-import java.math.BigInteger;
-
-import org.apache.http.HttpHeaders;
-
-import com.poststats.rs.api.model.Person;
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.annotation.security.RolesAllowed;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Positive;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.HeaderParam;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-
-/**
- * @author brian.long@poststats.com
- */
-@Path("/person/{personId}")
-@Tag(name = "Person API")
-@Produces({MediaType.APPLICATION_JSON, Constants.V1_JSON})
-@ApiResponse(responseCode = "200", description = "Success", content = {
- @Content(mediaType = MediaType.APPLICATION_JSON),
- @Content(mediaType = Constants.V1_JSON)
-})
-@ApiResponse(responseCode = "400", description = "A request parameter is not valid")
-@ApiResponse(responseCode = "404", description = "No matching person was found")
-public interface PersonApi {
-
- @GET
- @Produces(Constants.V1_JSON)
- @Operation(
- summary = "Retrieves limited meta-data about a person.",
- description = "Retreives name, location, contact, and other direct meta-data about the specified registered person."
- )
- Person get(@Parameter(description = "A unique identifier for a person")
- @NotNull @Positive @PathParam("personId") long personId);
-
- @Path("/photo")
- @POST
- @Consumes({"image/png", "image/jpeg"})
- @Produces(Constants.V1_JSON)
- @Operation(
- summary = "Stores a photo of a person.",
- description = "Auto-crops, scales, and stores the specified profile photo and associates the photo to the specified person."
- )
- @RolesAllowed({Constants.ADMIN_ROLE, Constants.MANAGER_ROLE})
- @SecurityRequirement(name = "basic")
- BigInteger uploadProfilePhoto(@Parameter(description = "A unique identifier for a person")
- @NotNull @Positive @PathParam("personId") long personId,
- @Parameter(hidden = true) @HeaderParam(HttpHeaders.CONTENT_TYPE) String contentType,
- @Parameter(description = "A file of the photo") @NotNull InputStream istream);
-
-}
diff --git a/src/main/java/com/poststats/rs/api/PhotoApi.java b/src/main/java/com/poststats/rs/api/PhotoApi.java
deleted file mode 100644
index f8743cb..0000000
--- a/src/main/java/com/poststats/rs/api/PhotoApi.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.poststats.rs.api;
-
-import java.math.BigInteger;
-
-import org.jboss.resteasy.annotations.cache.Cache;
-import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
-
-import com.poststats.rs.api.model.Photo;
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Encoding;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
-import io.swagger.v3.oas.annotations.media.SchemaProperty;
-import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.annotation.security.RolesAllowed;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Positive;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-
-/**
- * @author brian.long@poststats.com
- */
-@Path("/photo")
-@Tag(name = "Photo API")
-@Produces({MediaType.APPLICATION_JSON, Constants.V1_JSON})
-@ApiResponse(responseCode = "200", description = "Success", content = {
- @Content(mediaType = MediaType.APPLICATION_JSON),
- @Content(mediaType = Constants.V1_JSON)
-})
-@ApiResponse(responseCode = "400", description = "A request parameter is not valid")
-@ApiResponse(responseCode = "404", description = "No matching photo was found")
-public interface PhotoApi {
-
- @GET
- @Path("/{photoId}/metadata")
- @Cache(isPrivate = true, maxAge = 60)
- @Operation(
- summary = "Retrieves limited meta-data about a photo.",
- description = "Retreives type, size, and other direct meta-data about the specified photo."
- )
- Photo get(
- @Parameter(description = "A unique identifier for a photo")
- @PathParam("photoId") @NotNull @Positive BigInteger photoId);
-
- @GET
- @Path("/{photoId}")
- @Produces({"image/png", "image/jpeg"})
- @Cache(maxAge = 864000)
- @Operation(summary = "Retrieves the binary stream of a photo.")
- @ApiResponse(responseCode = "200", description = "Success")
- Response getStream(
- @Parameter(description = "A unique identifier for a photo")
- @PathParam("photoId") @NotNull @Positive BigInteger photoId);
-
- @GET
- @Path("/{photoId}/thumbnail")
- @Produces({"image/png", "image/jpeg"})
- @Cache(maxAge = 864000)
- @Operation(summary = "Retrieves the binary stream of the thumbnail of a photo.")
- @ApiResponse(responseCode = "200", description = "Success")
- Response getThumbnailStream(
- @Parameter(description = "A unique identifier for a photo")
- @PathParam("photoId") @NotNull @Positive BigInteger photoId);
-
- @POST
- @Consumes(MediaType.MULTIPART_FORM_DATA)
- @Operation(
- summary = "Stores a photo and associates it to any other object.",
- description = "Auto-crops, scales, and stores a photo and associates it to facilities, courses, persons, events, and event series.",
- requestBody = @RequestBody(content = @Content(
- mediaType = MediaType.MULTIPART_FORM_DATA,
- schemaProperties = {
- @SchemaProperty(name = "file", schema = @Schema(type = "string", format = "base64", requiredMode = RequiredMode.REQUIRED)),
- @SchemaProperty(name = "photo", schema = @Schema(type = "string", requiredMode = RequiredMode.REQUIRED))
- },
- encoding = {
- @Encoding(name = "file", contentType = "image/png, image/jpeg"),
- @Encoding(name = "photo", contentType = MediaType.APPLICATION_JSON + ", " + Constants.V1_JSON)
- }
- )),
- parameters = {
- @Parameter(name = "photo", description = "JSON meta-data associated with the uploaded photo", content = {
- @Content(mediaType = MediaType.APPLICATION_JSON),
- @Content(mediaType = Constants.V1_JSON)
- }),
- @Parameter(name = "file", content = {
- @Content(mediaType = "image/png"),
- @Content(mediaType = "image/jpeg")
- })
- }
- )
- @RolesAllowed("member")
- @SecurityRequirement(name = "basic")
- BigInteger uploadPhoto(MultipartFormDataInput multipart);
-
-}
diff --git a/src/main/java/com/poststats/rs/api/TelegramWebhookApi.java b/src/main/java/com/poststats/rs/api/TelegramWebhookApi.java
deleted file mode 100644
index ee21be8..0000000
--- a/src/main/java/com/poststats/rs/api/TelegramWebhookApi.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.poststats.rs.api;
-
-import org.telegram.telegrambots.meta.api.objects.Update;
-
-import io.swagger.v3.oas.annotations.Hidden;
-import jakarta.transaction.Transactional;
-import jakarta.transaction.Transactional.TxType;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.HeaderParam;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.core.MediaType;
-
-@Path("/telegram/webhook")
-@Hidden
-public interface TelegramWebhookApi {
-
- @POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Transactional(TxType.REQUIRED)
- void update(@HeaderParam("X-Telegram-Bot-Api-Secret-Token") String secret, final Update update);
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/BaseFacility.java b/src/main/java/com/poststats/rs/api/model/BaseFacility.java
deleted file mode 100644
index 0e002c8..0000000
--- a/src/main/java/com/poststats/rs/api/model/BaseFacility.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.poststats.rs.api.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-public abstract class BaseFacility> extends BaseModel {
-
- @JsonProperty(required = true)
- @MapEntry("facility")
- private String name;
-
- @JsonProperty()
- @MapEntry("prefix")
- private String namePrefix;
-
- @JsonProperty(required = true)
- @MapEntry("suffix")
- private String nameSuffix;
-
- @JsonProperty(required = true)
- private String postalAddress;
-
- @JsonProperty
- @MapEntry("www")
- private String webAddress;
-
- @JsonProperty
- @MapEntry("contact")
- private String contact;
-
- @JsonProperty
- @MapEntry("phone1")
- private String phoneNumber;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getNamePrefix() {
- return namePrefix;
- }
-
- public void setNamePrefix(String namePrefix) {
- this.namePrefix = namePrefix;
- }
-
- public String getNameSuffix() {
- return nameSuffix;
- }
-
- public void setNameSuffix(String nameSuffix) {
- this.nameSuffix = nameSuffix;
- }
-
- public String getPostalAddress() {
- return postalAddress;
- }
-
- public void setPostalAddress(String postalAddress) {
- this.postalAddress = postalAddress;
- }
-
- public String getWebAddress() {
- return webAddress;
- }
-
- public void setWebAddress(String webAddress) {
- this.webAddress = webAddress;
- }
-
- public String getContact() {
- return contact;
- }
-
- public void setContact(String contact) {
- this.contact = contact;
- }
-
- public String getPhoneNumber() {
- return phoneNumber;
- }
-
- public void setPhoneNumber(String phoneNumber) {
- this.phoneNumber = phoneNumber;
- }
-
- public ConcreteT withName(String name) {
- this.name = name;
- return this.withThis();
- }
-
- public ConcreteT withNamePrefix(String prefix) {
- this.namePrefix = prefix;
- return this.withThis();
- }
-
- public ConcreteT withNameSuffix(String suffix) {
- this.nameSuffix = suffix;
- return this.withThis();
- }
-
- public ConcreteT withPostalAddress(String postalAddress) {
- this.postalAddress = postalAddress;
- return this.withThis();
- }
-
- public ConcreteT withWebAddress(String webAddress) {
- this.webAddress = webAddress;
- return this.withThis();
- }
-
- public ConcreteT withContact(String contact) {
- this.contact = contact;
- return this.withThis();
- }
-
- public ConcreteT withPhoneNumber(String phoneNumber) {
- this.phoneNumber = phoneNumber;
- return this.withThis();
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/BasePerson.java b/src/main/java/com/poststats/rs/api/model/BasePerson.java
deleted file mode 100644
index cbcede3..0000000
--- a/src/main/java/com/poststats/rs/api/model/BasePerson.java
+++ /dev/null
@@ -1,275 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.time.LocalDate;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.poststats.rs.api.Constants;
-import com.poststats.rs.api.annotation.GeocodeTarget;
-import com.poststats.rs.api.annotation.GeocodeTarget.GeocodeField;
-import com.poststats.rs.api.annotation.MapCondition;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-public abstract class BasePerson> extends BaseModel {
-
- @JsonProperty
- @MapEntry("prefix")
- private String salutation;
-
- @JsonProperty(required = true)
- @MapEntry("fname")
- private String firstName;
-
- @JsonProperty(required = true)
- @MapEntry("lname")
- private String lastName;
-
- @JsonProperty
- @MapEntry("suffix")
- private String suffix;
-
- @JsonProperty
- @GeocodeTarget(GeocodeField.FullPostalAddress)
- private String postalAddress;
-
- @JsonProperty
- @MapEntry("email")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE, "event:admin", "event:finance", "event:membership"
- })
- @MapCondition(rolesAllowed = {
- "buddy"
- }, method = "doShowEmailAddress")
- private String emailAddress;
-
- @JsonProperty
- @MapEntry("cellphone")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE, "event:admin", "event:finance", "event:membership"
- })
- @MapCondition(rolesAllowed = {
- "buddy"
- }, method = "doShowPhoneNumber")
- private String mobilePhoneNumber;
-
- @JsonProperty
- @MapEntry("birth")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE
- })
- @MapCondition(rolesAllowed = {
- "buddy"
- }, method = "doShowBirthYear")
- private LocalDate birth;
-
- @JsonProperty
- @MapEntry("gender")
- private Character gender;
-
- @JsonProperty
- @MapEntry("height")
- private Short height;
-
- @JsonProperty
- @MapEntry("weight")
- private Integer weight;
-
- @JsonProperty
- @MapEntry("occupation")
- private String occupation;
-
- @JsonProperty
- @MapEntry("healthSetback")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE
- })
- private LocalDate healthSetback;
-
- public String getSalutation() {
- return salutation;
- }
-
- public void setSalutation(String salutation) {
- this.salutation = salutation;
- }
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-
- public String getSuffix() {
- return suffix;
- }
-
- public void setSuffix(String suffix) {
- this.suffix = suffix;
- }
-
- public String getPostalAddress() {
- return postalAddress;
- }
-
- public void setPostalAddress(String postalAddress) {
- this.postalAddress = postalAddress;
- }
-
- public String getEmailAddress() {
- return emailAddress;
- }
-
- public void setEmailAddress(String emailAddress) {
- this.emailAddress = emailAddress;
- }
-
- public String getMobilePhoneNumber() {
- return mobilePhoneNumber;
- }
-
- public void setMobilePhoneNumber(String mobilePhoneNumber) {
- this.mobilePhoneNumber = mobilePhoneNumber;
- }
-
- public LocalDate getBirth() {
- return birth;
- }
-
- public void setBirth(LocalDate birth) {
- this.birth = birth;
- }
-
- public Character getGender() {
- return gender;
- }
-
- public void setGender(Character gender) {
- this.gender = gender;
- }
-
- public Short getHeight() {
- return height;
- }
-
- public void setHeight(Short height) {
- this.height = height;
- }
-
- public Integer getWeight() {
- return weight;
- }
-
- public void setWeight(Integer weight) {
- this.weight = weight;
- }
-
- public String getOccupation() {
- return occupation;
- }
-
- public void setOccupation(String occupation) {
- this.occupation = occupation;
- }
-
- public LocalDate getHealthSetback() {
- return healthSetback;
- }
-
- public void setHealthSetback(LocalDate healthSetback) {
- this.healthSetback = healthSetback;
- }
-
- public ConcreteT withSalutation(String salutation) {
- this.salutation = salutation;
- return this.withThis();
- }
-
- public ConcreteT withFirstName(String firstName) {
- this.firstName = firstName;
- return this.withThis();
- }
-
- public ConcreteT withLastName(String lastName) {
- this.lastName = lastName;
- return this.withThis();
- }
-
- public ConcreteT withSuffix(String suffix) {
- this.suffix = suffix;
- return this.withThis();
- }
-
- public ConcreteT withPostalAddress(String postalAddress) {
- this.postalAddress = postalAddress;
- return this.withThis();
- }
-
- public ConcreteT withEmailAddress(String emailAddress) {
- this.emailAddress = emailAddress;
- return this.withThis();
- }
-
- public ConcreteT withMobilePhoneNumber(String mobilePhoneNumber) {
- this.mobilePhoneNumber = mobilePhoneNumber;
- return this.withThis();
- }
-
- public ConcreteT withBirth(LocalDate birth) {
- this.birth = birth;
- return this.withThis();
- }
-
- public ConcreteT withGender(Character gender) {
- this.gender = gender;
- return this.withThis();
- }
-
- public ConcreteT withHeight(Short height) {
- this.height = height;
- return this.withThis();
- }
-
- public ConcreteT withWeight(Integer weight) {
- this.weight = weight;
- return this.withThis();
- }
-
- public ConcreteT withOccupation(String occupation) {
- this.occupation = occupation;
- return this.withThis();
- }
-
- public ConcreteT withHealthSetback(LocalDate healthSetback) {
- this.healthSetback = healthSetback;
- return this.withThis();
- }
-
- boolean doShowEmailAddress() {
- return true;
- }
-
- boolean doShowPostalAddress() {
- return true;
- }
-
- boolean doShowPhoneNumber() {
- return true;
- }
-
- boolean doShowBirthYear() {
- return true;
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/BasePhoto.java b/src/main/java/com/poststats/rs/api/model/BasePhoto.java
deleted file mode 100644
index 9a3a058..0000000
--- a/src/main/java/com/poststats/rs/api/model/BasePhoto.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-public abstract class BasePhoto> extends BaseModel {
-
- public enum Type {
- @JsonProperty("profile")
- @MapEntry("profile")
- Profile,
- @JsonProperty("nearly-square")
- @MapEntry("nearly-square")
- NearlySquare,
- @JsonProperty("vertical")
- @MapEntry("vertical")
- Vertical,
- @JsonProperty("horizontal")
- @MapEntry("horizontal")
- Horizontal,
- @JsonProperty("logo")
- @MapEntry("logo")
- Logo,
- @JsonProperty("banner")
- @MapEntry("banner")
- Banner,
- @JsonProperty("full")
- @MapEntry("full")
- Full
- }
-
- @JsonProperty(required = true)
- @MapEntry("photoSizeSID")
- private Type type;
-
- @JsonProperty
- @MapEntry("title")
- private String caption;
-
- @JsonProperty
- @MapEntry
- private String description;
-
- @JsonProperty
- private List facilityIds;
-
- @JsonProperty
- private List personIds;
-
- public Type getType() {
- return type;
- }
-
- public void setType(Type type) {
- this.type = type;
- }
-
- public String getCaption() {
- return caption;
- }
-
- public void setCaption(String caption) {
- this.caption = caption;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public List getFacilityIds() {
- return facilityIds;
- }
-
- public void setFacilityIds(List facilityIds) {
- this.facilityIds = facilityIds;
- }
-
- public List getPersonIds() {
- return personIds;
- }
-
- public void setPersonIds(List personIds) {
- this.personIds = personIds;
- }
-
- public ConcreteT withType(Type type) {
- this.type = type;
- return this.withThis();
- }
-
- public ConcreteT withCaption(String caption) {
- this.caption = caption;
- return this.withThis();
- }
-
- public ConcreteT withDescription(String description) {
- this.description = description;
- return this.withThis();
- }
-
- public ConcreteT withFacilityId(int facilityId) {
- if (this.facilityIds == null)
- this.facilityIds = new LinkedList<>();
- this.facilityIds.add(facilityId);
- return this.withThis();
- }
-
- public ConcreteT withPersonId(long personId) {
- if (this.personIds == null)
- this.personIds = new LinkedList<>();
- this.personIds.add(personId);
- return this.withThis();
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/Facility.java b/src/main/java/com/poststats/rs/api/model/Facility.java
deleted file mode 100644
index c668205..0000000
--- a/src/main/java/com/poststats/rs/api/model/Facility.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.time.LocalDate;
-import java.time.OffsetDateTime;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonProperty.Access;
-import com.poststats.rs.api.Constants;
-import com.poststats.rs.api.annotation.GeocodeSource;
-import com.poststats.rs.api.annotation.GeocodeTarget;
-import com.poststats.rs.api.annotation.GeocodeTarget.GeocodeField;
-import com.poststats.rs.api.annotation.MapCondition;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class Facility extends BaseFacility implements ReferenceableFacility, PeriodConstrainable {
-
- @JsonProperty(required = true, access = Access.READ_ONLY)
- @MapEntry("facilityID")
- private int id;
-
- @JsonProperty(required = true)
- @MapEntry("suffixAbbrev")
- private String nameSuffixAbbrev;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.AddressLines)
- private String addrlines;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.City)
- private String addrcity;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.State)
- private String addrstate;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.Country)
- private String addrcountry;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.PostalCode)
- private String addrzip;
-
- @JsonProperty
- @MapEntry("liveline")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, "course"
- })
- private LocalDate liveline;
-
- @JsonProperty
- @MapEntry("deadline")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, "course"
- })
- private LocalDate deadline;
-
- @JsonProperty(access = Access.READ_ONLY)
- @MapEntry("created")
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, "course"
- })
- private OffsetDateTime created;
-
- @Override
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getNameSuffixAbbrev() {
- return nameSuffixAbbrev;
- }
-
- public void setNameSuffixAbbrev(String nameSuffixAbbrev) {
- this.nameSuffixAbbrev = nameSuffixAbbrev;
- }
-
- @Override
- @GeocodeSource
- public String getPostalAddress() {
- return super.getPostalAddress();
- }
-
- @Override
- public LocalDate getLiveline() {
- return liveline;
- }
-
- @Override
- public void setLiveline(LocalDate liveline) {
- this.liveline = liveline;
- }
-
- @Override
- public LocalDate getDeadline() {
- return deadline;
- }
-
- @Override
- public void setDeadline(LocalDate deadline) {
- this.deadline = deadline;
- }
-
- public OffsetDateTime getCreated() {
- return created;
- }
-
- public void setCreated(OffsetDateTime created) {
- this.created = created;
- }
-
- public Facility withId(int id) {
- this.id = id;
- return this;
- }
-
- public Facility withNameSuffixAbbrev(String suffixAbbrev) {
- this.nameSuffixAbbrev = suffixAbbrev;
- return this;
- }
-
- public Facility withLiveline(LocalDate liveline) {
- this.liveline = liveline;
- return this;
- }
-
- public Facility withDeadline(LocalDate deadline) {
- this.deadline = deadline;
- return this;
- }
-
- public Facility withCreated(OffsetDateTime created) {
- this.created = created;
- return this;
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/Person.java b/src/main/java/com/poststats/rs/api/model/Person.java
deleted file mode 100644
index 566c593..0000000
--- a/src/main/java/com/poststats/rs/api/model/Person.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.time.MonthDay;
-import java.time.OffsetDateTime;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonProperty.Access;
-import com.poststats.rs.api.Constants;
-import com.poststats.rs.api.annotation.GeocodeSource;
-import com.poststats.rs.api.annotation.GeocodeTarget;
-import com.poststats.rs.api.annotation.GeocodeTarget.GeocodeField;
-import com.poststats.rs.api.annotation.MapCondition;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class Person extends BasePerson implements ReferenceablePerson {
-
- @JsonProperty(required = true, access = Access.READ_ONLY)
- @MapEntry("personID")
- private long id;
-
- @JsonProperty
- private String fuzzyLocation;
-
- @MapEntry
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE, "event:admin", "event:finance", "event:membership"
- })
- @MapCondition(rolesAllowed = {
- "buddy"
- }, method = "doShowPostalAddress")
- @GeocodeTarget(GeocodeField.AddressLines)
- private String addrlines;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.City)
- private String addrcity;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.State)
- private String addrstate;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.Country)
- private String addrcountry;
-
- @MapEntry
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE, "event:admin", "event:finance", "event:membership"
- })
- @MapCondition(rolesAllowed = {
- "buddy"
- }, method = "doShowPostalAddress")
- @GeocodeTarget(GeocodeField.PostalCode)
- private String addrzip;
-
- @MapEntry
- @GeocodeTarget(GeocodeField.FuzzyPostalAddress)
- private String addrfuzzy;
-
- @MapEntry
- private Boolean hideEmail = true;
-
- @MapEntry
- private Boolean hidePhone = true;
-
- @MapEntry
- protected Boolean hideAddress = true;
-
- @MapEntry
- protected Boolean hideBirthYear = true;
-
- @JsonProperty(access = Access.READ_ONLY)
- @MapEntry("birth")
- @MapCondition(rolesAllowed = {
- Constants.AUTH_ROLE
- })
- private MonthDay birthDay;
-
- @JsonProperty(access = Access.READ_ONLY)
- @MapCondition(rolesAllowed = {
- Constants.ADMIN_ROLE, Constants.MANAGER_ROLE
- })
- @MapEntry
- private OffsetDateTime created;
-
- @Override
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- @JsonProperty(access = Access.READ_ONLY)
- public String getFuzzyLocation() {
- return this.addrfuzzy;
- }
-
- @Override
- @GeocodeSource
- public String getPostalAddress() {
- return super.getPostalAddress();
- }
-
- public MonthDay getBirthDay() {
- return birthDay;
- }
-
- public OffsetDateTime getCreated() {
- return created;
- }
-
- public void setCreated(OffsetDateTime created) {
- this.created = created;
- }
-
- public Person withId(long id) {
- this.id = id;
- return this;
- }
-
- public Person withCreated(OffsetDateTime created) {
- this.created = created;
- return this;
- }
-
- @Override
- boolean doShowPostalAddress() {
- return Boolean.FALSE.equals(this.hideAddress);
- }
-
- @Override
- boolean doShowEmailAddress() {
- return Boolean.FALSE.equals(this.hideEmail);
- }
-
- @Override
- boolean doShowPhoneNumber() {
- return Boolean.FALSE.equals(this.hidePhone);
- }
-
- @Override
- boolean doShowBirthYear() {
- return Boolean.FALSE.equals(this.hideBirthYear);
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/Photo.java b/src/main/java/com/poststats/rs/api/model/Photo.java
deleted file mode 100644
index 928b25e..0000000
--- a/src/main/java/com/poststats/rs/api/model/Photo.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.math.BigInteger;
-import java.time.OffsetDateTime;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonProperty.Access;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class Photo extends BasePhoto implements ReferenceablePhoto {
-
- @JsonProperty(required = true, access = Access.READ_ONLY)
- @MapEntry("photoID")
- private BigInteger id;
-
- @JsonProperty
- @MapEntry
- private String title;
-
- @JsonProperty
- @MapEntry
- private String description;
-
- @JsonProperty
- @MapEntry("mimetype")
- private String mimeType;
-
- @JsonProperty
- @MapEntry("bytes")
- private long size;
-
- @JsonProperty
- @MapEntry
- private boolean approved;
-
- @JsonProperty
- @MapEntry
- private boolean disabled;
-
- @JsonProperty
- @MapEntry
- private OffsetDateTime created;
-
- @Override
- public BigInteger getId() {
- return id;
- }
-
- public void setId(BigInteger id) {
- this.id = id;
- }
-
- public String getMimeType() {
- return mimeType;
- }
-
- public void setMimeType(String mimeType) {
- this.mimeType = mimeType;
- }
-
- public long getSize() {
- return size;
- }
-
- public void setSize(long size) {
- this.size = size;
- }
-
- public boolean isApproved() {
- return approved;
- }
-
- public void setApproved(boolean approved) {
- this.approved = approved;
- }
-
- public boolean isDisabled() {
- return disabled;
- }
-
- public void setDisabled(boolean disabled) {
- this.disabled = disabled;
- }
-
- public OffsetDateTime getCreated() {
- return created;
- }
-
- public void setCreated(OffsetDateTime created) {
- this.created = created;
- }
-
- public Photo withId(BigInteger id) {
- this.id = id;
- return this;
- }
-
- public Photo withMimeType(String mimeType) {
- this.mimeType = mimeType;
- return this;
- }
-
- public Photo withSize(long size) {
- this.size = size;
- return this;
- }
-
- public Photo withApproved(boolean approved) {
- this.approved = approved;
- return this;
- }
-
- public Photo withDisabled(boolean disabled) {
- this.disabled = disabled;
- return this;
- }
-
- public Photo withCreated(OffsetDateTime created) {
- this.created = created;
- return this;
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/ReferenceableFacility.java b/src/main/java/com/poststats/rs/api/model/ReferenceableFacility.java
deleted file mode 100644
index 389c495..0000000
--- a/src/main/java/com/poststats/rs/api/model/ReferenceableFacility.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.poststats.rs.api.model;
-
-public interface ReferenceableFacility {
-
- int getId();
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/ReferenceablePerson.java b/src/main/java/com/poststats/rs/api/model/ReferenceablePerson.java
deleted file mode 100644
index b4c4b85..0000000
--- a/src/main/java/com/poststats/rs/api/model/ReferenceablePerson.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.poststats.rs.api.model;
-
-public interface ReferenceablePerson {
-
- long getId();
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/ReferenceablePhoto.java b/src/main/java/com/poststats/rs/api/model/ReferenceablePhoto.java
deleted file mode 100644
index fec40b4..0000000
--- a/src/main/java/com/poststats/rs/api/model/ReferenceablePhoto.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.math.BigInteger;
-
-public interface ReferenceablePhoto {
-
- BigInteger getId();
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/ReferencedFacility.java b/src/main/java/com/poststats/rs/api/model/ReferencedFacility.java
deleted file mode 100644
index 6a18fec..0000000
--- a/src/main/java/com/poststats/rs/api/model/ReferencedFacility.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.poststats.rs.api.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonProperty.Access;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class ReferencedFacility implements ReferenceableFacility {
-
- @JsonProperty(required = true, access = Access.READ_ONLY)
- @MapEntry("facilityID")
- private int id;
-
- @Override
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public ReferencedFacility withId(int id) {
- this.id = id;
- return this;
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/ReferencedPerson.java b/src/main/java/com/poststats/rs/api/model/ReferencedPerson.java
deleted file mode 100644
index bc562e0..0000000
--- a/src/main/java/com/poststats/rs/api/model/ReferencedPerson.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.poststats.rs.api.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonProperty.Access;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class ReferencedPerson implements ReferenceablePerson {
-
- @JsonProperty(required = true, access = Access.READ_ONLY)
- @MapEntry("personID")
- private long id;
-
- @Override
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public ReferencedPerson withId(long id) {
- this.id = id;
- return this;
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/ReferencedPhoto.java b/src/main/java/com/poststats/rs/api/model/ReferencedPhoto.java
deleted file mode 100644
index 2478725..0000000
--- a/src/main/java/com/poststats/rs/api/model/ReferencedPhoto.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.poststats.rs.api.model;
-
-import java.math.BigInteger;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonProperty.Access;
-import com.poststats.rs.api.annotation.MapEntry;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class ReferencedPhoto implements ReferenceablePhoto {
-
- @JsonProperty(required = true, access = Access.READ_ONLY)
- @MapEntry("photoID")
- private BigInteger id;
-
- @Override
- public BigInteger getId() {
- return id;
- }
-
- public void setId(BigInteger id) {
- this.id = id;
- }
-
- public ReferencedPhoto withId(BigInteger id) {
- this.id = id;
- return this;
- }
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/TransientFacility.java b/src/main/java/com/poststats/rs/api/model/TransientFacility.java
deleted file mode 100644
index 327e530..0000000
--- a/src/main/java/com/poststats/rs/api/model/TransientFacility.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.poststats.rs.api.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class TransientFacility extends BaseFacility {
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/TransientPerson.java b/src/main/java/com/poststats/rs/api/model/TransientPerson.java
deleted file mode 100644
index f03703c..0000000
--- a/src/main/java/com/poststats/rs/api/model/TransientPerson.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.poststats.rs.api.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class TransientPerson extends BasePerson {
-
-}
diff --git a/src/main/java/com/poststats/rs/api/model/TransientPhoto.java b/src/main/java/com/poststats/rs/api/model/TransientPhoto.java
deleted file mode 100644
index 9b588b1..0000000
--- a/src/main/java/com/poststats/rs/api/model/TransientPhoto.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.poststats.rs.api.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-/**
- * @author brian.long@poststats.com
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class TransientPhoto extends BasePhoto {
-
-}