@shagital/adonisjs-acl
Version:
Role & Permission support for Adonisjs
41 lines (40 loc) • 2.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
async function instructions(projectRoot) {
const packageBasePath = path_1.default.resolve(`${__dirname}/src`);
// 1. Copy config
fs_1.default.copyFileSync(`${packageBasePath}/config/rolePermission.txt`, `${projectRoot}/config/rolePermission.ts`);
// 2. Copy middlewares
const middlewarePath = `${projectRoot}/app/Middleware`;
if (!fs_1.default.existsSync(middlewarePath)) {
fs_1.default.mkdirSync(middlewarePath, { recursive: true });
}
fs_1.default.copyFileSync(`${packageBasePath}/middlewares/Can.txt`, `${middlewarePath}/Can.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/middlewares/Is.txt`, `${middlewarePath}/Is.ts`);
// 3. Copy models
const modelPath = `${projectRoot}/app/Models`;
if (!fs_1.default.existsSync(modelPath)) {
fs_1.default.mkdirSync(modelPath, { recursive: true });
}
fs_1.default.copyFileSync(`${packageBasePath}/models/Permission.txt`, `${modelPath}/Permission.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/models/Role.txt`, `${modelPath}/Role.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/models/RolePermission.txt`, `${modelPath}/RolePermission.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/models/UserPermission.txt`, `${modelPath}/UserPermission.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/models/UserRole.txt`, `${modelPath}/UserRole.ts`);
// 4. Copy migrations
const migrationPath = `${projectRoot}/database/migrations`;
if (!fs_1.default.existsSync(migrationPath)) {
fs_1.default.mkdirSync(migrationPath, { recursive: true });
}
fs_1.default.copyFileSync(`${packageBasePath}/migrations/acl_1_roles.txt`, `${migrationPath}/acl_1_roles.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/migrations/acl_2_permissions.txt`, `${migrationPath}/acl_2_permissions.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/migrations/acl_3_role_permissions.txt`, `${migrationPath}/acl_3_role_permissions.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/migrations/acl_4_user_permissions.txt`, `${migrationPath}/acl_4_user_permissions.ts`);
fs_1.default.copyFileSync(`${packageBasePath}/migrations/acl_5_user_roles.txt`, `${migrationPath}/acl_5_user_roles.ts`);
}
exports.default = instructions;