Skip to content

Commit

Permalink
Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
TresorRw committed Jun 5, 2024
1 parent 2bfa091 commit 9182f64
Show file tree
Hide file tree
Showing 23 changed files with 447 additions and 86 deletions.
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
. "$(dirname -- "$0")/_/husky.sh"

npm run lint:fix
# npm run test
npm run test
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"lint:fix": "eslint . --fix",
"build": "babel src --out-dir dist --source-maps inline --copy-files",
"start": "babel-node dist/app.js",
"test": "cross-env NODE_ENV=test npm run db:migrate && npm run db:reset && cross-env NODE_ENV=test PORT=4300 mocha --require @babel/register --exit 'src/tests/**/*.test.js'",
"test": "cross-env NODE_ENV=test npm run db:migrate && cross-env NODE_ENV=test npm run db:reset && cross-env NODE_ENV=test PORT=4300 mocha --require @babel/register --exit 'src/tests/**/*.test.js'",
"test:coverage": " nyc mocha --coverage --recursive --require @babel/polyfill --require @babel/register */tests/*.js --timeout 500000000 --exit",
"coverage": "nyc report --reporter=text-lcov | coveralls",
"db:migrate": "sequelize db:migrate",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,6 @@ module.exports = {
key: "id",
},
},
isReviewd: {
type: Sequelize.BOOLEAN,
defaultValue: false,
},
type: {
type: Sequelize.STRING,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@ module.exports = {
key: "id",
},
},
overallReviewId: {
type: Sequelize.UUID,
references: {
model: "tbl_overall_reviews",
key: "id",
},
},
ratings: {
type: Sequelize.INTEGER,
allowNull: false,
Expand Down
7 changes: 7 additions & 0 deletions src/database/models/fieldReview.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ const FieldReviewModel = () => {
key: "id",
},
},
overallReviewId: {
type: DataTypes.UUID,
references: {
model: "tbl_overall_reviews",
key: "id",
},
},
ratings: {
type: DataTypes.INTEGER,
allowNull: false,
Expand Down
4 changes: 0 additions & 4 deletions src/database/models/overallReview.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@ const OverallReviewModel = () => {
key: "id",
},
},
isReviewd: {
type: DataTypes.BOOLEAN,
defaultValue: false,
},
type: {
type: DataTypes.STRING,
},
Expand Down
4 changes: 4 additions & 0 deletions src/database/relationships/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,16 @@ export const associate = () => {

DB.RatingCategory.hasMany(DB.RatingField, {
foreignKey: "categoryId",
as: "ratingFields",
});

DB.RatingField.belongsTo(DB.RatingCategory, {
foreignKey: "categoryId",
as: "ratingCategory",
});

DB.OverallReview.hasMany(DB.FieldReview, {
as: "fieldReviews",
foreignKey: "overallReviewId",
});

Expand All @@ -98,6 +101,7 @@ export const associate = () => {

DB.FieldReview.belongsTo(DB.RatingField, {
foreignKey: "ratingFieldId",
as: "ratingField",
onDelete: "CASCADE",
});
};
4 changes: 4 additions & 0 deletions src/documentation/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import reviews from "./review";
import reviewCycles from "./reviewCycle";
import search from "./search";
import dashboard from "./auth/dashboard";
import ratingCategories from "./ratingCategory";
import ratingFields from "./ratingField";

const defaults = swaggerDoc.paths;

Expand All @@ -26,6 +28,8 @@ const paths = {
...reviewCycles,
...reviews,
...search,
...ratingCategories,
...ratingFields,
};

const config = {
Expand Down
106 changes: 106 additions & 0 deletions src/documentation/ratingCategory/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
import responses from "../responses";

const ratingCategories = {
"/ratingCategories": {
get: {
tags: ["RatingCategories"],
summary: "Get all rating categories",
description:
"Get all categories. Only admin users can get a list of all categories.",
security: [{ JWT: [] }],
parameters: [],
consumes: ["application/json"],
responses,
},
post: {
tags: ["RatingCategories"],
summary: "Create a new rating category",
description:
"Create a new project. Only admin users can create categories.",
security: [{ JWT: [] }],
parameters: [
{
in: "body",
name: "body",
required: true,
schema: {
example: {
name: "Rating category name",
},
},
},
],
consumes: ["application/json"],
responses,
},
},

"/ratingCategories/{id}": {
get: {
tags: ["RatingCategories"],
summary: "Get a rating category",
description: "Get one rating category with its rating fields.",
security: [{ JWT: [] }],
parameters: [
{
in: "path",
name: "id",
required: true,
schema: {
example: "5e5bb69e-26fe-4e61-b4f3-e9a9332066da",
},
},
],
consumes: ["application/json"],
responses,
},
patch: {
tags: ["RatingCategories"],
summary: "Change category name",
description: "Change rating category name",
security: [{ JWT: [] }],
parameters: [
{
in: "path",
name: "id",
required: true,
schema: {
example: "566febd2-d3f3-4ae3-ac76-a5ef5426366d",
},
},
{
in: "body",
name: "body",
required: true,
schema: {
example: {
name: "New Name",
},
},
},
],
consumes: ["application/json"],
responses,
},
delete: {
tags: ["RatingCategories"],
summary: "Delete a rating category",
description: "Delete a rating category. it will delete its rating fields",
security: [{ JWT: [] }],
parameters: [
{
in: "path",
name: "id",
required: true,
schema: {
example: "8a2a4287-fd47-45f9-a1a0-42e24aeeeddz",
},
},
],
consumes: ["application/json"],
responses,
},
},
};

export default ratingCategories;
79 changes: 79 additions & 0 deletions src/documentation/ratingField/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import responses from "../responses";

const ratingFields = {
"/ratingFields": {
get: {
tags: ["RatingFields"],
summary: "Get all rating fields",
description:
"Get all projects. Only admin users can get a list of all projects.",
security: [{ JWT: [] }],
parameters: [],
consumes: ["application/json"],
responses,
},
post: {
tags: ["RatingFields"],
summary: "Create a new rating field",
description:
"Create a new project. Only admin users can create projects.",
security: [{ JWT: [] }],
parameters: [
{
in: "body",
name: "body",
required: true,
schema: {
example: {
categoryId: "41dcfb3c-9c7f-4829-9752-f0e1694fd6ea",
name: "Rating field name",
},
},
},
],
consumes: ["application/json"],
responses,
},
},

"/ratingFields/{id}": {
get: {
tags: ["RatingFields"],
summary: "Get a rating field",
description: "Get one rating field with its rating fields.",
security: [{ JWT: [] }],
parameters: [
{
in: "path",
name: "id",
required: true,
schema: {
example: "5e5bb69e-26fe-4e61-b4f3-e9a9332066da",
},
},
],
consumes: ["application/json"],
responses,
},
delete: {
tags: ["RatingFields"],
summary: "Delete a rating field",
description: "Delete a rating field. it will delete its rating fields",
security: [{ JWT: [] }],
parameters: [
{
in: "path",
name: "id",
required: true,
schema: {
example: "8a2a4287-fd47-45f9-a1a0-42e24aeeeddz",
},
},
],
consumes: ["application/json"],
responses,
},
},
};

export default ratingFields;
15 changes: 12 additions & 3 deletions src/documentation/review/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const reviews = {
post: {
tags: ["Reviews"],
summary: "Create new reviews",
description: "Create new reviews.",
description: "Create new review. use the schema below",
security: [{ JWT: [] }],
parameters: [
{
Expand All @@ -14,10 +14,19 @@ const reviews = {
required: true,
schema: {
example: {
comment: "review description",
revieweeId: "5e5bb69e-26fe-4e61-b4f3-e9a9332066da",
reviewCycleId: "5e5bb69e-26fe-4e61-b4f3-e9a9332066da",
description: "review description",
ratings: 2,
fieldReviews: [
{
ratingFieldId: "5e5bb69e-26fe-4e61-b4f3-e9a9332066da",
ratings: 2,
},
{
ratingFieldId: "5e5bb69e-26fe-4e61-b4f3-e9a9332066da",
ratings: 5,
},
],
},
},
},
Expand Down
Loading

0 comments on commit 9182f64

Please sign in to comment.