#Running into issues setting up a custom RecordTable

1 messages · Page 1 of 1 (latest)

bronze osprey
#
  1. Added the table and initial view columns to the seedViews() function (packages/twenty-server/src/database/typeorm-seeds/workspace/views.ts):

1a)
const createdViews = await workspaceDataSource
.createQueryBuilder()
.insert()
.into(${schemaName}.view, ['name', 'objectMetadataId', 'type'])
.values([
...
"{
name: 'All Commission Lines',
objectMetadataId: objectMetadataMap['commissionLine'].id,
type: 'table',
},"
])
.returning('*')
.execute();

1b)
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(${schemaName}.viewField, [
'fieldMetadataId',
'viewId',
'position',
'isVisible',
'size',
])
.values([
...
{
fieldMetadataId: objectMetadataMap['commissionLine'].fields['client'],
viewId: viewIdMap['All Commission Lines'],
position: 0,
isVisible: true,
size: 180,
},
])
.execute();

bronze osprey
# bronze osprey 1. Added the table and initial view columns to the seedViews() function (package...
  1. Added a "seedCommissionLines" file to 'packages/twenty-server/src/database/commands/data-seed-dev-workspace.command.ts':

    await seedPeople(workspaceDataSource, dataSourceMetadata.schema);
    await seedPipelineStep(workspaceDataSource, dataSourceMetadata.schema);
    await seedOpportunity(workspaceDataSource, dataSourceMetadata.schema);
    **await seedCommissionLines(workspaceDataSource, dataSourceMetadata.schema);**```
    
    
  2. Added fields to a standard-object file (packages/twenty-server/src/workspace/workspace-sync-metadata/standard-objects/commission-line.object-metadata.ts):

import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
import { ObjectMetadata } from 'src/workspace/workspace-sync-metadata/decorators/object-metadata.decorator';
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
import { CompanyObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata';

@ObjectMetadata({
  namePlural: 'commissionLines',
  labelSingular: 'Commisssion Line',
  labelPlural: 'Commission Lines',
  description: 'Lines of Commission ',
  icon: 'IconMessageCircle', 
})
export class CommissionLineObjectMetadata extends BaseObjectMetadata {
  @FieldMetadata({
    type: FieldMetadataType.TEXT,
    label: 'Renewal Date',
    description: 'Comment body',
    icon: 'IconLink',
    defaultValue: { value: '' },
  })
  body: string;

  @FieldMetadata({
    type: FieldMetadataType.TEXT, //change to relation at some point
    label: 'Client',
    description: 'Client served',
    icon: 'IconLink',
    joinColumn: 'companyId',
  })
  client: CompanyObjectMetadata;
...
#

Is there anything I'm missing? @trim steeple Would appreciate any guidance if you have a second to spare. Thanks 🙂

bronze osprey