Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design for money data type #239

Closed
Tracked by #249
kgodey opened this issue Jun 11, 2021 · 1 comment
Closed
Tracked by #249

Design for money data type #239

kgodey opened this issue Jun 11, 2021 · 1 comment
Assignees
Labels
needs: unblocking Blocked by other work type: enhancement New feature or request

Comments

@kgodey
Copy link
Contributor

kgodey commented Jun 11, 2021

Problem

Users will want to store data that represents money. We should allow them to do so and provide an intuitive user experience for them.

Proposed solution

We need a design for the following functionality for the money data type:

  • Displaying columns of this type in tables
  • Creating a new column with this data type
  • Changing an existing column to this data type (including error states)
  • Showing non-technical users a friendly name for this data type. (The underlying Postgres data type will be a custom type).

Columns of this type can be either our custom MATHESAR_MONEY type (which has more functionality) or the default MONEY type in the database. Most of the functionality will remain the same, but we cannot change the currency or decimal precision for the default MONEY type.

Options

Columns of this type will have the following options:

Specific to this Type

  • Currency
  • Decimal precision

(Both of these should have pre-filled options)

Common to all Types

  • Default value (this will be the default value of the column if the user doesn't enter anything)
  • Allow empty values (whether the column is nullable)
  • Unique (whether the values in the column have to be unique, validated at the DB level)

Grouping

Columns of this type will be able to grouped by:

  • Range

Please see #238 for notes about ranges.

Filtering

Columns of this type will support the following filters:

  • between
  • equals
  • does not equal
  • greater than
  • lesser than
  • greater than or equal to
  • less than or equal to
  • is empty
  • is not empty

Additional Context

@ghislaineguerin
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs: unblocking Blocked by other work type: enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

2 participants