Class User

Table: idea_users.

Hierarchy

Constructors

  • Object initialization, setting all the default values.

    Parameters

    • Optional newData: any

      the data to load, optional

    • Optional options: any

      custom options to apply; they will depend on the child resource

      Usually, there is no need to implement the constructor; implicitly, it will call the load of the child resource and therefore loading all the resources with default values. If needed, this is the suggested implementation:

      super();
      this.load(x);
      // ...

    Returns User

Properties

createdAt: number

Timestamp of creation.

currentTeamInProjects: {
    [project: string]: string;
}

The currently selected team in each project.

Type declaration

  • [project: string]: string
email: string

=== username (from Cognito, not in DynamoDB).

userId: string

Cognito sub.

Methods

  • Return an attribute in a cleaned standard that force-cast the element.

    Parameters

    • origin: any

      the origin attribute, to cast

    • castFunction: ((x) => any)

      the cast function, e.g. Boolean, Number, String, x => new CustomClass(x), etc.

        • (x): any
        • Parameters

          • x: any

          Returns any

    • Optional defaultVal: any

      if set, the fallback value instead of null

    Returns any

    cleaned attribute

  • Return an array in a cleaned standard that force-cast each element, keeping only the valid ones.

    Parameters

    • origin: any[]

      the origin array, to cast and check

    • castFunction: ((x) => any)

      the cast function, e.g. x => String(x) or x => new CustomClass(x)

        • (x): any
        • Parameters

          • x: any

          Returns any

    • Optional defaultVal: any

      if set, the fallback value instead of null

    Returns any[]

    cleaned array

  • Get the current team for the user in the selected project.

    Parameters

    • project: string

    Returns string

  • Load the attributes from an already existing resource.

    Parameters

    • x: any

      the data to load

    Returns void

  • Load the attributes from an already existing resource and then force some attributes to assume safeData values. The function is usually used in the back-end to mix together db data with new data, without the risk of changing ids and other attributes which are managed in appositely curated scenario.

    Parameters

    • newData: any

      the data to load

    • safeData: any

      the attributes to force to specific values

    Returns void

  • Set (or reset) the current team for the user in the selected project.

    Parameters

    • project: string
    • Optional teamId: string

    Returns void

  • Valide the object's attributes, performing all the checkings.

    Parameters

    • Optional options: any

      custom options to apply; they will depend on the implementations

    Returns string[]

    errors if empty, the checkings are successfully passed.

    Typical implementation:

    const e = super.validate();
    if(this.iE(this.attr)) e.push(`attr`);
    // ...
    return e;

Generated using TypeDoc