Commit 206e48c1 authored by Brian Long's avatar Brian Long
Browse files

initial checkin

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+12 −0
Original line number Diff line number Diff line
# Maven
pom.xml.versionsBackup
target

# Eclipse
.project
.classpath
.settings

# Visual Studio Code
.factorypath
+64 −0
Original line number Diff line number Diff line
<project xmlns="http://maven.apache.org/POM/4.0.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.inteligr8.polygon</groupId>
	<artifactId>polygon-public-rest-api</artifactId>
	<version>1.0-SNAPSHOT</version>
	<name>Polygon.IO ReST API for Java</name>

	<properties>
		<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
		<maven.compiler.source>8</maven.compiler.source>
		<maven.compiler.target>8</maven.compiler.target>
	</properties>

	<dependencies>
		<dependency>
			<groupId>jakarta.ws.rs</groupId>
			<artifactId>jakarta.ws.rs-api</artifactId>
			<version>2.1.6</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.module</groupId>
			<artifactId>jackson-module-jaxb-annotations</artifactId>
			<version>2.12.2</version>
		</dependency>
	</dependencies>
	
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>javadoc</id>
						<phase>package</phase>
						<goals><goal>jar</goal></goals>
						<configuration>
							<show>public</show>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	
	<repositories>
		<repository>
			<id>inteligr8-public</id>
			<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
		</repository>
	</repositories>
	
	<distributionManagement>
		<repository>
			<id>inteligr8-releases</id>
			<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
		</repository>
		<snapshotRepository>
			<id>inteligr8-snapshots</id>
			<url>https://repos.inteligr8.com/nexus/repository/inteligr8-snapshots</url>
		</snapshotRepository>
	</distributionManagement>
</project>
+15 −0
Original line number Diff line number Diff line
package com.inteligr8.polygon;

import com.inteligr8.polygon.api.StocksApiV1;

/**
 * This interface consolidates the JAX-RS APIs available in the Polygon.IO
 * Public ReST API.
 * 
 * @author brian@inteligr8.com
 */
public interface PolygonPublicRestApi {
	
	StocksApiV1 getStocksApi();

}
+33 −0
Original line number Diff line number Diff line
package com.inteligr8.polygon.api;

import java.time.LocalDate;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.inteligr8.polygon.model.StockDateSummary;

@Path("/v1")
public interface StocksApiV1 {

    @GET
    @Path("/open-close/{stocksTicker}/{date}")
    @Produces({ MediaType.APPLICATION_JSON })
    public StockDateSummary getStockSummaryOnDate(
    		@PathParam("stocksTicker") String stockTicker,
    		@PathParam("date") @JsonFormat(pattern = "yyyy-MM-dd") LocalDate date);

    @GET
    @Path("/open-close/{stocksTicker}/{date}")
    @Produces({ MediaType.APPLICATION_JSON })
    public StockDateSummary getStockSummaryOnDate(
    		@PathParam("stocksTicker") String stockTicker,
    		@PathParam("date") @JsonFormat(pattern = "yyyy-MM-dd") LocalDate date,
    		@QueryParam("adjusted") boolean adjusted);

}
+25 −0
Original line number Diff line number Diff line
package com.inteligr8.polygon.model;

import com.fasterxml.jackson.annotation.JsonProperty;

public class BaseResponse {
	
	public enum Status {
		@JsonProperty("OK")
		Ok
	}
	
	@JsonProperty
	private Status status;
	
	
	
	public Status getStatus() {
		return this.status;
	}
	
	public void setStatus(Status status) {
		this.status = status;
	}

}
Loading