LinkedIn Clone

data-object-management • 12/31/2025

DATA OBJECT MANAGEMENT

Linkedin Admin Panel

This document provides comprehensive information about how the Linkedin Admin Panel manages data objects, including CRUD operations, validation, relationships, and user interface generation.

Architectural Design Credit and Contact Information

The architectural design of this data object management system is credited to Mindbricks Genesis Engine.

We encourage open communication and welcome any questions or discussions related to the architectural aspects of this data object management system.

Documentation Scope

This guide covers the complete data object management system within the Linkedin Admin Panel. It includes dynamic UI generation, CRUD operations, data validation, relationship management, and user experience patterns.

Intended Audience

This documentation is intended for frontend developers, UI/UX designers, and system administrators who need to understand how data objects are managed, displayed, and manipulated within the admin panel.

Data Object Architecture

Overview

The admin panel implements a basic data object management system that generates simple CRUD interfaces for data objects defined in the backend services. Each data object is represented by a data grid for listing and basic modal components for create/update/delete operations.

Data Object Structure

Core Data Object Properties

  • Name: Unique identifier for the data object
  • Display Name: Human-readable name for UI display
  • Component Name: React component name for rendering
  • Properties: Array of data object properties with types

Dynamic UI Generation

Component Generation Pattern



// Data object component structure JobApplication jobPosting
const DataObjectComponentJobApplicationJobPosting = {
  // List view for displaying multiple records
  ListView: {
    component: 'JobApplicationJobPostingAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'JobApplicationJobPostingAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'JobApplicationJobPostingAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'JobApplicationJobPostingAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure JobApplication jobApplication
const DataObjectComponentJobApplicationJobApplication = {
  // List view for displaying multiple records
  ListView: {
    component: 'JobApplicationJobApplicationAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'JobApplicationJobApplicationAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'JobApplicationJobApplicationAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'JobApplicationJobApplicationAppPageDeleteModal',
    lazy: true
  }
};



// Data object component structure Networking connection
const DataObjectComponentNetworkingConnection = {
  // List view for displaying multiple records
  ListView: {
    component: 'NetworkingConnectionAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'NetworkingConnectionAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'NetworkingConnectionAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'NetworkingConnectionAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Networking connectionRequest
const DataObjectComponentNetworkingConnectionRequest = {
  // List view for displaying multiple records
  ListView: {
    component: 'NetworkingConnectionRequestAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'NetworkingConnectionRequestAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'NetworkingConnectionRequestAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'NetworkingConnectionRequestAppPageDeleteModal',
    lazy: true
  }
};



// Data object component structure Company companyFollower
const DataObjectComponentCompanyCompanyFollower = {
  // List view for displaying multiple records
  ListView: {
    component: 'CompanyCompanyFollowerAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'CompanyCompanyFollowerAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'CompanyCompanyFollowerAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'CompanyCompanyFollowerAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Company companyUpdate
const DataObjectComponentCompanyCompanyUpdate = {
  // List view for displaying multiple records
  ListView: {
    component: 'CompanyCompanyUpdateAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'CompanyCompanyUpdateAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'CompanyCompanyUpdateAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'CompanyCompanyUpdateAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Company company
const DataObjectComponentCompanyCompany = {
  // List view for displaying multiple records
  ListView: {
    component: 'CompanyCompanyAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'CompanyCompanyAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'CompanyCompanyAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'CompanyCompanyAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Company companyAdmin
const DataObjectComponentCompanyCompanyAdmin = {
  // List view for displaying multiple records
  ListView: {
    component: 'CompanyCompanyAdminAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'CompanyCompanyAdminAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'CompanyCompanyAdminAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'CompanyCompanyAdminAppPageDeleteModal',
    lazy: true
  }
};



// Data object component structure Content post
const DataObjectComponentContentPost = {
  // List view for displaying multiple records
  ListView: {
    component: 'ContentPostAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ContentPostAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ContentPostAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ContentPostAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Content like
const DataObjectComponentContentLike = {
  // List view for displaying multiple records
  ListView: {
    component: 'ContentLikeAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ContentLikeAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ContentLikeAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ContentLikeAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Content comment
const DataObjectComponentContentComment = {
  // List view for displaying multiple records
  ListView: {
    component: 'ContentCommentAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ContentCommentAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ContentCommentAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ContentCommentAppPageDeleteModal',
    lazy: true
  }
};



// Data object component structure Messaging message
const DataObjectComponentMessagingMessage = {
  // List view for displaying multiple records
  ListView: {
    component: 'MessagingMessageAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'MessagingMessageAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'MessagingMessageAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'MessagingMessageAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Messaging conversation
const DataObjectComponentMessagingConversation = {
  // List view for displaying multiple records
  ListView: {
    component: 'MessagingConversationAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'MessagingConversationAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'MessagingConversationAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'MessagingConversationAppPageDeleteModal',
    lazy: true
  }
};



// Data object component structure Profile profile
const DataObjectComponentProfileProfile = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfileProfileAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfileProfileAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfileProfileAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfileProfileAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Profile premiumsubscription
const DataObjectComponentProfilePremiumsubscription = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfilePremiumsubscriptionAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfilePremiumsubscriptionAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfilePremiumsubscriptionAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfilePremiumsubscriptionAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Profile certification
const DataObjectComponentProfileCertification = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfileCertificationAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfileCertificationAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfileCertificationAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfileCertificationAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Profile language
const DataObjectComponentProfileLanguage = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfileLanguageAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfileLanguageAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfileLanguageAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfileLanguageAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Profile sys_premiumsubscriptionPayment
const DataObjectComponentProfileSys_premiumsubscriptionPayment = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfileSys_premiumsubscriptionPaymentAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfileSys_premiumsubscriptionPaymentAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfileSys_premiumsubscriptionPaymentAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfileSys_premiumsubscriptionPaymentAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Profile sys_paymentCustomer
const DataObjectComponentProfileSys_paymentCustomer = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfileSys_paymentCustomerAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfileSys_paymentCustomerAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfileSys_paymentCustomerAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfileSys_paymentCustomerAppPageDeleteModal',
    lazy: true
  }
};

// Data object component structure Profile sys_paymentMethod
const DataObjectComponentProfileSys_paymentMethod = {
  // List view for displaying multiple records
  ListView: {
    component: 'ProfileSys_paymentMethodAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'ProfileSys_paymentMethodAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'ProfileSys_paymentMethodAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'ProfileSys_paymentMethodAppPageDeleteModal',
    lazy: true
  }
};



// Data object component structure Auth user
const DataObjectComponentAuthUser = {
  // List view for displaying multiple records
  ListView: {
    component: 'AuthUserAppPage',
    features: ['data-grid', 'export', 'filtering', 'search']
  },
  
  // Modal components for data manipulation
  CreateModal: {
    component: 'AuthUserAppPageCreateModal',
    lazy: true
  },
  
  UpdateModal: {
    component: 'AuthUserAppPageUpdateModal',
    lazy: true
  },
  
  // Action components
  DeleteModal: {
    component: 'AuthUserAppPageDeleteModal',
    lazy: true
  }
};


Service Data Objects

JobApplication Service Data Objects

Service Overview

  • Service Name: jobApplication
  • Service Display Name: JobApplication
  • Total Data Objects: 2

Data Objects

JobPosting Data Object

Basic Information

  • Object Name: jobPosting
  • Display Name: JobPosting
  • Component Name: JobApplicationJobPostingAppPage
  • Description: Job posting entity representing an open position with a company. Created/managed by company admins or recruiters. Fields include companyId, postedByUserId, title, details, requirements, employment type, salary, deadline, etc.

Object Properties

Property Name Type Required Default Definition

| description | Text | | N/A | Detailed description of the job posting. |

| title | String | | N/A | Job title/position name. |

| applicationDeadline | Date | | N/A | Last date for accepting applications. Checked during apply. |

| companyId | ID | | N/A | Company offering the job. FK to company:company |

| employmentType | Enum | | N/A | Job employment type (full-time, part-time, contract, internship,temporary,volunteer,other). |

| postedByUserId | ID | | N/A | User (admin/recruiter) who posted the job. FK to auth:user; used for ownership. |

| salaryRange | String | | N/A | Human-readable salary range (free-form for v1; can be refined later). |

| location | String | | N/A | Primary job location (city, country, etc.) |

| visibility | Enum | | N/A | Controls who can see/apply to this job: public (all) or private (admins only). |

| workplaceType | Enum | | N/A | Workplace type (on-site,remote,hybrid). |

| status | Enum | | N/A | status : active or closed |

| companyName | String | | N/A | company name |

Enum Properties

employmentType Enum Property

Property Definition: Job employment type (full-time, part-time, contract, internship,temporary,volunteer,other).

Enum Options

Name Value Index

| full_time | "full_time" | 0 |

| part_time | "part_time" | 1 |

| contract | "contract" | 2 |

| internship | "internship" | 3 |

| volunteer | "volunteer" | 4 |

| other | "other" | 5 |

| temporary | "temporary" | 6 |

visibility Enum Property

Property Definition: Controls who can see/apply to this job: public (all) or private (admins only).

Enum Options

Name Value Index

| public | "public" | 0 |

| private | "private" | 1 |

workplaceType Enum Property

Property Definition: Workplace type (on-site,remote,hybrid).

Enum Options

Name Value Index

| on_site | "on_site" | 0 |

| remote | "remote" | 1 |

| hybrid | "hybrid" | 2 |

status Enum Property

Property Definition: status : active or closed

Enum Options

Name Value Index

| active | "active" | 0 |

| closed | "closed" | 1 |

Generated UI Components

  • List Component: JobApplicationJobPostingAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: JobApplicationJobPostingAppPageCreateModal - Form for creating new records
  • Update Modal: JobApplicationJobPostingAppPageUpdateModal - Form for editing existing records
  • Delete Modal: JobApplicationJobPostingAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /jobPosting/list - Retrieve paginated list of records
  • Get: GET /jobPosting/get - Retrieve single record by ID
  • Create: POST /jobPosting/create - Create new record
  • Update: PUT /jobPosting/update - Update existing record
  • Delete: DELETE /jobPosting/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/jobApplication/jobPosting
  • Create Route: /dashboard/jobApplication/jobPosting/create
  • Update Route: /dashboard/jobApplication/jobPosting/update/:id
  • Delete Route: /dashboard/jobApplication/jobPosting/delete/:id

JobApplication Data Object

Basic Information

  • Object Name: jobApplication
  • Display Name: JobApplication
  • Component Name: JobApplicationJobApplicationAppPage
  • Description: Record of a user applying for a specific jobPosting (tracks application/resume/status/audit). Each application is unique per user x jobPosting.

Object Properties

Property Name Type Required Default Definition

| jobPostingId | ID | | N/A | FK to jobPosting: job applied for. |

| applicantUserId | ID | | N/A | User who submitted the application. FK to auth:user.id; used for ownership. |

| coverLetter | Text | | N/A | User's (optional) cover letter/body with application. |

| resumeUrl | String | | N/A | URL/path to user resume/doc to share with recruiter/admin. User-provided. |

| lastStatusUpdateAt | Date | | N/A | Timestamp of latest status change (set when status is updated). |

| status | Enum | | N/A | Application status: submitted, in_review, accepted, rejected. Only updatable by admin/recruiter for this job. |

| appliedAt | Date | | N/A | Timestamp when application was submitted. Set automatically on create. |

Enum Properties

status Enum Property

Property Definition: Application status: submitted, in_review, accepted, rejected. Only updatable by admin/recruiter for this job.

Enum Options

Name Value Index

| submitted | "submitted" | 0 |

| in_review | "in_review" | 1 |

| accepted | "accepted" | 2 |

| rejected | "rejected" | 3 |

Generated UI Components

  • List Component: JobApplicationJobApplicationAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: JobApplicationJobApplicationAppPageCreateModal - Form for creating new records
  • Update Modal: JobApplicationJobApplicationAppPageUpdateModal - Form for editing existing records
  • Delete Modal: JobApplicationJobApplicationAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /jobApplication/list - Retrieve paginated list of records
  • Get: GET /jobApplication/get - Retrieve single record by ID
  • Create: POST /jobApplication/create - Create new record
  • Update: PUT /jobApplication/update - Update existing record
  • Delete: DELETE /jobApplication/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/jobApplication/jobApplication
  • Create Route: /dashboard/jobApplication/jobApplication/create
  • Update Route: /dashboard/jobApplication/jobApplication/update/:id
  • Delete Route: /dashboard/jobApplication/jobApplication/delete/:id

Networking Service Data Objects

Service Overview

  • Service Name: networking
  • Service Display Name: Networking
  • Total Data Objects: 2

Data Objects

Connection Data Object

Basic Information

  • Object Name: connection
  • Display Name: Connection
  • Component Name: NetworkingConnectionAppPage
  • Description: Represents a single established user-to-user professional relationship (mutual connection). One record per unordered user pair, deleted on disconnect..

Object Properties

Property Name Type Required Default Definition

| connectedSince | Date | | N/A | Timestamp when connection was established. |

| userId1 | ID | | N/A | FK to auth:user.id. First user of the connection. Value must be lower of both user IDs lexically to ensure uniqueness regardless of order. |

| userId2 | ID | | N/A | FK to auth:user.id. Second user of the connection. Value must be higher of both user IDs lexically. Together with userId1 ensures uniqueness of unordered pair. |

Generated UI Components

  • List Component: NetworkingConnectionAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: NetworkingConnectionAppPageCreateModal - Form for creating new records
  • Update Modal: NetworkingConnectionAppPageUpdateModal - Form for editing existing records
  • Delete Modal: NetworkingConnectionAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /connection/list - Retrieve paginated list of records
  • Get: GET /connection/get - Retrieve single record by ID
  • Create: POST /connection/create - Create new record
  • Update: PUT /connection/update - Update existing record
  • Delete: DELETE /connection/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/networking/connection
  • Create Route: /dashboard/networking/connection/create
  • Update Route: /dashboard/networking/connection/update/:id
  • Delete Route: /dashboard/networking/connection/delete/:id

ConnectionRequest Data Object

Basic Information

  • Object Name: connectionRequest
  • Display Name: ConnectionRequest
  • Component Name: NetworkingConnectionRequestAppPage
  • Description: Tracks a user's request to connect with another user, supporting request/accept/reject/cancel, with audit timestamps.

Object Properties

Property Name Type Required Default Definition

| receiverUserId | ID | | N/A | FK to auth:user.id — target of the request. |

| senderUserId | ID | | N/A | FK to auth:user.id — user sending the connection request. |

| sentAt | Date | | N/A | Timestamp when request was sent. |

| status | Enum | | N/A | Request status: pending/accepted/rejected. |

| respondedAt | Date | | N/A | Timestamp when receiver accepted/rejected. |

| message | String | | N/A | Optional introductory message from sender to receiver. |

Enum Properties

status Enum Property

Property Definition: Request status: pending/accepted/rejected.

Enum Options

Name Value Index

| pending | "pending" | 0 |

| accepted | "accepted" | 1 |

| rejected | "rejected" | 2 |

Generated UI Components

  • List Component: NetworkingConnectionRequestAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: NetworkingConnectionRequestAppPageCreateModal - Form for creating new records
  • Update Modal: NetworkingConnectionRequestAppPageUpdateModal - Form for editing existing records
  • Delete Modal: NetworkingConnectionRequestAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /connectionRequest/list - Retrieve paginated list of records
  • Get: GET /connectionRequest/get - Retrieve single record by ID
  • Create: POST /connectionRequest/create - Create new record
  • Update: PUT /connectionRequest/update - Update existing record
  • Delete: DELETE /connectionRequest/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/networking/connectionRequest
  • Create Route: /dashboard/networking/connectionRequest/create
  • Update Route: /dashboard/networking/connectionRequest/update/:id
  • Delete Route: /dashboard/networking/connectionRequest/delete/:id

Company Service Data Objects

Service Overview

  • Service Name: company
  • Service Display Name: Company
  • Total Data Objects: 4

Data Objects

CompanyFollower Data Object

Basic Information

  • Object Name: companyFollower
  • Display Name: CompanyFollower
  • Component Name: CompanyCompanyFollowerAppPage
  • Description: Tracks when a user follows a company to receive updates. Append-only, deletes for unfollow.

Object Properties

Property Name Type Required Default Definition

| userId | ID | | N/A | FK to auth:user who follows the company. |

| companyId | ID | | N/A | FK to company:company being followed. |

| followedAt | Date | | N/A | Timestamp when user followed company. |

Generated UI Components

  • List Component: CompanyCompanyFollowerAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: CompanyCompanyFollowerAppPageCreateModal - Form for creating new records
  • Update Modal: CompanyCompanyFollowerAppPageUpdateModal - Form for editing existing records
  • Delete Modal: CompanyCompanyFollowerAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /companyFollower/list - Retrieve paginated list of records
  • Get: GET /companyFollower/get - Retrieve single record by ID
  • Create: POST /companyFollower/create - Create new record
  • Update: PUT /companyFollower/update - Update existing record
  • Delete: DELETE /companyFollower/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/company/companyFollower
  • Create Route: /dashboard/company/companyFollower/create
  • Update Route: /dashboard/company/companyFollower/update/:id
  • Delete Route: /dashboard/company/companyFollower/delete/:id

CompanyUpdate Data Object

Basic Information

  • Object Name: companyUpdate
  • Display Name: CompanyUpdate
  • Component Name: CompanyCompanyUpdateAppPage
  • Description: A post/news update created by company admin and visible to followers depending on visibility.

Object Properties

Property Name Type Required Default Definition

| companyId | ID | | N/A | FK to company whose update this is. |

| content | Text | | N/A | Body/content of the update/news item. |

| authorUserId | ID | | N/A | FK to auth:user who authored the update (must be active admin at time of post). |

| attachmentUrls | String | | N/A | Array of URLs for update attachments (files, images, links). |

| visibility | Enum | | N/A | Update visibility: public (all) or private (followers only). |

Enum Properties

visibility Enum Property

Property Definition: Update visibility: public (all) or private (followers only).

Enum Options

Name Value Index

| public | "public" | 0 |

| private | "private" | 1 |

Generated UI Components

  • List Component: CompanyCompanyUpdateAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: CompanyCompanyUpdateAppPageCreateModal - Form for creating new records
  • Update Modal: CompanyCompanyUpdateAppPageUpdateModal - Form for editing existing records
  • Delete Modal: CompanyCompanyUpdateAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /companyUpdate/list - Retrieve paginated list of records
  • Get: GET /companyUpdate/get - Retrieve single record by ID
  • Create: POST /companyUpdate/create - Create new record
  • Update: PUT /companyUpdate/update - Update existing record
  • Delete: DELETE /companyUpdate/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/company/companyUpdate
  • Create Route: /dashboard/company/companyUpdate/create
  • Update Route: /dashboard/company/companyUpdate/update/:id
  • Delete Route: /dashboard/company/companyUpdate/delete/:id

Company Data Object

Basic Information

  • Object Name: company
  • Display Name: Company
  • Component Name: CompanyCompanyAppPage
  • Description: Represents a company profile and brand presence/pages on the network.

Object Properties

Property Name Type Required Default Definition

| name | String | | N/A | Company brand name. Displayed and searchable. Unique per company. |

| website | String | | N/A | Official company website link. |

| location | String | | N/A | Company HQ/main location string (e.g. city, country). |

| logoUrl | String | | N/A | Uploaded image URL for company logo/branding. |

| pageVisibility | Enum | | N/A | Visibility of the company page (public/private). |

| createdByUserId | ID | | N/A | ** |

| description | Text | | N/A | Company description / about section. |

| industry | String | | N/A | Industry sector or market. |

Enum Properties

pageVisibility Enum Property

Property Definition: Visibility of the company page (public/private).

Enum Options

Name Value Index

| public | "public" | 0 |

| private | "private" | 1 |

Generated UI Components

  • List Component: CompanyCompanyAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: CompanyCompanyAppPageCreateModal - Form for creating new records
  • Update Modal: CompanyCompanyAppPageUpdateModal - Form for editing existing records
  • Delete Modal: CompanyCompanyAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /company/list - Retrieve paginated list of records
  • Get: GET /company/get - Retrieve single record by ID
  • Create: POST /company/create - Create new record
  • Update: PUT /company/update - Update existing record
  • Delete: DELETE /company/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/company/company
  • Create Route: /dashboard/company/company/create
  • Update Route: /dashboard/company/company/update/:id
  • Delete Route: /dashboard/company/company/delete/:id

CompanyAdmin Data Object

Basic Information

  • Object Name: companyAdmin
  • Display Name: CompanyAdmin
  • Component Name: CompanyCompanyAdminAppPage
  • Description: Tracks which users are assigned as admins for a company, allowing them to manage the company page and edits.

Object Properties

Property Name Type Required Default Definition

| assignedAt | Date | | N/A | Timestamp when admin assigned. |

| userId | ID | | N/A | FK to auth:user who is admin of this company. |

| companyId | ID | | N/A | FK to company. |

| assignedBy | ID | | N/A | User who assigned this admin (for audit). |

Generated UI Components

  • List Component: CompanyCompanyAdminAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: CompanyCompanyAdminAppPageCreateModal - Form for creating new records
  • Update Modal: CompanyCompanyAdminAppPageUpdateModal - Form for editing existing records
  • Delete Modal: CompanyCompanyAdminAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /companyAdmin/list - Retrieve paginated list of records
  • Get: GET /companyAdmin/get - Retrieve single record by ID
  • Create: POST /companyAdmin/create - Create new record
  • Update: PUT /companyAdmin/update - Update existing record
  • Delete: DELETE /companyAdmin/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/company/companyAdmin
  • Create Route: /dashboard/company/companyAdmin/create
  • Update Route: /dashboard/company/companyAdmin/update/:id
  • Delete Route: /dashboard/company/companyAdmin/delete/:id

Content Service Data Objects

Service Overview

  • Service Name: content
  • Service Display Name: Content
  • Total Data Objects: 3

Data Objects

Post Data Object

Basic Information

  • Object Name: post
  • Display Name: Post
  • Component Name: ContentPostAppPage
  • Description: A user or company-authored post in the feed, with content, optional attachments, and public/private visibility. Belongs to a user (author) and optionally a company.

Object Properties

Property Name Type Required Default Definition

| content | Text | | N/A | Main post content/body text |

| companyId | ID | | N/A | Optional. FK to company:company - if set, post is from company context (by admin). |

| authorUserId | ID | | N/A | FK to auth:user - the user who created the post. Required. |

| visibility | Enum | | N/A | Post-level visibility: public or private. |

| attachmentUrls | String | | N/A | Array of attachment URLs (e.g. images, docs, links). Optional. |

Enum Properties

visibility Enum Property

Property Definition: Post-level visibility: public or private.

Enum Options

Name Value Index

| public | "public" | 0 |

| private | "private" | 1 |

Generated UI Components

  • List Component: ContentPostAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ContentPostAppPageCreateModal - Form for creating new records
  • Update Modal: ContentPostAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ContentPostAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /post/list - Retrieve paginated list of records
  • Get: GET /post/get - Retrieve single record by ID
  • Create: POST /post/create - Create new record
  • Update: PUT /post/update - Update existing record
  • Delete: DELETE /post/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/content/post
  • Create Route: /dashboard/content/post/create
  • Update Route: /dashboard/content/post/update/:id
  • Delete Route: /dashboard/content/post/delete/:id

Like Data Object

Basic Information

  • Object Name: like
  • Display Name: Like
  • Component Name: ContentLikeAppPage
  • Description: A record of a user liking a specific post. Each user can like a post only once. Used for engagement counts and activity feeds.

Object Properties

Property Name Type Required Default Definition

| likedAt | Date | | N/A | Timestamp when the like was made. |

| postId | ID | | N/A | FK to content:post - the post that was liked. Required. |

| userId | ID | | N/A | FK to auth:user - owner of the like entry (who liked). Required. |

Generated UI Components

  • List Component: ContentLikeAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ContentLikeAppPageCreateModal - Form for creating new records
  • Update Modal: ContentLikeAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ContentLikeAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /like/list - Retrieve paginated list of records
  • Get: GET /like/get - Retrieve single record by ID
  • Create: POST /like/create - Create new record
  • Update: PUT /like/update - Update existing record
  • Delete: DELETE /like/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/content/like
  • Create Route: /dashboard/content/like/create
  • Update Route: /dashboard/content/like/update/:id
  • Delete Route: /dashboard/content/like/delete/:id

Comment Data Object

Basic Information

  • Object Name: comment
  • Display Name: Comment
  • Component Name: ContentCommentAppPage
  • Description: A comment on a post. Can be a top-level or a reply to another comment (via parentCommentId).

Object Properties

Property Name Type Required Default Definition

| authorUserId | ID | | N/A | FK to auth:user - user who authored comment. |

| postId | ID | | N/A | FK to content:post - the post this comment is for. Required. |

| content | Text | | N/A | Comment body/content. |

| parentCommentId | ID | | N/A | Optional. FK to comment. If set, this is a reply to the parent comment, otherwise a top-level comment. |

Generated UI Components

  • List Component: ContentCommentAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ContentCommentAppPageCreateModal - Form for creating new records
  • Update Modal: ContentCommentAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ContentCommentAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /comment/list - Retrieve paginated list of records
  • Get: GET /comment/get - Retrieve single record by ID
  • Create: POST /comment/create - Create new record
  • Update: PUT /comment/update - Update existing record
  • Delete: DELETE /comment/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/content/comment
  • Create Route: /dashboard/content/comment/create
  • Update Route: /dashboard/content/comment/update/:id
  • Delete Route: /dashboard/content/comment/delete/:id

Messaging Service Data Objects

Service Overview

  • Service Name: messaging
  • Service Display Name: Messaging
  • Total Data Objects: 2

Data Objects

Message Data Object

Basic Information

  • Object Name: message
  • Display Name: Message
  • Component Name: MessagingMessageAppPage
  • Description: Message posted within a conversation. Tracks content, sender, readBy, and deletedFor status per user.

Object Properties

Property Name Type Required Default Definition

| content | Text | | N/A | Raw message body/content. |

| senderUserId | ID | | N/A | auth:user.id of message sender. |

| deletedFor | ID | | N/A | Array of userIds who have deleted/hid this message (soft/hide). |

| readBy | ID | | N/A | Array of userIds who have read this message. Used for read receipts. |

| conversationId | ID | | N/A | Conversation this message belongs to (messaging:conversation). |

| sentAt | Date | | N/A | Timestamp when message is sent (defaults to now on create). |

Generated UI Components

  • List Component: MessagingMessageAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: MessagingMessageAppPageCreateModal - Form for creating new records
  • Update Modal: MessagingMessageAppPageUpdateModal - Form for editing existing records
  • Delete Modal: MessagingMessageAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /message/list - Retrieve paginated list of records
  • Get: GET /message/get - Retrieve single record by ID
  • Create: POST /message/create - Create new record
  • Update: PUT /message/update - Update existing record
  • Delete: DELETE /message/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/messaging/message
  • Create Route: /dashboard/messaging/message/create
  • Update Route: /dashboard/messaging/message/update/:id
  • Delete Route: /dashboard/messaging/message/delete/:id

Conversation Data Object

Basic Information

  • Object Name: conversation
  • Display Name: Conversation
  • Component Name: MessagingConversationAppPage
  • Description: Messaging thread among users supporting 1:1 and group. Tracks participants, group status, and last message time.

Object Properties

Property Name Type Required Default Definition

| isGroup | Boolean | | N/A | True for group; false for one-to-one conversation (default false). |

| participantIds | ID | | N/A | Array of user IDs (auth:user) participating in the conversation (min 2). |

| lastMessageAt | Date | | N/A | Timestamp of most recent message sent in this conversation. |

Generated UI Components

  • List Component: MessagingConversationAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: MessagingConversationAppPageCreateModal - Form for creating new records
  • Update Modal: MessagingConversationAppPageUpdateModal - Form for editing existing records
  • Delete Modal: MessagingConversationAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /conversation/list - Retrieve paginated list of records
  • Get: GET /conversation/get - Retrieve single record by ID
  • Create: POST /conversation/create - Create new record
  • Update: PUT /conversation/update - Update existing record
  • Delete: DELETE /conversation/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/messaging/conversation
  • Create Route: /dashboard/messaging/conversation/create
  • Update Route: /dashboard/messaging/conversation/update/:id
  • Delete Route: /dashboard/messaging/conversation/delete/:id

Profile Service Data Objects

Service Overview

  • Service Name: profile
  • Service Display Name: Profile
  • Total Data Objects: 7

Data Objects

Profile Data Object

Basic Information

  • Object Name: profile
  • Display Name: Profile
  • Component Name: ProfileProfileAppPage
  • Description: Professional profile for a user, includes core info and arrays of experience/education/skills. One profile per user...

Object Properties

Property Name Type Required Default Definition

| summary | Text | | N/A | Profile summary (bio/description). |

| headline | String | | N/A | Short tagline or headline for profile. |

| profilePhotoUrl | String | | N/A | URL for profile photo/avatar. |

| userId | ID | | N/A | Foreign key to auth:user. Owner of the profile. Single profile per user. |

| fullName | String | | N/A | Full name for display/search. |

| currentCompany | String | | N/A | Current employer/company, free text for now. |

| industry | String | | N/A | Industry sector name for profile. |

| languages | String | | N/A | Array of language names as string, links to language object (lookup/filter only). |

| skills | String | | N/A | List of professional skills (free-form tags). |

| location | String | | N/A | Location information (city, country, etc.) |

| experience | Object | | N/A | Array of experienceItem objects (job history). |

| profileVisibility | Enum | | N/A | Controls who can view profile: public or private. Used in search/list visibility. |

| education | Object | | N/A | Array of educationItem objects (degrees/certificates). |

| certifications | String | | N/A | Professional certifications by name, links to certification object. |

Enum Properties

profileVisibility Enum Property

Property Definition: Controls who can view profile: public or private. Used in search/list visibility.

Enum Options

Name Value Index

| public | "public" | 0 |

| private | "private" | 1 |

Generated UI Components

  • List Component: ProfileProfileAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfileProfileAppPageCreateModal - Form for creating new records
  • Update Modal: ProfileProfileAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfileProfileAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /profile/list - Retrieve paginated list of records
  • Get: GET /profile/get - Retrieve single record by ID
  • Create: POST /profile/create - Create new record
  • Update: PUT /profile/update - Update existing record
  • Delete: DELETE /profile/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/profile
  • Create Route: /dashboard/profile/profile/create
  • Update Route: /dashboard/profile/profile/update/:id
  • Delete Route: /dashboard/profile/profile/delete/:id

Premiumsubscription Data Object

Basic Information

  • Object Name: premiumsubscription
  • Display Name: Premiumsubscription
  • Component Name: ProfilePremiumsubscriptionAppPage
  • Description: premium subscription for a user

Object Properties

Property Name Type Required Default Definition

| profileId | ID | | N/A | the profile id of the subscription |

| currency | String | | N/A | *currency * |

| status | String | | N/A | ** |

| price | Double | | N/A | the price of the subscription |

| userId | ID | | N/A | the userid of the subscription |

| _paymentConfirmation | Enum | | N/A | An automatic property that is used to check the confirmed status of the payment set by webhooks. |

Enum Properties

_paymentConfirmation Enum Property

Property Definition: An automatic property that is used to check the confirmed status of the payment set by webhooks.

Enum Options

Name Value Index

| pending | "pending" | 0 |

| processing | "processing" | 1 |

| paid | "paid" | 2 |

| canceled | "canceled" | 3 |

Generated UI Components

  • List Component: ProfilePremiumsubscriptionAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfilePremiumsubscriptionAppPageCreateModal - Form for creating new records
  • Update Modal: ProfilePremiumsubscriptionAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfilePremiumsubscriptionAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /premiumsubscription/list - Retrieve paginated list of records
  • Get: GET /premiumsubscription/get - Retrieve single record by ID
  • Create: POST /premiumsubscription/create - Create new record
  • Update: PUT /premiumsubscription/update - Update existing record
  • Delete: DELETE /premiumsubscription/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/premiumsubscription
  • Create Route: /dashboard/profile/premiumsubscription/create
  • Update Route: /dashboard/profile/premiumsubscription/update/:id
  • Delete Route: /dashboard/profile/premiumsubscription/delete/:id

Certification Data Object

Basic Information

  • Object Name: certification
  • Display Name: Certification
  • Component Name: ProfileCertificationAppPage
  • Description: Official certification available for selection in user profile (dictionary only, not user relation).

Object Properties

Property Name Type Required Default Definition

| name | String | | N/A | Unique certification name (e.g. PMP, CFA, AWS Certified). |

Generated UI Components

  • List Component: ProfileCertificationAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfileCertificationAppPageCreateModal - Form for creating new records
  • Update Modal: ProfileCertificationAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfileCertificationAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /certification/list - Retrieve paginated list of records
  • Get: GET /certification/get - Retrieve single record by ID
  • Create: POST /certification/create - Create new record
  • Update: PUT /certification/update - Update existing record
  • Delete: DELETE /certification/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/certification
  • Create Route: /dashboard/profile/certification/create
  • Update Route: /dashboard/profile/certification/update/:id
  • Delete Route: /dashboard/profile/certification/delete/:id

Language Data Object

Basic Information

  • Object Name: language
  • Display Name: Language
  • Component Name: ProfileLanguageAppPage
  • Description: Official language available for selection in user profile (dictionary only, not user relation).

Object Properties

Property Name Type Required Default Definition

| name | String | | N/A | Unique language name (e.g. English, Spanish). |

Generated UI Components

  • List Component: ProfileLanguageAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfileLanguageAppPageCreateModal - Form for creating new records
  • Update Modal: ProfileLanguageAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfileLanguageAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /language/list - Retrieve paginated list of records
  • Get: GET /language/get - Retrieve single record by ID
  • Create: POST /language/create - Create new record
  • Update: PUT /language/update - Update existing record
  • Delete: DELETE /language/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/language
  • Create Route: /dashboard/profile/language/create
  • Update Route: /dashboard/profile/language/update/:id
  • Delete Route: /dashboard/profile/language/delete/:id

Sys_premiumsubscriptionPayment Data Object

Basic Information

  • Object Name: sys_premiumsubscriptionPayment
  • Display Name: Sys_premiumsubscriptionPayment
  • Component Name: ProfileSys_premiumsubscriptionPaymentAppPage
  • Description: A payment storage object to store the payment life cyle of orders based on premiumsubscription object. It is autocreated based on the source object's checkout config

Object Properties

Property Name Type Required Default Definition

| ownerId | ID | | N/A | * An ID value to represent owner user who created the order* |

| orderId | ID | | N/A | an ID value to represent the orderId which is the ID parameter of the source premiumsubscription object |

| paymentId | String | | N/A | A String value to represent the paymentId which is generated on the Stripe gateway. This id may represent different objects due to the payment gateway and the chosen flow type |

| paymentStatus | String | | N/A | A string value to represent the payment status which belongs to the lifecyle of a Stripe payment. |

| statusLiteral | String | | N/A | A string value to represent the logical payment status which belongs to the application lifecycle itself. |

| redirectUrl | String | | N/A | A string value to represent return page of the frontend to show the result of the payment, this is used when the callback is made to server not the client. |

Generated UI Components

  • List Component: ProfileSys_premiumsubscriptionPaymentAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfileSys_premiumsubscriptionPaymentAppPageCreateModal - Form for creating new records
  • Update Modal: ProfileSys_premiumsubscriptionPaymentAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfileSys_premiumsubscriptionPaymentAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /sys_premiumsubscriptionPayment/list - Retrieve paginated list of records
  • Get: GET /sys_premiumsubscriptionPayment/get - Retrieve single record by ID
  • Create: POST /sys_premiumsubscriptionPayment/create - Create new record
  • Update: PUT /sys_premiumsubscriptionPayment/update - Update existing record
  • Delete: DELETE /sys_premiumsubscriptionPayment/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/sys_premiumsubscriptionPayment
  • Create Route: /dashboard/profile/sys_premiumsubscriptionPayment/create
  • Update Route: /dashboard/profile/sys_premiumsubscriptionPayment/update/:id
  • Delete Route: /dashboard/profile/sys_premiumsubscriptionPayment/delete/:id

Sys_paymentCustomer Data Object

Basic Information

  • Object Name: sys_paymentCustomer
  • Display Name: Sys_paymentCustomer
  • Component Name: ProfileSys_paymentCustomerAppPage
  • Description: A payment storage object to store the customer values of the payment platform

Object Properties

Property Name Type Required Default Definition

| userId | ID | | N/A | * An ID value to represent the user who is created as a stripe customer* |

| customerId | String | | N/A | A string value to represent the customer id which is generated on the Stripe gateway. This id is used to represent the customer in the Stripe gateway |

| platform | String | | N/A | A String value to represent payment platform which is used to make the payment. It is stripe as default. It will be used to distinguesh the payment gateways in the future. |

Generated UI Components

  • List Component: ProfileSys_paymentCustomerAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfileSys_paymentCustomerAppPageCreateModal - Form for creating new records
  • Update Modal: ProfileSys_paymentCustomerAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfileSys_paymentCustomerAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /sys_paymentCustomer/list - Retrieve paginated list of records
  • Get: GET /sys_paymentCustomer/get - Retrieve single record by ID
  • Create: POST /sys_paymentCustomer/create - Create new record
  • Update: PUT /sys_paymentCustomer/update - Update existing record
  • Delete: DELETE /sys_paymentCustomer/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/sys_paymentCustomer
  • Create Route: /dashboard/profile/sys_paymentCustomer/create
  • Update Route: /dashboard/profile/sys_paymentCustomer/update/:id
  • Delete Route: /dashboard/profile/sys_paymentCustomer/delete/:id

Sys_paymentMethod Data Object

Basic Information

  • Object Name: sys_paymentMethod
  • Display Name: Sys_paymentMethod
  • Component Name: ProfileSys_paymentMethodAppPage
  • Description: A payment storage object to store the payment methods of the platform customers

Object Properties

Property Name Type Required Default Definition

| paymentMethodId | String | | N/A | A string value to represent the id of the payment method on the payment platform. |

| userId | ID | | N/A | * An ID value to represent the user who owns the payment method* |

| customerId | String | | N/A | A string value to represent the customer id which is generated on the payment gateway. |

| cardHolderName | String | | N/A | A string value to represent the name of the card holder. It can be different than the registered customer. |

| cardHolderZip | String | | N/A | A string value to represent the zip code of the card holder. It is used for address verification in specific countries. |

| platform | String | | N/A | A String value to represent payment platform which teh paymentMethod belongs. It is stripe as default. It will be used to distinguesh the payment gateways in the future. |

| cardInfo | Object | | N/A | A Json value to store the card details of the payment method. |

Generated UI Components

  • List Component: ProfileSys_paymentMethodAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: ProfileSys_paymentMethodAppPageCreateModal - Form for creating new records
  • Update Modal: ProfileSys_paymentMethodAppPageUpdateModal - Form for editing existing records
  • Delete Modal: ProfileSys_paymentMethodAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /sys_paymentMethod/list - Retrieve paginated list of records
  • Get: GET /sys_paymentMethod/get - Retrieve single record by ID
  • Create: POST /sys_paymentMethod/create - Create new record
  • Update: PUT /sys_paymentMethod/update - Update existing record
  • Delete: DELETE /sys_paymentMethod/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/profile/sys_paymentMethod
  • Create Route: /dashboard/profile/sys_paymentMethod/create
  • Update Route: /dashboard/profile/sys_paymentMethod/update/:id
  • Delete Route: /dashboard/profile/sys_paymentMethod/delete/:id

Auth Service Data Objects

Service Overview

  • Service Name: auth
  • Service Display Name: Auth
  • Total Data Objects: 1

Data Objects

User Data Object

Basic Information

  • Object Name: user
  • Display Name: User
  • Component Name: AuthUserAppPage
  • Description: A data object that stores the user information and handles login settings.

Object Properties

Property Name Type Required Default Definition

| email | String | | N/A | * A string value to represent the user's email.* |

| password | String | | N/A | * A string value to represent the user's password. It will be stored as hashed.* |

| fullname | String | | N/A | A string value to represent the fullname of the user |

| avatar | String | | N/A | The avatar url of the user. A random avatar will be generated if not provided |

| roleId | String | | N/A | A string value to represent the roleId of the user. |

| emailVerified | Boolean | | N/A | A boolean value to represent the email verification status of the user. |

Generated UI Components

  • List Component: AuthUserAppPageList - Displays paginated data with filtering and sorting
  • Create Modal: AuthUserAppPageCreateModal - Form for creating new records
  • Update Modal: AuthUserAppPageUpdateModal - Form for editing existing records
  • Delete Modal: AuthUserAppPageDeleteModal - Confirmation dialog for deletion

API Endpoints

  • List: GET /user/list - Retrieve paginated list of records
  • Get: GET /user/get - Retrieve single record by ID
  • Create: POST /user/create - Create new record
  • Update: PUT /user/update - Update existing record
  • Delete: DELETE /user/delete - Delete record by ID

Route Configuration

  • List Route: /dashboard/auth/user
  • Create Route: /dashboard/auth/user/create
  • Update Route: /dashboard/auth/user/update/:id
  • Delete Route: /dashboard/auth/user/delete/:id

CRUD Operations

Create Operations

Create Form Implementation

// Create forms are generated as lazy-loaded modal components
// Basic form fields are rendered based on data object properties

Create API Integration

// Create operations are handled through service-specific API calls
// Basic validation is performed client-side

Read Operations

List View Implementation

// List views are implemented using MUI DataGrid
// Data is fetched through service-specific API calls

Update Operations

Update Form Implementation

// Update forms are generated as lazy-loaded modal components
// Basic form fields are pre-populated with existing data

Update API Integration

// Update operations are handled through service-specific API calls
// Basic validation is performed client-side

Delete Operations

Delete Implementation

// Delete operations are handled through service-specific API calls
// Confirmation dialogs are implemented as modal components

Data Validation

Client-Side Validation

Validation Implementation

// Basic validation is performed on form fields
// Required fields are validated before submission

Server-Side Validation Integration

API Error Handling

// Server validation errors are displayed to users
// Error messages are shown in the UI components

Data Relationships

Relationship Management

Relationship Implementation

// Basic data relationships are handled through form fields
// Related data is displayed in select components

User Experience Patterns

Loading States

Loading Implementation

// Loading states are handled by MUI DataGrid
// Skeleton loading is provided by the data grid component

Error States

Error Handling UI

// Error states are displayed through UI components
// Error messages are shown to users

Empty States

Empty State UI

// Empty states are handled by MUI DataGrid
// Empty content is displayed when no data is available

Performance Optimization

Data Pagination

Pagination Implementation

// Pagination is handled by MUI DataGrid
// Data is loaded in pages as needed