dataSets
An async function that returns a list of data sets to make available to the user.
Parameters
We will call this function with a single argument containing the following information;
type IdentityConfig = {
dashboardAccess: {
accessType: "standard" | "admin";
organisationId: string;
// Unique identifier for the user
userReference: string;
// ISO 8601 format.
expires: string;
// Signature to verify this object hasn't been tampered with.
// Use your Vizzly public key to verify this.
signature: string;
};
dataAccess?: {
dataSetIds: string[] | "*";
// Secure filters which are sent with every query for
// a given data set.
secureFilters: {
[dataSetId: string]: Array<Query.Filter>;
};
// ISO 8601 format.
expires: string;
// Signature to verify this object hasn't been tampered with.
// Use your Vizzly public key to verify this.
signature: string;
};
};
The dataAccess
object is optional, and will only be provided if your identity callback returns
a data access token.
Return value
From this dataSets
function, you should return an array of data sets. If there is an error, you
should return null
.
Array<{
// ID of the data set.
id: string;
// Public name of the data set, displayed to your users.
name: string;
// Fields that make up the data set.
fields: Array<{
// Unique constant that identifies this field.
id: string;
// Public name of the field, displayed to your users.
publicName: string;
// Data type of the field
dataType: "number" | "boolean" | "string" | "date_time";
// Can this field be used as a dimension? Default: true
canBeDimension?: boolean;
// Can this field be used as a measure? Default: true
canBeMeasure?: boolean;
// What date/time granularities can be used on this field
// Note; only valid for fields with a dataType of `date_time`.
allowedGranularities?: Array<
"second" | "minute" | "hour" | "day" | "month" | "year"
>;
}>;
}>;