mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
51 lines
1.1 KiB
JavaScript
51 lines
1.1 KiB
JavaScript
const excludeAttributes = [
|
|
];
|
|
|
|
const jsonbSchemas = {
|
|
// Add here
|
|
};
|
|
|
|
// Different exclude sets per role
|
|
const adminExclude = [
|
|
...excludeAttributes,
|
|
// admins can see audit fields, so nothing extra excluded
|
|
];
|
|
|
|
const userExclude = [
|
|
...excludeAttributes,
|
|
// regular users cannot see audit trails
|
|
"created_by", "updated_by", "deleted_by",
|
|
"deleted_at",
|
|
];
|
|
|
|
const computedAttributes = [
|
|
{
|
|
key: "unitCount",
|
|
label: "Units",
|
|
type: "number",
|
|
order: 5,
|
|
literal: `(
|
|
SELECT CAST(COUNT(*) AS INTEGER)
|
|
FROM "units"
|
|
WHERE "units"."course_id" = "Course"."course_id"
|
|
AND "units"."deletedAt" IS NULL
|
|
)`,
|
|
filterable: false,
|
|
},
|
|
{
|
|
key: "lessonCount",
|
|
label: "Lessons",
|
|
type: "number",
|
|
order: 6,
|
|
literal: `(
|
|
SELECT CAST(COUNT(*) AS INTEGER)
|
|
FROM "lessons"
|
|
INNER JOIN "units" ON "lessons"."unit_id" = "units"."unit_id"
|
|
WHERE "units"."course_id" = "Course"."course_id"
|
|
AND "lessons"."deletedAt" IS NULL
|
|
)`,
|
|
filterable: false,
|
|
},
|
|
];
|
|
|
|
module.exports = { excludeAttributes, adminExclude, userExclude, jsonbSchemas, computedAttributes }; |