Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions onboarding-extension-requests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@

### Onboarding Extension Request Firestore collection model

Comment on lines +1 to +3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Consider Adding a Top-Level Heading
While the file begins with a level-3 heading, markdown best practices (and tools such as markdownlint MD041) suggest that the first line should be a top-level (level-1) heading. For better structure and readability, consider replacing the current heading with a level-1 heading (e.g., # Onboarding Extension Request Firestore Collection Model).

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

2-2: First line in a file should be a top-level heading
null

(MD041, first-line-heading, first-line-h1)

```json
{
"id": "String",
"type": "String"
"userId": "String",
Comment on lines +4 to +8

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix JSON Syntax: Missing Comma After "type" Field
In the JSON schema block, the "type" field on line 7 is missing a trailing comma. This omission makes the JSON example invalid. Please add a comma after the "type": "String" entry.

-  "type": "String"
+  "type": "String",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```json
{
"id": "String",
"type": "String"
"userId": "String",

"state": "<PENDING | APPROVED | REJECTED>",
"oldEndsOn": "number",
"newEndsOn": "number",
"message": "String",
"createdAt": "Timestamp",
"updatedAt": "Timestamp",
"lastModifiedBy": "String",
"reason": "String",
"requestedBy": "String",
"requestedNumber": "number"
}
```

#### Fields

| Field | Type | Description |
| ------------- | --------- | ------------------------------------------------------------------------|
| id | String | Unique identifier for the document. |
| userId | String | The id of the user who created the request. |
| state | String | The state of the request like APPROVED, REJECTED, PENDING. |
| oldEndsOn | number | Old deadline of the onboarding task in millisecond |
| newEndsOn | number | New deadline of the onboarding task in millisecond |
| message | String | The message provided by super user while approving or rejecting request.|
| createdAt | Timestamp | Unix timestamp for the creation time of the request. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Standardize Terminology: "Superuser" Instead of "Super user"
In the Fields table (line 31), the description reads "The message provided by super user while approving or rejecting request." For consistency and clarity, consider combining it into a single word: "superuser".

🧰 Tools
🪛 LanguageTool

[grammar] ~31-~31: This is normally spelled as one word.
Context: ... | String | The message provided by super user while approving or rejecting request.| ...

(SUPER_COMPOUNDS)

🪛 markdownlint-cli2 (0.17.2)

31-31: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

| updatedAt | Timestamp | Unix timestamp for the last update time of the request. |
| lastModifiedBy| String | The id of the superuser or request owner who processed the request |
| reason | String | The reason for the extension request. |
| requestedBy | String | The username of the user who created the request. |
| requestNumber | number | The current request number for onboarding task. |
| type | String | The type of request i.e. ONBOARDING. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Enhance Punctuation in Field Description
In the description for the type field (line 38), consider adding commas around "i.e." for clarity. For example, use: "The type of request, i.e., ONBOARDING."

🧰 Tools
🪛 LanguageTool

[typographical] ~38-~38: Consider putting a comma before the abbreviation “i.e.”.
Context: ...type | String | The type of request i.e. ONBOARDING. ...

(IE_COMMA)




Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Clean Up Extra Blank Lines
There are multiple consecutive blank lines at lines 40–41. Removing the extra blank lines would improve the overall document formatting and readability.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

40-40: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)


41-41: Multiple consecutive blank lines
Expected: 1; Actual: 3

(MD012, no-multiple-blanks)

### Example data

#### Example for PENDING state

```json
{
"id": "VYSTHeIERJlEtQdpViWo",
"createdAt": 1741328586836,
"updatedAt": 1741328586836,
"type": "ONBOARDING",
"state": "PENDING",
"userId": "7bTCwaMgEnKSumhenkwj",
"requestedBy": "mridul-khandelwal-1",
"oldEndsOn": 1743683053755,
"newEndsOn": 1744115053755,
"reason": "testing",
"requestNumber": 1
}
```

#### Example for APPROVED state

```json
{
"id": "Vv5IPkhghnNyjPYhw6Ws",
"createdAt": 1738686977925,
"type": "ONBOARDING",
"userId": "p86xesKNsxic6uFe6SZi",
"requestedBy": "mohit-ramani-1",
"oldEndsOn": 1740584089491,
"requestNumber": 1,
"reason": "test 2",
"newEndsOn": 1741132800000,
"lastModifiedBy": "65QiTlqudZfDk3i5W9WO",
"state": "APPROVED",
"message": "super-user message for testing",
"updatedAt": 1738830512066
}
```

#### Example for REJECTED state

```json
{
"id": "Vv5IPkhghnNyjPYhw6Ws",
"createdAt": 1738686977925,
"type": "ONBOARDING",
"userId": "p86xesKNsxic6uFe6SZi",
"requestedBy": "mohit-ramani-1",
"oldEndsOn": 1740584089491,
"requestNumber": 1,
"reason": "test 2",
"newEndsOn": 1741132800000,
"lastModifiedBy": "65QiTlqudZfDk3i5W9WO",
"state": "REJECTED",
"message": "super-user message for testing",
"updatedAt": 1738830512066
}
```