├── .env.example ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── README.md ├── handler.ts ├── package.json ├── resources ├── dynamodb-tables.ts └── functions.ts ├── serverless.ts ├── src ├── actions │ ├── auth │ │ ├── basic-auth.action.ts │ │ └── jwt-auth.action.ts │ ├── list │ │ ├── create-list.action.ts │ │ ├── delete-list.action.ts │ │ ├── get-list.action.ts │ │ └── update-list.action.ts │ └── task │ │ ├── create-task.action.ts │ │ ├── delete-task.action.ts │ │ ├── get-task.action.ts │ │ └── update-task.action.ts ├── constraints │ ├── list │ │ ├── create.constraint.json │ │ ├── id.constraint.json │ │ └── update.constraint.json │ └── task │ │ ├── create.constraint.json │ │ ├── get.constraint.json │ │ └── update.constraint.json ├── enums │ ├── response-message.enum.ts │ ├── status-code.enum.ts │ └── status.enum.ts ├── interfaces │ ├── config.interface.ts │ ├── generic.interface.ts │ ├── response.interface.ts │ └── table.interface.ts ├── models │ ├── list.model.ts │ ├── response.model.ts │ └── task.model.ts ├── services │ ├── auth.service.ts │ ├── aws-policy-generator.service.ts │ └── database.service.ts └── utils │ └── util.ts ├── tests ├── feature │ ├── list │ │ ├── create-list │ │ │ ├── invalid.test.ts │ │ │ ├── unauthorized.test.ts │ │ │ └── valid.test.ts │ │ ├── delete-list │ │ │ ├── invalid.test.ts │ │ │ └── valid.test.ts │ │ ├── get-list │ │ │ ├── invalid.test.ts │ │ │ └── valid.test.ts │ │ └── update-list │ │ │ ├── invalid.test.ts │ │ │ └── valid.test.ts │ └── task │ │ ├── create-task │ │ ├── invalid.test.ts │ │ └── valid.test.ts │ │ ├── delete-task │ │ ├── invalid.test.ts │ │ └── valid.test.ts │ │ ├── get-task │ │ ├── invalid.test.ts │ │ └── valid.test.ts │ │ └── update-task │ │ ├── invalid.test.ts │ │ └── valid.test.ts ├── lib │ ├── actions │ │ └── handler.ts │ └── helper.ts ├── mocks │ ├── empty.mock.json │ ├── list.mock.json │ ├── response.mock.json │ └── task.mock.json └── unit │ ├── model │ ├── list.model.test.ts │ ├── response.model.test.ts │ └── task.model.test.ts │ └── util │ └── util.test.ts ├── tsconfig.json └── yarn.lock /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/README.md -------------------------------------------------------------------------------- /handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/handler.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/package.json -------------------------------------------------------------------------------- /resources/dynamodb-tables.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/resources/dynamodb-tables.ts -------------------------------------------------------------------------------- /resources/functions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/resources/functions.ts -------------------------------------------------------------------------------- /serverless.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/serverless.ts -------------------------------------------------------------------------------- /src/actions/auth/basic-auth.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/auth/basic-auth.action.ts -------------------------------------------------------------------------------- /src/actions/auth/jwt-auth.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/auth/jwt-auth.action.ts -------------------------------------------------------------------------------- /src/actions/list/create-list.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/list/create-list.action.ts -------------------------------------------------------------------------------- /src/actions/list/delete-list.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/list/delete-list.action.ts -------------------------------------------------------------------------------- /src/actions/list/get-list.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/list/get-list.action.ts -------------------------------------------------------------------------------- /src/actions/list/update-list.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/list/update-list.action.ts -------------------------------------------------------------------------------- /src/actions/task/create-task.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/task/create-task.action.ts -------------------------------------------------------------------------------- /src/actions/task/delete-task.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/task/delete-task.action.ts -------------------------------------------------------------------------------- /src/actions/task/get-task.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/task/get-task.action.ts -------------------------------------------------------------------------------- /src/actions/task/update-task.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/actions/task/update-task.action.ts -------------------------------------------------------------------------------- /src/constraints/list/create.constraint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/constraints/list/create.constraint.json -------------------------------------------------------------------------------- /src/constraints/list/id.constraint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/constraints/list/id.constraint.json -------------------------------------------------------------------------------- /src/constraints/list/update.constraint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/constraints/list/update.constraint.json -------------------------------------------------------------------------------- /src/constraints/task/create.constraint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/constraints/task/create.constraint.json -------------------------------------------------------------------------------- /src/constraints/task/get.constraint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/constraints/task/get.constraint.json -------------------------------------------------------------------------------- /src/constraints/task/update.constraint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/constraints/task/update.constraint.json -------------------------------------------------------------------------------- /src/enums/response-message.enum.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/enums/response-message.enum.ts -------------------------------------------------------------------------------- /src/enums/status-code.enum.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/enums/status-code.enum.ts -------------------------------------------------------------------------------- /src/enums/status.enum.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/enums/status.enum.ts -------------------------------------------------------------------------------- /src/interfaces/config.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/interfaces/config.interface.ts -------------------------------------------------------------------------------- /src/interfaces/generic.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/interfaces/generic.interface.ts -------------------------------------------------------------------------------- /src/interfaces/response.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/interfaces/response.interface.ts -------------------------------------------------------------------------------- /src/interfaces/table.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/interfaces/table.interface.ts -------------------------------------------------------------------------------- /src/models/list.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/models/list.model.ts -------------------------------------------------------------------------------- /src/models/response.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/models/response.model.ts -------------------------------------------------------------------------------- /src/models/task.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/models/task.model.ts -------------------------------------------------------------------------------- /src/services/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/services/auth.service.ts -------------------------------------------------------------------------------- /src/services/aws-policy-generator.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/services/aws-policy-generator.service.ts -------------------------------------------------------------------------------- /src/services/database.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/services/database.service.ts -------------------------------------------------------------------------------- /src/utils/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/src/utils/util.ts -------------------------------------------------------------------------------- /tests/feature/list/create-list/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/create-list/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/create-list/unauthorized.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/create-list/unauthorized.test.ts -------------------------------------------------------------------------------- /tests/feature/list/create-list/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/create-list/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/delete-list/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/delete-list/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/delete-list/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/delete-list/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/get-list/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/get-list/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/get-list/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/get-list/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/update-list/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/update-list/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/list/update-list/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/list/update-list/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/create-task/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/create-task/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/create-task/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/create-task/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/delete-task/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/delete-task/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/delete-task/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/delete-task/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/get-task/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/get-task/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/get-task/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/get-task/valid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/update-task/invalid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/update-task/invalid.test.ts -------------------------------------------------------------------------------- /tests/feature/task/update-task/valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/feature/task/update-task/valid.test.ts -------------------------------------------------------------------------------- /tests/lib/actions/handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/lib/actions/handler.ts -------------------------------------------------------------------------------- /tests/lib/helper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/lib/helper.ts -------------------------------------------------------------------------------- /tests/mocks/empty.mock.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /tests/mocks/list.mock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/mocks/list.mock.json -------------------------------------------------------------------------------- /tests/mocks/response.mock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/mocks/response.mock.json -------------------------------------------------------------------------------- /tests/mocks/task.mock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/mocks/task.mock.json -------------------------------------------------------------------------------- /tests/unit/model/list.model.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/unit/model/list.model.test.ts -------------------------------------------------------------------------------- /tests/unit/model/response.model.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/unit/model/response.model.test.ts -------------------------------------------------------------------------------- /tests/unit/model/task.model.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/unit/model/task.model.test.ts -------------------------------------------------------------------------------- /tests/unit/util/util.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tests/unit/util/util.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-barrah/serverless-todo/HEAD/yarn.lock --------------------------------------------------------------------------------