@objectql/create 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -0
  3. package/dist/bin.js +125 -0
  4. package/package.json +27 -0
  5. package/templates/enterprise/CHANGELOG.md +140 -0
  6. package/templates/enterprise/README.md +352 -0
  7. package/templates/enterprise/__tests__/data-api.test.ts +546 -0
  8. package/templates/enterprise/__tests__/data-api.test.ts.backup +526 -0
  9. package/templates/enterprise/__tests__/metadata-api.test.ts +307 -0
  10. package/templates/enterprise/__tests__/metadata-loading.test.ts +250 -0
  11. package/templates/enterprise/jest.config.js +22 -0
  12. package/templates/enterprise/package.json +51 -0
  13. package/templates/enterprise/src/apps/erp.app.yml +4 -0
  14. package/templates/enterprise/src/core/attachment.object.yml +57 -0
  15. package/templates/enterprise/src/core/i18n/en/core.json +60 -0
  16. package/templates/enterprise/src/core/i18n/zh-CN/core.json +60 -0
  17. package/templates/enterprise/src/core/index.ts +24 -0
  18. package/templates/enterprise/src/core/organization.object.yml +78 -0
  19. package/templates/enterprise/src/core/user.object.yml +80 -0
  20. package/templates/enterprise/src/extensions/README.md +56 -0
  21. package/templates/enterprise/src/extensions/user.extension.object.yml +42 -0
  22. package/templates/enterprise/src/extensions/user.ts +26 -0
  23. package/templates/enterprise/src/index.ts +47 -0
  24. package/templates/enterprise/src/modules/crm/README.md +99 -0
  25. package/templates/enterprise/src/modules/crm/crm_account.object.yml +105 -0
  26. package/templates/enterprise/src/modules/crm/crm_contact.object.yml +103 -0
  27. package/templates/enterprise/src/modules/crm/crm_lead.object.yml +148 -0
  28. package/templates/enterprise/src/modules/crm/crm_opportunity.object.yml +128 -0
  29. package/templates/enterprise/src/modules/crm/i18n/en/crm.json +61 -0
  30. package/templates/enterprise/src/modules/crm/i18n/zh-CN/crm.json +61 -0
  31. package/templates/enterprise/src/modules/crm/index.ts +29 -0
  32. package/templates/enterprise/src/modules/finance/README.md +112 -0
  33. package/templates/enterprise/src/modules/finance/finance_budget.object.yml +108 -0
  34. package/templates/enterprise/src/modules/finance/finance_expense.object.yml +151 -0
  35. package/templates/enterprise/src/modules/finance/finance_invoice.object.yml +143 -0
  36. package/templates/enterprise/src/modules/finance/finance_payment.object.yml +96 -0
  37. package/templates/enterprise/src/modules/finance/index.ts +26 -0
  38. package/templates/enterprise/src/modules/hr/README.md +95 -0
  39. package/templates/enterprise/src/modules/hr/hr_department.object.yml +59 -0
  40. package/templates/enterprise/src/modules/hr/hr_employee.object.yml +137 -0
  41. package/templates/enterprise/src/modules/hr/hr_position.object.yml +79 -0
  42. package/templates/enterprise/src/modules/hr/hr_timesheet.object.yml +114 -0
  43. package/templates/enterprise/src/modules/hr/index.ts +26 -0
  44. package/templates/enterprise/src/modules/project/README.md +132 -0
  45. package/templates/enterprise/src/modules/project/index.ts +26 -0
  46. package/templates/enterprise/src/modules/project/project_milestone.object.yml +70 -0
  47. package/templates/enterprise/src/modules/project/project_project.object.yml +135 -0
  48. package/templates/enterprise/src/modules/project/project_task.object.yml +121 -0
  49. package/templates/enterprise/src/modules/project/project_timesheet_entry.object.yml +95 -0
  50. package/templates/enterprise/src/plugins/audit/audit.plugin.ts +23 -0
  51. package/templates/enterprise/src/plugins/audit/index.ts +6 -0
  52. package/templates/enterprise/src/plugins/audit/note.object.yml +3 -0
  53. package/templates/enterprise/src/shared/constants.ts +30 -0
  54. package/templates/enterprise/src/shared/utils.ts +54 -0
  55. package/templates/enterprise/src/shared/validators.ts +47 -0
  56. package/templates/enterprise/src/types/attachment.ts +41 -0
  57. package/templates/enterprise/src/types/crm_account.ts +61 -0
  58. package/templates/enterprise/src/types/crm_contact.ts +61 -0
  59. package/templates/enterprise/src/types/crm_lead.ts +77 -0
  60. package/templates/enterprise/src/types/crm_opportunity.ts +53 -0
  61. package/templates/enterprise/src/types/finance_budget.ts +61 -0
  62. package/templates/enterprise/src/types/finance_expense.ts +65 -0
  63. package/templates/enterprise/src/types/finance_invoice.ts +69 -0
  64. package/templates/enterprise/src/types/finance_payment.ts +49 -0
  65. package/templates/enterprise/src/types/hr_department.ts +37 -0
  66. package/templates/enterprise/src/types/hr_employee.ts +85 -0
  67. package/templates/enterprise/src/types/hr_position.ts +49 -0
  68. package/templates/enterprise/src/types/hr_timesheet.ts +57 -0
  69. package/templates/enterprise/src/types/index.ts +20 -0
  70. package/templates/enterprise/src/types/note.ts +9 -0
  71. package/templates/enterprise/src/types/organization.ts +53 -0
  72. package/templates/enterprise/src/types/project_milestone.ts +41 -0
  73. package/templates/enterprise/src/types/project_project.ts +69 -0
  74. package/templates/enterprise/src/types/project_task.ts +57 -0
  75. package/templates/enterprise/src/types/project_timesheet_entry.ts +45 -0
  76. package/templates/enterprise/src/types/user.ts +65 -0
  77. package/templates/enterprise/tsconfig.json +10 -0
  78. package/templates/enterprise/tsconfig.tsbuildinfo +1 -0
  79. package/templates/hello-world/CHANGELOG.md +33 -0
  80. package/templates/hello-world/README.md +29 -0
  81. package/templates/hello-world/package.json +24 -0
  82. package/templates/hello-world/src/index.ts +58 -0
  83. package/templates/hello-world/tsconfig.json +10 -0
  84. package/templates/starter/CHANGELOG.md +191 -0
  85. package/templates/starter/README.md +17 -0
  86. package/templates/starter/__tests__/projects-hooks-actions.test.ts +490 -0
  87. package/templates/starter/jest.config.js +22 -0
  88. package/templates/starter/package.json +51 -0
  89. package/templates/starter/src/README.pages.md +110 -0
  90. package/templates/starter/src/demo.app.yml +4 -0
  91. package/templates/starter/src/i18n/zh-CN/projects.json +22 -0
  92. package/templates/starter/src/index.ts +55 -0
  93. package/templates/starter/src/modules/kitchen-sink/kitchen_sink.data.yml +18 -0
  94. package/templates/starter/src/modules/kitchen-sink/kitchen_sink.object.yml +156 -0
  95. package/templates/starter/src/modules/projects/project_approval.workflow.yml +51 -0
  96. package/templates/starter/src/modules/projects/projects.action.ts +472 -0
  97. package/templates/starter/src/modules/projects/projects.data.yml +13 -0
  98. package/templates/starter/src/modules/projects/projects.hook.ts +339 -0
  99. package/templates/starter/src/modules/projects/projects.object.yml +148 -0
  100. package/templates/starter/src/modules/projects/projects.permission.yml +141 -0
  101. package/templates/starter/src/modules/projects/projects.validation.yml +37 -0
  102. package/templates/starter/src/modules/tasks/tasks.data.yml +23 -0
  103. package/templates/starter/src/modules/tasks/tasks.object.yml +34 -0
  104. package/templates/starter/src/modules/tasks/tasks.permission.yml +167 -0
  105. package/templates/starter/src/types/index.ts +3 -0
  106. package/templates/starter/src/types/kitchen_sink.ts +101 -0
  107. package/templates/starter/src/types/projects.ts +49 -0
  108. package/templates/starter/src/types/tasks.ts +33 -0
  109. package/templates/starter/tsconfig.json +11 -0
  110. package/templates/starter/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,61 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface FinanceBudget extends ObjectDoc {
5
+ /**
6
+ * Budget Name
7
+ */
8
+ name: string;
9
+ /**
10
+ * Fiscal Year
11
+ */
12
+ fiscal_year: number;
13
+ /**
14
+ * Period
15
+ */
16
+ period?: string;
17
+ /**
18
+ * Department
19
+ */
20
+ department?: string | number;
21
+ /**
22
+ * Project
23
+ */
24
+ project?: string | number;
25
+ /**
26
+ * Category
27
+ */
28
+ category?: string;
29
+ /**
30
+ * Allocated Amount
31
+ */
32
+ allocated_amount: number;
33
+ /**
34
+ * Spent Amount
35
+ */
36
+ spent_amount?: number;
37
+ /**
38
+ * Remaining Amount
39
+ */
40
+ remaining_amount?: number;
41
+ /**
42
+ * Start Date
43
+ */
44
+ start_date: Date | string;
45
+ /**
46
+ * End Date
47
+ */
48
+ end_date: Date | string;
49
+ /**
50
+ * Status
51
+ */
52
+ status?: string;
53
+ /**
54
+ * Budget Owner
55
+ */
56
+ owner?: string | number;
57
+ /**
58
+ * Notes
59
+ */
60
+ notes?: string;
61
+ }
@@ -0,0 +1,65 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface FinanceExpense extends ObjectDoc {
5
+ /**
6
+ * Expense Number
7
+ */
8
+ expense_number: string;
9
+ /**
10
+ * Employee
11
+ */
12
+ employee: string | number;
13
+ /**
14
+ * Expense Date
15
+ */
16
+ expense_date: Date | string;
17
+ /**
18
+ * Category
19
+ */
20
+ category: string;
21
+ /**
22
+ * Amount
23
+ */
24
+ amount: number;
25
+ /**
26
+ * Currency
27
+ */
28
+ currency?: string;
29
+ /**
30
+ * Merchant/Vendor
31
+ */
32
+ merchant?: string;
33
+ /**
34
+ * Description
35
+ */
36
+ description: string;
37
+ /**
38
+ * Receipt Attachment
39
+ */
40
+ receipt_url?: any;
41
+ /**
42
+ * Status
43
+ */
44
+ status: string;
45
+ /**
46
+ * Approved By
47
+ */
48
+ approved_by?: string | number;
49
+ /**
50
+ * Approval Time
51
+ */
52
+ approved_at?: Date | string;
53
+ /**
54
+ * Reimbursement Date
55
+ */
56
+ reimbursed_at?: Date | string;
57
+ /**
58
+ * Department
59
+ */
60
+ department?: string | number;
61
+ /**
62
+ * Related Project
63
+ */
64
+ project?: string | number;
65
+ }
@@ -0,0 +1,69 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface FinanceInvoice extends ObjectDoc {
5
+ /**
6
+ * Invoice Number
7
+ */
8
+ invoice_number: string;
9
+ /**
10
+ * Customer Account
11
+ */
12
+ account: string | number;
13
+ /**
14
+ * Invoice Date
15
+ */
16
+ invoice_date: Date | string;
17
+ /**
18
+ * Due Date
19
+ */
20
+ due_date: Date | string;
21
+ /**
22
+ * Subtotal
23
+ */
24
+ subtotal: number;
25
+ /**
26
+ * Tax Amount
27
+ */
28
+ tax_amount?: number;
29
+ /**
30
+ * Discount Amount
31
+ */
32
+ discount_amount?: number;
33
+ /**
34
+ * Total Amount
35
+ */
36
+ total_amount: number;
37
+ /**
38
+ * Paid Amount
39
+ */
40
+ paid_amount?: number;
41
+ /**
42
+ * Balance Due
43
+ */
44
+ balance?: number;
45
+ /**
46
+ * Status
47
+ */
48
+ status: string;
49
+ /**
50
+ * Payment Terms
51
+ */
52
+ payment_terms?: string;
53
+ /**
54
+ * Currency
55
+ */
56
+ currency?: string;
57
+ /**
58
+ * Billing Address
59
+ */
60
+ billing_address?: string;
61
+ /**
62
+ * Notes
63
+ */
64
+ notes?: string;
65
+ /**
66
+ * Internal Notes
67
+ */
68
+ internal_notes?: string;
69
+ }
@@ -0,0 +1,49 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface FinancePayment extends ObjectDoc {
5
+ /**
6
+ * Payment Number
7
+ */
8
+ payment_number: string;
9
+ /**
10
+ * Related Invoice
11
+ */
12
+ invoice?: string | number;
13
+ /**
14
+ * Customer Account
15
+ */
16
+ account: string | number;
17
+ /**
18
+ * Payment Date
19
+ */
20
+ payment_date: Date | string;
21
+ /**
22
+ * Payment Amount
23
+ */
24
+ amount: number;
25
+ /**
26
+ * Payment Method
27
+ */
28
+ payment_method: string;
29
+ /**
30
+ * Currency
31
+ */
32
+ currency?: string;
33
+ /**
34
+ * Reference/Transaction Number
35
+ */
36
+ reference_number?: string;
37
+ /**
38
+ * Status
39
+ */
40
+ status: string;
41
+ /**
42
+ * Processed By
43
+ */
44
+ processed_by?: string | number;
45
+ /**
46
+ * Notes
47
+ */
48
+ notes?: string;
49
+ }
@@ -0,0 +1,37 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface HrDepartment extends ObjectDoc {
5
+ /**
6
+ * Department Name
7
+ */
8
+ name: string;
9
+ /**
10
+ * Department Code
11
+ */
12
+ code: string;
13
+ /**
14
+ * Parent Department
15
+ */
16
+ parent_department?: string | number;
17
+ /**
18
+ * Department Manager
19
+ */
20
+ manager?: string | number;
21
+ /**
22
+ * Cost Center Code
23
+ */
24
+ cost_center?: string;
25
+ /**
26
+ * Primary Location
27
+ */
28
+ location?: string;
29
+ /**
30
+ * Description
31
+ */
32
+ description?: string;
33
+ /**
34
+ * Status
35
+ */
36
+ status?: string;
37
+ }
@@ -0,0 +1,85 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface HrEmployee extends ObjectDoc {
5
+ /**
6
+ * Employee Number
7
+ */
8
+ employee_number: string;
9
+ /**
10
+ * System User Account
11
+ */
12
+ user?: string | number;
13
+ /**
14
+ * First Name
15
+ */
16
+ first_name: string;
17
+ /**
18
+ * Last Name
19
+ */
20
+ last_name: string;
21
+ /**
22
+ * Full Name
23
+ */
24
+ full_name?: any;
25
+ /**
26
+ * Work Email
27
+ */
28
+ email: string;
29
+ /**
30
+ * Work Phone
31
+ */
32
+ phone?: string;
33
+ /**
34
+ * Mobile Phone
35
+ */
36
+ mobile?: string;
37
+ /**
38
+ * Department
39
+ */
40
+ department: string | number;
41
+ /**
42
+ * Position
43
+ */
44
+ position: string | number;
45
+ /**
46
+ * Direct Manager
47
+ */
48
+ manager?: string | number;
49
+ /**
50
+ * Hire Date
51
+ */
52
+ hire_date: Date | string;
53
+ /**
54
+ * Termination Date
55
+ */
56
+ termination_date?: Date | string;
57
+ /**
58
+ * Employment Type
59
+ */
60
+ employment_type?: string;
61
+ /**
62
+ * Status
63
+ */
64
+ status: string;
65
+ /**
66
+ * Base Salary
67
+ */
68
+ salary?: number;
69
+ /**
70
+ * Office Location
71
+ */
72
+ location?: string;
73
+ /**
74
+ * Emergency Contact Name
75
+ */
76
+ emergency_contact_name?: string;
77
+ /**
78
+ * Emergency Contact Phone
79
+ */
80
+ emergency_contact_phone?: string;
81
+ /**
82
+ * Notes
83
+ */
84
+ notes?: string;
85
+ }
@@ -0,0 +1,49 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface HrPosition extends ObjectDoc {
5
+ /**
6
+ * Position Title
7
+ */
8
+ title: string;
9
+ /**
10
+ * Position Code
11
+ */
12
+ code: string;
13
+ /**
14
+ * Position Level
15
+ */
16
+ level?: string;
17
+ /**
18
+ * Department
19
+ */
20
+ department?: string | number;
21
+ /**
22
+ * Reports To Position
23
+ */
24
+ reports_to?: string | number;
25
+ /**
26
+ * Minimum Salary
27
+ */
28
+ min_salary?: number;
29
+ /**
30
+ * Maximum Salary
31
+ */
32
+ max_salary?: number;
33
+ /**
34
+ * Job Description
35
+ */
36
+ description?: string;
37
+ /**
38
+ * Requirements & Qualifications
39
+ */
40
+ requirements?: string;
41
+ /**
42
+ * Key Responsibilities
43
+ */
44
+ responsibilities?: string;
45
+ /**
46
+ * Status
47
+ */
48
+ status?: string;
49
+ }
@@ -0,0 +1,57 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface HrTimesheet extends ObjectDoc {
5
+ /**
6
+ * Employee
7
+ */
8
+ employee: string | number;
9
+ /**
10
+ * Work Date
11
+ */
12
+ work_date: Date | string;
13
+ /**
14
+ * Clock In Time
15
+ */
16
+ clock_in?: Date | string;
17
+ /**
18
+ * Clock Out Time
19
+ */
20
+ clock_out?: Date | string;
21
+ /**
22
+ * Total Hours
23
+ */
24
+ total_hours?: number;
25
+ /**
26
+ * Regular Hours
27
+ */
28
+ regular_hours?: number;
29
+ /**
30
+ * Overtime Hours
31
+ */
32
+ overtime_hours?: number;
33
+ /**
34
+ * Break Hours
35
+ */
36
+ break_hours?: number;
37
+ /**
38
+ * Work Type
39
+ */
40
+ work_type?: string;
41
+ /**
42
+ * Status
43
+ */
44
+ status: string;
45
+ /**
46
+ * Approved By
47
+ */
48
+ approved_by?: string | number;
49
+ /**
50
+ * Approval Time
51
+ */
52
+ approved_at?: Date | string;
53
+ /**
54
+ * Notes
55
+ */
56
+ notes?: string;
57
+ }
@@ -0,0 +1,20 @@
1
+ export * from './attachment';
2
+ export * from './organization';
3
+ export * from './user';
4
+ export * from './crm_account';
5
+ export * from './crm_contact';
6
+ export * from './crm_lead';
7
+ export * from './crm_opportunity';
8
+ export * from './finance_budget';
9
+ export * from './finance_expense';
10
+ export * from './finance_invoice';
11
+ export * from './finance_payment';
12
+ export * from './hr_department';
13
+ export * from './hr_employee';
14
+ export * from './hr_position';
15
+ export * from './hr_timesheet';
16
+ export * from './project_milestone';
17
+ export * from './project_project';
18
+ export * from './project_task';
19
+ export * from './project_timesheet_entry';
20
+ export * from './note';
@@ -0,0 +1,9 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface Note extends ObjectDoc {
5
+ /**
6
+ * Content
7
+ */
8
+ content?: string;
9
+ }
@@ -0,0 +1,53 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface Organization extends ObjectDoc {
5
+ /**
6
+ * Organization Name
7
+ */
8
+ name: string;
9
+ /**
10
+ * Organization Code
11
+ */
12
+ code?: string;
13
+ /**
14
+ * Type
15
+ */
16
+ type?: string;
17
+ /**
18
+ * Parent Organization
19
+ */
20
+ parent?: string | number;
21
+ /**
22
+ * Manager
23
+ */
24
+ manager?: string | number;
25
+ /**
26
+ * Description
27
+ */
28
+ description?: string;
29
+ /**
30
+ * Organization Logo
31
+ */
32
+ logo?: any;
33
+ /**
34
+ * Address
35
+ */
36
+ address?: string;
37
+ /**
38
+ * Website
39
+ */
40
+ website?: string;
41
+ /**
42
+ * Phone Number
43
+ */
44
+ phone?: string;
45
+ /**
46
+ * Contact Email
47
+ */
48
+ email?: string;
49
+ /**
50
+ * Status
51
+ */
52
+ status?: string;
53
+ }
@@ -0,0 +1,41 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface ProjectMilestone extends ObjectDoc {
5
+ /**
6
+ * Milestone Name
7
+ */
8
+ name: string;
9
+ /**
10
+ * Project
11
+ */
12
+ project: string | number;
13
+ /**
14
+ * Description
15
+ */
16
+ description?: string;
17
+ /**
18
+ * Target Date
19
+ */
20
+ due_date: Date | string;
21
+ /**
22
+ * Completion Date
23
+ */
24
+ completed_date?: Date | string;
25
+ /**
26
+ * Status
27
+ */
28
+ status: string;
29
+ /**
30
+ * Milestone Owner
31
+ */
32
+ owner?: string | number;
33
+ /**
34
+ * Deliverables
35
+ */
36
+ deliverables?: string;
37
+ /**
38
+ * Success Criteria
39
+ */
40
+ success_criteria?: string;
41
+ }
@@ -0,0 +1,69 @@
1
+ // Auto-generated by ObjectQL. DO NOT EDIT.
2
+ import { ObjectDoc } from '@objectql/types';
3
+
4
+ export interface ProjectProject extends ObjectDoc {
5
+ /**
6
+ * Project Name
7
+ */
8
+ name: string;
9
+ /**
10
+ * Project Code
11
+ */
12
+ code: string;
13
+ /**
14
+ * Description
15
+ */
16
+ description?: string;
17
+ /**
18
+ * Status
19
+ */
20
+ status: string;
21
+ /**
22
+ * Priority
23
+ */
24
+ priority?: string;
25
+ /**
26
+ * Type
27
+ */
28
+ type?: string;
29
+ /**
30
+ * Customer Account
31
+ */
32
+ account?: string | number;
33
+ /**
34
+ * Project Manager
35
+ */
36
+ owner: string | number;
37
+ /**
38
+ * Department
39
+ */
40
+ department?: string | number;
41
+ /**
42
+ * Start Date
43
+ */
44
+ start_date: Date | string;
45
+ /**
46
+ * Target End Date
47
+ */
48
+ end_date?: Date | string;
49
+ /**
50
+ * Actual End Date
51
+ */
52
+ actual_end_date?: Date | string;
53
+ /**
54
+ * Project Budget
55
+ */
56
+ budget?: number;
57
+ /**
58
+ * Estimated Hours
59
+ */
60
+ estimated_hours?: number;
61
+ /**
62
+ * Actual Hours
63
+ */
64
+ actual_hours?: number;
65
+ /**
66
+ * Completion %
67
+ */
68
+ completion_percentage?: number;
69
+ }