@usecomplete/api
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-alpha.3 • Public • Published

api.usecheck.com

Please Note: The current code is written quick and dirty. Final implementation with tests and better structure will be a future iteration.

Status

Code

  • [x] Q&D implementation
  • [ ] Final implementation
  • [x] Authentication
  • [ ] Authorization
  • [ ] Error handling
  • [ ] Validation
  • [ ] Test cases
  • [ ] Rate Limiting
  • [ ] Query size Limit
  • [ ] CI
  • [ ] CD

Database

  • [x] Caching Layer: Redis
  • [ ] Persistence Layer: Postgres

Types

  • [x] DateTime
  • [x] Void
  • [x] Direction

User

  • [x] id
  • [x] updatedAt
  • [x] updatedBy
  • [x] createdAt
  • [x] createdBy
  • [x] deletedAt
  • [x] deletedBy
  • [x] archivedAt
  • [x] archivedBy
  • [x] avatarUrl
  • [x] name
  • [x] email

Tag

  • [x] id
  • [x] updatedAt
  • [x] updatedBy
  • [x] createdAt
  • [x] createdBy
  • [x] deletedAt
  • [x] deletedBy
  • [x] color
  • [x] title

Comment

  • [x] id
  • [x] updatedAt
  • [x] updatedBy
  • [x] createdAt
  • [x] createdBy
  • [x] deletedAt
  • [x] deletedBy
  • [x] message
  • [x] task

Task

  • [x] id
  • [x] updatedAt
  • [x] updatedBy
  • [x] createdAt
  • [x] createdBy
  • [x] deletedAt
  • [x] deletedBy
  • [x] archivedAt
  • [x] archivedBy
  • [x] tags
    • [x] items
    • [x] count
  • [x] isComplete
  • [x] isStarred
  • [x] title
  • [x] description
  • [x] dueAt
  • [x] assignedUser
  • [x] subtasks
    • [x] tasksOpen
      • [x] items
      • [x] count
    • [x] tasksComplete
      • [x] items
      • [x] count
    • [x] tasksCount
  • [x] project
  • [x] parentTask
  • [x] comments
    • [x] items
    • [x] count

Project

  • [x] id
  • [x] updatedAt
  • [x] updatedBy
  • [x] createdAt
  • [x] createdBy
  • [x] deletedAt
  • [x] deletedBy
  • [x] archivedAt
  • [x] archivedBy
  • [x] tags
    • [x] items
    • [x] count
  • [x] title
  • [x] tasksOpen
    • [x] items
    • [x] count
  • [x] tasksComplete
    • [x] items
    • [x] count
  • [x] folder

Folder

  • [x] id
  • [x] updatedAt
  • [x] updatedBy
  • [x] createdAt
  • [x] createdBy
  • [x] deletedAt
  • [x] deletedBy
  • [x] archivedAt
  • [x] archivedBy
  • [x] tags
    • [x] items
    • [x] count
  • [x] title
  • [x] projects
    • [x] items
    • [x] count

Trash

  • [x] tasks
    • [x] items
    • [x] count
  • [x] projects
    • [x] items
    • [x] count
  • [x] folders
    • [x] items
    • [x] count

Queries

  • [x] whoami
  • [x] user
  • [x] task
  • [x] tag
  • [x] tags
    • [x] items
    • [x] count
  • [x] project
  • [x] projects
    • [x] items
    • [x] count
  • [x] folder
  • [x] folders
    • [x] items
    • [x] count
  • [x] inbox
    • [x] tasksOpen
      • [x] items
      • [x] count
    • [x] tasksComplete
      • [x] items
      • [x] count
    • [x] tasksCount
  • [x] starred
    • [x] tasksOpen
      • [x] items
      • [x] count
    • [x] tasksComplete
      • [x] items
      • [x] count
    • [x] tasksCount
  • [ ] today
    • [ ] tasksOpen
      • [ ] items
      • [ ] count
    • [ ] tasksComplete
      • [ ] items
      • [ ] count
    • [ ] tasksCount
  • [ ] tomorrow
    • [ ] tasksOpen
      • [ ] items
      • [ ] count
    • [ ] tasksComplete
      • [ ] items
      • [ ] count
    • [ ] tasksCount
  • [x] trash
  • [ ] all
    • [ ] tasksOpen
      • [ ] items
      • [ ] count
    • [ ] tasksComplete
      • [ ] items
      • [ ] count
    • [ ] tasksCount

Mutations

Auth

  • [x] sendMagicLink
  • [x] authenticate

User

  • [x] updateUser
  • [x] archiveUser
  • [x] restoreUser
  • [x] deleteUser

Tag

  • [x] createUser
  • [x] updateUser
  • [x] deleteUser

Task

  • [x] createTask
  • [x] updateTask
  • [x] archiveTask
  • [x] restoreTask
  • [x] deleteTask
  • [x] assignTask
  • [x] completeTask
  • [x] uncompleteTask
  • [x] starTask
  • [x] unstarTask
  • [x] addTagToTask
  • [x] removeTagFromTask
  • [x] addSubtaskToTask
  • [x] removeSubtaskFromTask
  • [x] moveSubtask
  • [x] moveInboxTask
  • [x] moveStarredTask

Comment

  • [x] createComment
  • [x] updateComment
  • [x] archiveComment
  • [x] restoreComment
  • [x] deleteComment

Project

  • [x] createProject
  • [x] updateProject
  • [x] archiveProject
  • [x] restoreProject
  • [x] deleteProject
  • [x] addTagToProject
  • [x] removeTagFromProject
  • [x] moveProjectToFolder
  • [x] moveProjectTask
  • [x] moveProject

Folder

  • [x] createFolder
  • [x] updateFolder
  • [x] archiveFolder
  • [x] restoreFolder
  • [x] deleteFolder
  • [x] addTagToFolder
  • [x] removeTagFromFolder
  • [x] moveFolder

Getting started

First clone the repository and install dependencies.

$ git clone https://github.com/usecheck/api.usecheck
$ npm ci
$ npm run start

Install and start redis server

Start local server

$ npm run dev

Generating types

The next step is updating the generated types like following:

$ npm run generate:types

Model

A model represents a type and handles the async loading of its properites

Repositories

A repository handles the read and write logic for queries and mutations

Readme

Keywords

none

Package Sidebar

Install

npm i @usecomplete/api

Weekly Downloads

1

Version

1.0.0-alpha.3

License

none

Unpacked Size

51.5 kB

Total Files

4

Last publish

Collaborators

  • tamino-martinius