Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ export const ComplianceAssessmentDataset = defineDataset({
dateGranularity: 'month',
},
],
measures: [{ name: 'assessment_count', label: 'assessment_count', aggregate: 'count' }],
measures: [{ name: 'assessment_count', label: 'Assessments', aggregate: 'count' }],
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ export const ComplianceControlDataset = defineDataset({
label: 'compliance_control metrics',
object: 'compliance_control',
dimensions: [],
measures: [{ name: 'control_count', label: 'control_count', aggregate: 'count' }],
measures: [{ name: 'control_count', label: 'Controls', aggregate: 'count' }],
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ export const ComplianceEvidenceDataset = defineDataset({
label: 'compliance_evidence metrics',
object: 'compliance_evidence',
dimensions: [],
measures: [{ name: 'evidence_count', label: 'evidence_count', aggregate: 'count' }],
measures: [{ name: 'evidence_count', label: 'Evidence', aggregate: 'count' }],
});
15 changes: 9 additions & 6 deletions packages/compliance/src/objects/compliance_assessment.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,8 @@ export const Assessment = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down Expand Up @@ -113,10 +109,17 @@ export const Assessment = ObjectSchema.create({
condition: P`(record.status == "failed" || record.status == "partial") && (record.remediation_plan == null || record.remediation_plan == "")`,
},
{
// `assessor` is an OPTIONAL sys_user lookup. Seed/import/automation paths
// legitimately create completed assessments without a resolvable user
// reference (lookup seeds resolve by natural-key string; there is no
// seed-time user to point at), so this is a soft data-quality signal —
// surfaced in the UI — rather than a hard insert blocker. (9.9.x now
// evaluates `== null` rules on insert, which is why error-severity here
// rejected the seeded assessments outright.)
name: 'completed_requires_assessor',
type: 'script',
severity: 'error',
message: 'Completed assessments must record the assessor.',
severity: 'warning',
message: 'Completed assessments should record the assessor.',
condition: P`(record.status == "passed" || record.status == "failed" || record.status == "partial") && record.assessor == null`,
},
],
Expand Down
4 changes: 0 additions & 4 deletions packages/compliance/src/objects/compliance_control.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,8 @@ export const Control = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
4 changes: 0 additions & 4 deletions packages/compliance/src/objects/compliance_evidence.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,8 @@ export const Evidence = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,8 @@ export const Framework = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
2 changes: 1 addition & 1 deletion packages/content/src/datasets/content_metric.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ export const ContentMetricDataset = defineDataset({
dateGranularity: 'week',
},
],
measures: [{ name: 'sum_signups', label: 'sum_signups', aggregate: 'sum', field: 'signups' }],
measures: [{ name: 'sum_signups', label: 'Signups', aggregate: 'sum', field: 'signups' }],
});
2 changes: 1 addition & 1 deletion packages/content/src/datasets/content_piece.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ export const ContentPieceDataset = defineDataset({
dateGranularity: 'month',
},
],
measures: [{ name: 'piece_count', label: 'piece_count', aggregate: 'count' }],
measures: [{ name: 'piece_count', label: 'Pieces', aggregate: 'count' }],
});
4 changes: 2 additions & 2 deletions packages/content/src/datasets/content_publication.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ export const ContentPublicationDataset = defineDataset({
object: 'content_publication',
dimensions: [{ name: 'channel', label: 'channel', field: 'channel', type: 'string' }],
measures: [
{ name: 'publication_count', label: 'publication_count', aggregate: 'count' },
{ name: 'sum_total_views', label: 'sum_total_views', aggregate: 'sum', field: 'total_views' },
{ name: 'publication_count', label: 'Publications', aggregate: 'count' },
{ name: 'sum_total_views', label: 'Total Views', aggregate: 'sum', field: 'total_views' },
{
name: 'sum_total_clicks',
label: 'sum_total_clicks',
Expand Down
2 changes: 1 addition & 1 deletion packages/content/src/datasets/content_signal.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ export const ContentSignalDataset = defineDataset({
label: 'content_signal metrics',
object: 'content_signal',
dimensions: [],
measures: [{ name: 'signal_count', label: 'signal_count', aggregate: 'count' }],
measures: [{ name: 'signal_count', label: 'Signals', aggregate: 'count' }],
});
1 change: 0 additions & 1 deletion packages/content/src/objects/content_channel.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ export const Channel = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
trash: true,
Expand Down
3 changes: 0 additions & 3 deletions packages/content/src/objects/content_competitor.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,8 @@ export const Competitor = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
17 changes: 10 additions & 7 deletions packages/content/src/objects/content_piece.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { P, F, tmpl } from '@objectstack/spec';
* Polymorphic platform features:
* - sys_comment (thread_id = "content_piece:{id}")
* - sys_attachment (parent_object = "content_piece", parent_id = "{id}")
* - sys_activity / sys_audit_log via enable.feeds/trackHistory
* - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052)
*/
export const Piece = ObjectSchema.create({
name: 'content_piece',
Expand Down Expand Up @@ -206,12 +206,8 @@ export const Piece = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down Expand Up @@ -253,10 +249,17 @@ export const Piece = ObjectSchema.create({
condition: P`record.status == "scheduled" && record.publish_at == null`,
},
{
// `assignee` is an OPTIONAL sys_user lookup. Seed/import/automation paths
// legitimately create in-review pieces without a resolvable user
// reference (lookup seeds resolve by natural-key string; there is no
// seed-time user to point at), so this is a soft data-quality signal —
// surfaced in the UI — rather than a hard insert blocker. (9.9.x now
// evaluates `== null` rules on insert, which is why error-severity here
// rejected the seeded in-review pieces and cascaded to their CTAs.)
name: 'in_review_requires_assignee',
type: 'script',
severity: 'error',
message: 'In-review pieces must have a writer assigned.',
severity: 'warning',
message: 'In-review pieces should have a writer assigned.',
condition: P`record.status == "in_review" && record.assignee == null`,
},
],
Expand Down
3 changes: 0 additions & 3 deletions packages/content/src/objects/content_publication.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,7 @@ export const Publication = ObjectSchema.create({
},

enable: {
trackHistory: true,
apiEnabled: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
3 changes: 0 additions & 3 deletions packages/content/src/objects/content_signal.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,8 @@ export const Signal = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
4 changes: 0 additions & 4 deletions packages/content/src/objects/content_topic.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,8 @@ export const Topic = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
4 changes: 2 additions & 2 deletions packages/contracts/src/datasets/contracts_contract.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export const ContractsContractDataset = defineDataset({
{ name: 'contract_type', label: 'contract_type', field: 'contract_type', type: 'string' },
],
measures: [
{ name: 'contract_count', label: 'contract_count', aggregate: 'count' },
{ name: 'sum_total_value', label: 'sum_total_value', aggregate: 'sum', field: 'total_value' },
{ name: 'contract_count', label: 'Contracts', aggregate: 'count' },
{ name: 'sum_total_value', label: 'Total Value', aggregate: 'sum', field: 'total_value' },
],
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ export const ContractsObligationDataset = defineDataset({
label: 'contracts_obligation metrics',
object: 'contracts_obligation',
dimensions: [],
measures: [{ name: 'obligation_count', label: 'obligation_count', aggregate: 'count' }],
measures: [{ name: 'obligation_count', label: 'Obligations', aggregate: 'count' }],
});
8 changes: 2 additions & 6 deletions packages/contracts/src/objects/contracts_contract.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ import { P, F, tmpl } from '@objectstack/spec';
* Polymorphic platform features (free):
* - sys_comment (thread_id = "contracts_contract:{id}")
* - sys_attachment (parent_object = "contracts_contract", parent_id = "{id}")
* - sys_activity / sys_audit_log (auto via enable.feeds/trackHistory)
* - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052)
*/
export const Contract = ObjectSchema.create({
name: 'contracts_contract',
label: 'Contract',
pluralLabel: 'Contracts',
icon: 'file-text',
description:
'A signed (or being-negotiated) agreement with one counterparty. PDF upload is provisioned via `enable.files: true` (sys_attachment polymorphic storage); the extract_terms action consumes that PDF to auto-fill metadata.',
'A signed (or being-negotiated) agreement with one counterparty. PDF upload uses the polymorphic sys_attachment storage; the extract_terms action consumes that PDF to auto-fill metadata.',

fieldGroups: [
{ key: 'core', label: 'Contract', icon: 'file-text' },
Expand Down Expand Up @@ -247,12 +247,8 @@ export const Contract = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
3 changes: 0 additions & 3 deletions packages/contracts/src/objects/contracts_obligation.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,8 @@ export const Obligation = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
6 changes: 1 addition & 5 deletions packages/contracts/src/objects/contracts_party.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { tmpl } from '@objectstack/spec';
*
* Polymorphic platform features (free):
* - sys_attachment (parent_object = "contracts_party", parent_id = "{id}")
* - sys_activity / sys_audit_log via enable.activities/trackHistory
* - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052)
*/
export const Party = ObjectSchema.create({
name: 'contracts_party',
Expand Down Expand Up @@ -81,12 +81,8 @@ export const Party = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
2 changes: 1 addition & 1 deletion packages/expense/src/datasets/expense_line.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ export const ExpenseLineDataset = defineDataset({
label: 'expense_line metrics',
object: 'expense_line',
dimensions: [{ name: 'category', label: 'category', field: 'category', type: 'string' }],
measures: [{ name: 'sum_amount', label: 'sum_amount', aggregate: 'sum', field: 'amount' }],
measures: [{ name: 'sum_amount', label: 'Amount', aggregate: 'sum', field: 'amount' }],
});
2 changes: 1 addition & 1 deletion packages/expense/src/datasets/expense_report.dataset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export const ExpenseReportDataset = defineDataset({
},
],
measures: [
{ name: 'report_count', label: 'report_count', aggregate: 'count' },
{ name: 'report_count', label: 'Reports', aggregate: 'count' },
{
name: 'sum_total_amount',
label: 'sum_total_amount',
Expand Down
2 changes: 0 additions & 2 deletions packages/expense/src/objects/expense_category.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,8 @@ export const ExpenseCategory = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
feeds: true,
trash: true,
mru: true,
},
Expand Down
3 changes: 0 additions & 3 deletions packages/expense/src/objects/expense_line.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,8 @@ export const ExpenseLine = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
trash: true,
},

Expand Down
4 changes: 0 additions & 4 deletions packages/expense/src/objects/expense_report.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,8 @@ export const ExpenseReport = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
3 changes: 0 additions & 3 deletions packages/helpdesk/src/objects/helpdesk_customer.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,8 @@ export const Customer = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
feeds: true,
activities: true,
trash: true,
mru: true,
},
Expand Down
2 changes: 0 additions & 2 deletions packages/helpdesk/src/objects/helpdesk_kb_article.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,8 @@ export const KBArticle = ObjectSchema.create({
},

enable: {
trackHistory: true,
searchable: true,
apiEnabled: true,
files: true,
trash: true,
mru: true,
},
Expand Down
3 changes: 0 additions & 3 deletions packages/helpdesk/src/objects/helpdesk_message.object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,7 @@ export const Message = ObjectSchema.create({
},

enable: {
trackHistory: true,
apiEnabled: true,
files: true,
feeds: true,
trash: true,
},

Expand Down
Loading
Loading