Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@flatfile/blueprint
Advanced tools
@flatfile/blueprint
is the point of reference for working with customer-defined data structures in Flatfile. We have a lot of different data problems to solve for across different systems such as the DAL, Pipelines, Workbooks, Turntable, and the SDK.
{
"properties": [
{
"key": "code",
"label": "Product Code",
"type": "string",
"description": "Unique identifier defining an individual product.",
"constraints": [
{
"type": "unique",
"config": {
"caseSensitive": false
}
}
],
"config": {
"size": "tiny"
}
},
{
"key": "description",
"type": "string"
},
{
"key": "price",
"type": "number",
"config": {
"decimalPlaces": 2
}
},
{
"key": "category",
"label": "Product Category",
"type": "enum",
"multi": true,
"config": {
"allowCustom": false,
"options": [
{
"value": 9,
"label": "Kitchenware",
"icon": "pots-and-pans",
"color": "#f00000",
"meta": {
"product_code_prefix": "KI-"
}
},
{
"value": 9,
"label": "Clothing",
"meta": {
"product_code_prefix": "CL-"
}
}
]
}
}
]
}
All properties have the following options. If a property type ends with []
(such as string[]
) it should be stored, retrieved, and presented as an array of unlimited size.
Option | Description | Default | Required? |
---|---|---|---|
key | The system name of this field. Primarily informs JSON and egress structures. | ✅ | |
type | One of string , number , boolean , date , enum , reference . Defines the handling of this property. | ✅ | |
label | A user-facing descriptive label designed to be displayed in the UI such as a table header. | key | |
description | A long form description of the property intended to be displayed to an end user. | ||
constraints | An array of system level Validation Rules meant to be applied after hooks are run. | [] | |
config | Configuration relevant to the type of column. See property documentation below. | {} | Sometimes |
multi | Will allow multiple values and store / provide the values in an array if set. Not all field types support arrays. | false | |
meta | Arbitrary object of values to pass through to hooks and egress | {} |
string
🧵 (default)Defines a property that should be stored and read as a basic string. Database engines should expect any length of text to be provided here unless explicitly defined in the config.
size: enum(tiny, normal, medium, long)
— How much text should be storeable in this field?
tiny
= up to 255 charactersnormal
= 64kb (default)medium
= 16mblong
= 4gbnumber
#️⃣Defines a property that should be stored and read as either an integer or floating point number. Database engines should look at the configuration to determine ideal storage format.
Option | Description | Default |
---|---|---|
decimalPlaces | The number of decimal places to preserve accuracy to. Overages should be automatically rounded with a warning. A hook can pre-format to accomplish floor or ceil. | 0 |
reference
🔗Warning
This is not comparable to a foreign key. There should be no specification of which column to reference by as it is multi-variate. A user may establish a relationship in mapping with a soft reference like a
company name
, once stored in our system we will reference by our internal IDs, and on egress we provide the knownsystem_id
if available.
Defines a reference to another sheet. Links should be established automatically by the matching engine or similar upon an evaluation of unique or similar columns between datasets.
Option | Description | Required? |
---|---|---|
ref | Full path reference to another sheet/table configuration. Must be in the same workbook. | ✅ |
relationship | The type of relationship this defines. Can be one of has-many or has-one | ✅ |
enum
Defines an enumerated list of options for the user to select from. Matching tooling attempts to resolve incoming data assigment to a valid option. The maximum number of options for this list is 100
. For larger lists, users should use the reference
or future lookup
types.
Option | Description | Default | Required? | |
---|---|---|---|---|
allowCustom | Permit the user to create new options for this specific field. | false | ||
options[] | A list of valid options the user can select from | ✅ | ||
value | The value or ID of this option. This value will be sent in egress | ✅ | ||
label | A visual label for this option, defaults to value if not provided | |||
color | An optional color to assign this option | |||
icon | A reference pointer to a previously registered icon | |||
meta | An arbitrary JSON object to be associated with this option and made available to hooks |
boolean
A true
or false
value type. Matching engines should attempt to resolve all common ways of representing this value and it should usually be displayed as a checkbox.
Option | Description | Default |
---|---|---|
allowIndeterminate | Allow an indeterminate (null ) option that is neither selected or unselected. | true |
date
Store a field as a GMT date. Data hooks must convert this value into a YYYY-MM-DD
format in order for it to be considered a valid value. Datetime should be a separate and future supported value as it must consider timezone.
contact
based on the country
of a linked company
sum()
of all items.price * items.quty
linked to an invoice
deals
with status: lost
linked to a salesperson
contact_methods
with a type
, value
, and priority
.address
group with street
, city
, ...city
and date
. Users should be able to select from a list of valid flights when interacting with the cell.address
entry. As you type, a set of suggestions appear in a dropdown.FAQs
The universal DDL for defining data structures across Flatfile.
The npm package @flatfile/blueprint receives a total of 5,060 weekly downloads. As such, @flatfile/blueprint popularity was classified as popular.
We found that @flatfile/blueprint demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 27 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.