1
0
mirror of https://github.com/sasjs/server.git synced 2025-12-11 19:44:35 +00:00

feat: add public group to DB on seed

This commit is contained in:
2022-08-02 18:04:00 +05:00
parent 1a3ef62cb2
commit c3e3befc17
2 changed files with 19 additions and 1 deletions

View File

@@ -3,6 +3,8 @@ import { GroupDetailsResponse } from '../controllers'
import User, { IUser } from './User' import User, { IUser } from './User'
const AutoIncrement = require('mongoose-sequence')(mongoose) const AutoIncrement = require('mongoose-sequence')(mongoose)
export const PUBLIC_GROUP_NAME = 'Public'
export interface GroupPayload { export interface GroupPayload {
/** /**
* Name of the group * Name of the group

View File

@@ -1,5 +1,5 @@
import Client from '../model/Client' import Client from '../model/Client'
import Group from '../model/Group' import Group, { PUBLIC_GROUP_NAME } from '../model/Group'
import User from '../model/User' import User from '../model/User'
import Configuration, { ConfigurationType } from '../model/Configuration' import Configuration, { ConfigurationType } from '../model/Configuration'
@@ -31,6 +31,15 @@ export const seedDB = async (): Promise<ConfigurationType> => {
console.log(`DB Seed - Group created: ${GROUP.name}`) console.log(`DB Seed - Group created: ${GROUP.name}`)
} }
// Checking if 'Public' Group is already in the database
const publicGroupExist = await Group.findOne({ name: PUBLIC_GROUP.name })
if (!publicGroupExist) {
const group = new Group(PUBLIC_GROUP)
await group.save()
console.log(`DB Seed - Group created: ${PUBLIC_GROUP.name}`)
}
// Checking if user is already in the database // Checking if user is already in the database
let usernameExist = await User.findOne({ username: ADMIN_USER.username }) let usernameExist = await User.findOne({ username: ADMIN_USER.username })
if (!usernameExist) { if (!usernameExist) {
@@ -68,6 +77,13 @@ const GROUP = {
name: 'AllUsers', name: 'AllUsers',
description: 'Group contains all users' description: 'Group contains all users'
} }
const PUBLIC_GROUP = {
name: PUBLIC_GROUP_NAME,
description:
'It is a special group that bypasses authentication for particular routes.'
}
const CLIENT = { const CLIENT = {
clientId: 'clientID1', clientId: 'clientID1',
clientSecret: 'clientSecret' clientSecret: 'clientSecret'