@shko.online/componentframework-mock
Version:
Mocking library to help with testing PowerApps Component Framework Components
81 lines (80 loc) • 2.21 kB
JavaScript
/*
Copyright (c) 2022 Betim Beja and Shko Online LLC
Licensed under the MIT license.
*/
export const CREATE_TABLE_METADATA_ENTITY = `
CREATE TABLE Metadata__Entity(
EntityId UniqueIdentifier PRIMARY KEY,
LogicalName string,
EntitySetName string,
PrimaryIdAttribute string,
PrimaryNameAttribute string,
PrimaryImageAttribute string,
DisplayName string,
DisplayCollectionName string,
LogicalCollectionName string,
Description string
)
`;
export const INSERT_METADATA_ENTITY = `
INSERT INTO Metadata__Entity VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
`;
export const SELECT_METADATA_ENTITY = `
SELECT
EntityId,
LogicalName,
EntitySetName,
PrimaryIdAttribute,
PrimaryNameAttribute,
PrimaryImageAttribute,
DisplayName,
DisplayCollectionName,
LogicalCollectionName,
Description
FROM
Metadata__Entity
WHERE LogicalName = ?
`;
export const SELECT_METADATA_ENTITY_BY_ENTITYSET = `
SELECT
EntityId,
LogicalName,
EntitySetName,
PrimaryIdAttribute,
PrimaryNameAttribute,
PrimaryImageAttribute,
DisplayName,
DisplayCollectionName,
LogicalCollectionName,
Description
FROM
Metadata__Entity
WHERE EntitySetName = ?
`;
export class EntityMetadataSQL {
constructor(sql) {
this.sql = void 0;
this.sql = sql;
sql(CREATE_TABLE_METADATA_ENTITY);
}
AddEntityMetadata(metadata) {
this.sql(INSERT_METADATA_ENTITY, [metadata.EntityId, metadata.LogicalName, metadata.EntitySetName, metadata.PrimaryIdAttribute, metadata.PrimaryNameAttribute, metadata.PrimaryImageAttribute, metadata.DisplayName, metadata.DisplayCollectionName, metadata.LogicalCollectionName, metadata.Description]);
}
SelectTableMetadata(LogicalName) {
return this.sql(SELECT_METADATA_ENTITY, [LogicalName]);
}
SelectTableMetadataByEntitySet(EntitySetName) {
return this.sql(SELECT_METADATA_ENTITY_BY_ENTITYSET, [EntitySetName]);
}
}