Skip to content

RFC for Status Collection Data Model #16

@heyrandhir

Description

@heyrandhir

The Collection name will be Status. All the documents in the collection will have the following data model.

{
  "userId": "String",
  "ooo":  {
      "status": "Boolean",
      "createdAt": "TimeStamp",
      "from": "TimeStamp",
      "till": "TimeStamp",
      "reason": "String"
    },
  "monthlyHoursCommitment": {
      "noOfHours": "Integer",
      "createdAt": "TimeStamp"
    }
}

̶T̶h̶e̶ ̶̶o̶o̶o̶̶ ̶a̶n̶d̶ ̶̶m̶o̶n̶t̶h̶l̶y̶H̶o̶u̶r̶s̶C̶o̶m̶m̶i̶t̶m̶e̶n̶t̶̶ ̶w̶i̶l̶l̶ ̶b̶e̶ ̶a̶n̶ ̶a̶r̶r̶a̶y̶ ̶a̶n̶d̶ ̶w̶h̶e̶n̶e̶v̶e̶r̶ ̶a̶ ̶U̶s̶e̶r̶ ̶u̶p̶d̶a̶t̶e̶s̶ ̶t̶h̶e̶i̶r̶ ̶s̶t̶a̶t̶u̶s̶ ̶w̶e̶ ̶w̶i̶l̶l̶ ̶p̶u̶s̶h̶ ̶t̶h̶e̶ ̶n̶e̶w̶ ̶o̶b̶j̶e̶c̶t̶ ̶i̶n̶ ̶t̶h̶e̶ ̶a̶r̶r̶a̶y̶.̶ ̶S̶t̶o̶r̶i̶n̶g̶ ̶l̶i̶k̶e̶ ̶t̶h̶i̶s̶ ̶w̶i̶l̶l̶ ̶h̶e̶l̶p̶ ̶u̶s̶ ̶i̶n̶ ̶t̶r̶a̶c̶k̶i̶n̶g̶ ̶h̶i̶s̶t̶o̶r̶y̶.̶ ̶

Note: If the User changes their status from OOO true to OOO false then the object will just have status and createdAt. The other fields Since,Till,Reason will be empty.

The final data model which we agreed for is as below

{
  "userId": "String",
  "currentStatus":  {
      "state": "OOO | IDLE | ACTIVE",
      "updatedAt": "TimeStamp",
      "from": "TimeStamp ",
      "until": "TimeStamp",
      "message": "String"
    },
  "monthlyHours": {
      "committed": "Integer",
      "updatedAt": "TimeStamp"
    }
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions