Skip to content

Commit

Permalink
feat: added yellow notice related functions
Browse files Browse the repository at this point in the history
  • Loading branch information
jakubrekowski committed Oct 20, 2024
1 parent 608c9a5 commit 9d30c25
Show file tree
Hide file tree
Showing 6 changed files with 437 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,15 @@ You can track the progress of these planned features in the project's issue trac
## Installation

```bash
npm install @jakubrekowski/interpol.ts
npm install interpol.ts
# or
yarn add @jakubrekowski/interpol.ts
yarn add interpol.ts
```

## Usage

```typescript
import { InterpolService } from "@jakubrekowski/interpol.ts";
import { InterpolService } from "interpol.ts";

async function getRedNotices() {
try {
Expand Down
53 changes: 53 additions & 0 deletions src/models/YellowNoticeDetailImages.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/**
* Represents the Yellow Notice Detail Images.
*/
export type YellowNoticeDetailImagesEntitiy = {
/**
* Contains embedded images.
*/
_embedded: {
/**
* Array of image objects.
*/
images: {
/**
* The ID of the picture.
*/
picture_id: string;
/**
* Links related to the image.
*/
_links: {
/**
* Link to the image itself.
*/
self: {
href: string;
};
};
}[];
};
/**
* Links related to the yellow notice.
*/
_links: {
/**
* Link to the yellow notice detail images.
*/
self: {
href: string;
};
/**
* Link to the notice.
*/
notice: {
href: string;
};
/**
* Link to the thumbnail image.
*/
thumbnail: {
href: string;
};
};
};
118 changes: 118 additions & 0 deletions src/models/YellowNoticeDetails.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
/**
* Represents the details of a Yellow Notice entity.
*/
export type YellowNoticeDetailsEntitiy = {
/**
* The country associated with the entity. Two digit country code.
*/
country: string;
/**
* The date of birth of the entity.
*/
date_of_birth?: string;
/**
* The name of the entity's mother.
*/
mother_name?: string;
/**
* List of countries likely to be visited by the entity. Two digit country code.
*/
countries_likely_to_be_visited: string[];
/**
* The forename of the entity's mother.
*/
mother_forename?: string;
/**
* The nationalities of the entity. Two digit country code.
*/
nationalities: string[];
/**
* The ID representing the eye color of the entity.
*/
eye_colors_id?: string;
/**
* The sex of the entity.
*/
sex_id?: "F" | "M" | "U";
/**
* The ID representing the hair type of the entity.
*/
hairs_id?: string;
/**
* The place associated with the entity.
*/
place: string;
/**
* List of IDs representing languages spoken by the entity. Three digit language code.
*/
language_spoken_ids: string[];
/**
* The date of the event related to the entity.
*/
date_of_event?: string;
/**
* The height of the entity.
*/
height?: number;
/**
* The forename of the entity's father.
*/
father_forename?: string;
/**
* Distinguishing marks of the entity.
*/
distinguishing_marks?: string;
/**
* The birth name of the entity.
*/
birth_name?: string;
/**
* The weight of the entity.
*/
weight?: number;
/**
* The unique identifier for the entity.
*/
entity_id: string;
/**
* The place of birth of the entity.
*/
place_of_birth?: string;
/**
* The name of the entity's father.
*/
father_name?: string;
/**
* The name of the entity.
*/
name: string;
_embedded: {
/**
* Array of link URLs.
*/
links: string[];
};
/**
* Hyperlinks related to the entity.
*/
_links: {
/**
* The self-reference hyperlink.
*/
self: {
href: string;
};
/**
* Link to images associated with the entity.
*/
images: {
href: string;
};
/**
* Link to the thumbnail image associated with the entity.
*/
thumbnail: {
href: string;
};
};
};
171 changes: 171 additions & 0 deletions src/models/YellowNotices.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
/**
* Represents a query for Yellow Notices.
*/
export interface YellowNoticesQuery {
/**
* The first name of the individual.
*/
forename?: string;
/**
* The last name of the individual.
*/
name?: string;
/**
* The nationality of the individual. Two digit country code.
*/
nationality?: string;
/**
* The maximum age of the individual.
*/
ageMax?: number;
/**
* The minimum age of the individual.
*/
ageMin?: number;
/**
* Free text for the query.
*/
freeText?: string;
/**
* The sex ID of the individual.
*/
sexId?: "F" | "M" | "U";
/**
* The country ID of the arrest warrant. Two digit country code.
*/
arrestWarrantCountryId?: string;
/**
* The page number for pagination.
*/
page?: number;
/**
* The number of results per page.
*/
resultPerPage?: number;
}

/**
* Represents a collection of Yellow Notices.
*/
export type YellowNoticesEntitiy = {
/**
* The total number of Yellow Notices.
*/
total: number;
/**
* The query used to retrieve the Yellow Notices.
*/
query: YellowNoticesQuery;
/**
* The embedded Yellow Notices.
*/
_embedded: {
/**
* An array of Yellow Notices.
*/
notices: {
/**
* The date of birth of the subject of the Red Notice. YYYY/MM/DD.
*/
date_of_birth: string;
/**
* The nationalities of the subject of the Red Notice. Two digit country code.
*/
nationalities: string[];
/**
* The unique identifier for the entity.
*/
entity_id: string;
/**
* The first name of the subject of the Red Notice.
*/
forename: string;
/**
* The last name of the subject of the Red Notice.
*/
name: string;
/**
* Links to related resources.
*/
_links: {
/**
* Link to the Red Notice itself.
*/
self: {
/**
* The URL of the Red Notice.
*/
href: string;
};
/**
* Link to images of the subject of the Red Notice.
*/
images: {
/**
* The URL of the images.
*/
href: string;
};
/**
* Link to a thumbnail image of the subject of the Red Notice.
*/
thumbnail: {
/**
* The URL of the thumbnail image.
*/
href: string;
};
};
}[];
};
/**
* Links to related resources.
*/
_links: {
/**
* Link to the current page of Yellow Notices.
*/
self: {
/**
* The URL of the current page.
*/
href: string;
};
/**
* Link to the first page of Yellow Notices.
*/
first: {
/**
* The URL of the first page.
*/
href: string;
};
/**
* Link to the previous page of Yellow Notices.
*/
previous?: {
/**
* The URL of the previous page.
*/
href: string;
};
/**
* Link to the next page of Yellow Notices.
*/
next?: {
/**
* The URL of the next page.
*/
href: string;
};
/**
* Link to the last page of Yellow Notices.
*/
last: {
/**
* The URL of the last page.
*/
href: string;
};
};
};
Loading

0 comments on commit 9d30c25

Please sign in to comment.