Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit a66c878

Browse files
committed
fix: types, definitions and tests
1 parent 53d8d88 commit a66c878

File tree

11 files changed

+57
-84
lines changed

11 files changed

+57
-84
lines changed

src/__tests__/labels.tests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const myClient = TDSClient(process.env.TODOIST_TOKEN);
55

66
describe("Client-Side Label Creation", () => {
77
test("Create Empty Label", () => {
8-
const emptyLabel = Label({});
8+
const emptyLabel = Label();
99
expect(emptyLabel).toMatchObject<CreatableLabel>({
1010
name: "_No_Label_Name_Provided_",
1111
});

src/__tests__/projects.tests.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import TDSClient, { Project } from "..";
2-
import { ClientCreatedProject } from "../definitions";
2+
import { CreatableProject } from "../definitions";
33

44
const myClient = TDSClient(process.env.TODOIST_TOKEN);
55

@@ -11,13 +11,13 @@ let generalExpectedProjectID: number;
1111
describe("Client-Side Project Creation", () => {
1212
test("Create Empty Project", () => {
1313
const emptyProject = Project();
14-
expect(emptyProject).toMatchObject<ClientCreatedProject>({
14+
expect(emptyProject).toMatchObject<CreatableProject>({
1515
name: "_No_Project_Name_Provided_",
1616
});
1717
});
1818

1919
test("Create Normal Project", () => {
20-
expect(generalExpectedProject).toMatchObject<ClientCreatedProject>({
20+
expect(generalExpectedProject).toMatchObject<CreatableProject>({
2121
name: "P1",
2222
});
2323
});

src/__tests__/task.tests.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import TDSClient, { Task } from "..";
2-
import { APITaskObject, ClientCreatedTask } from "../definitions";
2+
import { APITaskObject, CreatableTask } from "../definitions";
33
import moment from "moment";
44

55
const myClient = TDSClient(process.env.TODOIST_TOKEN);
@@ -18,13 +18,13 @@ let generalExpectedTaskID: number;
1818
describe("Client-Side Task Creation", () => {
1919
test("Create Empty Task", () => {
2020
const emptyTask = Task();
21-
expect(emptyTask).toMatchObject<ClientCreatedTask>({
21+
expect(emptyTask).toMatchObject<CreatableTask>({
2222
content: "_No_Task_Name_Provided_",
2323
});
2424
});
2525

2626
test("Create Normal Task", () => {
27-
expect(generalExpectedTask).toMatchObject<ClientCreatedTask>({
27+
expect(generalExpectedTask).toMatchObject<CreatableTask>({
2828
content: "Hello world",
2929
});
3030
});

src/definitions/Projects.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { AxiosResponse } from "axios";
22

33
export interface ProjectModule {
4-
create: (
5-
project?: UserCreatedProject | ClientCreatedProject
6-
) => Promise<APIProjectObject>;
4+
create: (project: CreatableProject) => Promise<APIProjectObject>;
75
getAll: () => Promise<string[]>;
86
getAllJSON: () => Promise<APIProjectObject[]>;
97
get: (id: string | number) => Promise<APIProjectObject>;
@@ -24,7 +22,7 @@ export interface UserCreatedProject {
2422
favorite?: boolean;
2523
}
2624

27-
export interface ClientCreatedProject extends UserCreatedProject {
25+
export interface CreatableProject extends UserCreatedProject {
2826
name: string;
2927
}
3028

src/definitions/Sections.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { AxiosResponse } from "axios";
22

33
export interface SectionModule {
4-
create: (section?: CreatableSection) => Promise<APISectionObject>;
4+
create: (section: CreatableSection) => Promise<APISectionObject>;
55
get: (id: string | number) => Promise<APISectionObject>;
66
getAllJSON: (project_id?: number) => Promise<APISectionObject[]>;
77
getAll: (project_id?: number) => Promise<string[]>;

src/definitions/Tasks.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { AxiosResponse } from "axios";
22

33
export interface TaskModule {
4-
create: (
5-
task?: UserCreatedTask | ClientCreatedTask
6-
) => Promise<APITaskObject>;
4+
create: (task: CreatableTask) => Promise<APITaskObject>;
75
closeTask: (id: number | string) => Promise<AxiosResponse>;
86
getAll: () => Promise<string[]>;
97
getAllJSON: (params?: TaskSearchableParams) => Promise<APITaskObject[]>;
@@ -37,7 +35,7 @@ export interface UserCreatedTask {
3735
assignee?: number;
3836
}
3937

40-
export interface ClientCreatedTask extends UserCreatedTask {
38+
export interface CreatableTask extends UserCreatedTask {
4139
content: string;
4240
}
4341

src/resources/Label.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { CreatableLabel, UserCreatedLabel } from "../definitions";
22

3-
const Label = (label: UserCreatedLabel): CreatableLabel => {
3+
const Label = (label: UserCreatedLabel = {}): CreatableLabel => {
44
const { name = "_No_Label_Name_Provided_", ...restOfProperties } = label;
55

66
return {

src/resources/Project.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { ClientCreatedProject, UserCreatedProject } from "../definitions";
1+
import { CreatableProject, UserCreatedProject } from "../definitions";
22

3-
const Project = (project: UserCreatedProject = {}): ClientCreatedProject => {
3+
const Project = (project: UserCreatedProject = {}): CreatableProject => {
44
const { name = "_No_Project_Name_Provided_", ...restOfProperties } = project;
55

66
return {

src/resources/Task.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { ClientCreatedTask, UserCreatedTask } from "../definitions";
1+
import { CreatableTask, UserCreatedTask } from "../definitions";
22

3-
const Task = (task: UserCreatedTask = {}): ClientCreatedTask => {
3+
const Task = (task: UserCreatedTask = {}): CreatableTask => {
44
const { content = "_No_Task_Name_Provided_", ...restOfProperties } = task;
55

66
return {

src/submodules/project.ts

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,31 @@
1-
import Project from "../resources/Project";
21
import axios from "axios";
32
import { AuthHeader, ProjectCollaborator } from "../definitions";
4-
import {
5-
APIProjectObject,
6-
ProjectModule,
7-
UserCreatedProject,
8-
} from "../definitions";
3+
import { APIProjectObject, ProjectModule } from "../definitions";
94

105
const projectClientModule = (headers: AuthHeader): ProjectModule => {
116
async function getOneJSON(id: number | string, headers: AuthHeader) {
12-
return await axios
13-
.get(`https://api.todoist.com/rest/v1/projects/${id}`, {
14-
headers,
15-
})
16-
.then((res) => res.data as APIProjectObject);
7+
let { data } = await axios.get(
8+
`https://api.todoist.com/rest/v1/projects/${id}`,
9+
{ headers }
10+
);
11+
return data as APIProjectObject;
1712
}
1813

1914
async function getAllJSON(headers: AuthHeader) {
20-
return await axios
21-
.get(`https://api.todoist.com/rest/v1/projects`, {
22-
headers,
23-
})
24-
.then((res) => res.data as APIProjectObject[]);
15+
let { data } = await axios.get(`https://api.todoist.com/rest/v1/projects`, {
16+
headers,
17+
});
18+
return data as APIProjectObject[];
2519
}
2620

2721
return {
2822
create: async (project) => {
29-
if (!(<UserCreatedProject>project?.name)) project = Project(project);
30-
31-
return await axios
32-
.post(`https://api.todoist.com/rest/v1/projects`, project, {
33-
headers,
34-
})
35-
.then((res) => res.data as APIProjectObject);
23+
let { data } = await axios.post(
24+
`https://api.todoist.com/rest/v1/projects`,
25+
project,
26+
{ headers }
27+
);
28+
return data as APIProjectObject;
3629
},
3730

3831
getAll: async () => {
@@ -54,29 +47,23 @@ const projectClientModule = (headers: AuthHeader): ProjectModule => {
5447
getCollaborators: async (id) => {
5548
const { data } = await axios.get(
5649
`https://api.todoist.com/rest/v1/projects/${id}/collaborators`,
57-
{
58-
headers,
59-
}
50+
{ headers }
6051
);
6152
return data as ProjectCollaborator[];
6253
},
6354

6455
delete: async (id) => {
6556
return await axios.delete(
6657
`https://api.todoist.com/rest/v1/projects/${id}`,
67-
{
68-
headers,
69-
}
58+
{ headers }
7059
);
7160
},
7261

7362
update: async (id, project) => {
7463
return await axios.post(
7564
`https://api.todoist.com/rest/v1/projects/${id}`,
7665
project,
77-
{
78-
headers,
79-
}
66+
{ headers }
8067
);
8168
},
8269
};

0 commit comments

Comments
 (0)