Skip to content

Commit

Permalink
feat(grpc-sdk,commons,security,modules): schema permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
kon14 committed Dec 22, 2021
1 parent b08d463 commit c307991
Show file tree
Hide file tree
Showing 31 changed files with 243 additions and 113 deletions.
6 changes: 6 additions & 0 deletions libraries/grpc-sdk/src/interfaces/Model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ export interface ConduitModel {
export interface ConduitModelOptions {
timestamps?: boolean;
_id?: boolean;
permissions?: {
extendable: boolean,
canCreate: boolean,
canModify: 'Everything' | 'Nothing' | 'ExtensionOnly',
canDelete: boolean,
},
conduit?: {
[field: string]: any,
};
Expand Down
12 changes: 8 additions & 4 deletions modules/actor/src/models/ActorFlow.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const schema = {
type: TYPE.String,
required: true,
unique: true,
systemRequired: true,
},
trigger: {
type: {
Expand All @@ -20,7 +19,6 @@ const schema = {
options: TYPE.JSON,
},
required: true,
systemRequired: true,
},
actors: {
type: [
Expand All @@ -32,7 +30,6 @@ const schema = {
},
],
required: true,
systemRequired: true,
},
enabled: {
type: TYPE.Boolean,
Expand All @@ -43,7 +40,14 @@ const schema = {
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
11 changes: 8 additions & 3 deletions modules/actor/src/models/ActorRun.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@ const schema = {
type: TYPE.Relation,
model: 'ActorFlow',
required: true,
systemRequired: true,
},
data: {
type: TYPE.JSON,
required: false,
systemRequired: true,
},
status: {
type: TYPE.String,
Expand All @@ -26,7 +24,14 @@ const schema = {
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
13 changes: 8 additions & 5 deletions modules/authentication/src/models/AccessToken.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,30 @@ const schema = {
userId: {
type: TYPE.Relation,
model: 'User',
systemRequired: true,
},
clientId: {
type: TYPE.String,
required: true,
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
expiresOn: {
type: TYPE.Date,
systemRequired: true,
},
createdAt: TYPE.Date,
updatedAt: TYPE.Date,
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
17 changes: 10 additions & 7 deletions modules/authentication/src/models/RefreshToken.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,34 @@ const schema = {
userId: {
type: TYPE.Relation,
model: 'User',
systemRequired: true,
},
clientId: {
type: TYPE.String,
required: true,
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
expiresOn: {
type: TYPE.Date,
systemRequired: true,
},
securityDetails: {
macAddress: { type: TYPE.String, systemRequired: true },
userAgent: { type: TYPE.String, systemRequired: true },
macAddress: { type: TYPE.String },
userAgent: { type: TYPE.String },
},
createdAt: TYPE.Date,
updatedAt: TYPE.Date,
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
12 changes: 8 additions & 4 deletions modules/authentication/src/models/Service.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,27 @@ const schema = {
type: TYPE.String,
unique: true,
required: true,
systemRequired: true,
},
hashedToken: {
type: TYPE.String,
systemRequired: true,
},
active: {
type: TYPE.Boolean,
default: true,
systemRequired: true,
},
createdAt: TYPE.Date,
updatedAt: TYPE.Date,
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;
export class Service extends ConduitActiveSchema<Service> {
Expand Down
13 changes: 8 additions & 5 deletions modules/authentication/src/models/Token.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,30 @@ const schema = {
_id: TYPE.ObjectId,
type: {
type: TYPE.String,
systemRequired: true,
},
userId: {
type: TYPE.Relation,
model: 'User',
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
data: {
type: TYPE.JSON,
systemRequired: true,
},
createdAt: TYPE.Date,
updatedAt: TYPE.Date,
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
36 changes: 12 additions & 24 deletions modules/authentication/src/models/User.schema.ts
Original file line number Diff line number Diff line change
@@ -1,107 +1,95 @@
import {
ConduitActiveSchema,
ConduitModel,
ConduitModelOptions,
DatabaseProvider,
TYPE,
} from '@quintessential-sft/conduit-grpc-sdk';

const schemaOptions = {
timestamps: true,
systemRequired: true,
};
const collectionName = undefined;
const schema = {
_id: TYPE.ObjectId,
// do not add unique again, since this will fail due to emails being null
email: {
type: TYPE.String,
required: false,
systemRequired: true,
},
hashedPassword: {
type: TYPE.String,
select: false,
systemRequired: true,
},
google: {
id: {
type: TYPE.String,
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
tokenExpires: {
type: TYPE.Date,
systemRequired: true,
},
},
facebook: {
id: {
type: TYPE.String,
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
// tokenExpires: {
// type: TYPE.String,
// systemRequired: true,
// },
},
kakao: {
id: {
type: TYPE.String,
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
tokenExpires: {
type: TYPE.String,
systemRequired: true,
},
profile_image_url: TYPE.String,
thumbnail_image_url: TYPE.String,
},
twitch: {
id: {
type: TYPE.String,
systemRequired: true,
},
token: {
type: TYPE.String,
systemRequired: true,
},
tokenExpires: {
type: TYPE.String,
systemRequired: true,
},
profile_image_url: TYPE.String,
},
active: {
type: TYPE.Boolean,
default: true,
systemRequired: true,
},
isVerified: {
type: TYPE.Boolean,
default: false,
systemRequired: true,
},
hasTwoFA: {
type: TYPE.Boolean,
default: false,
systemRequired: true,
},
phoneNumber: TYPE.String,
createdAt: TYPE.Date,
updatedAt: TYPE.Date,
};
const schemaOptions = {
timestamps: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

export class User extends ConduitActiveSchema<User> {
private static _instance: User;
Expand Down
9 changes: 8 additions & 1 deletion modules/chat/src/models/ChatRoom.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,14 @@ const schema = {
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
9 changes: 8 additions & 1 deletion modules/chat/src/models/Message.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,14 @@ const schema = {
};
const schemaOptions = {
timestamps: true,
systemRequired: true,
conduit: {
permissions: {
extendable: true,
canCreate: true,
canModify: 'Everything',
canDelete: true,
},
},
};
const collectionName = undefined;

Expand Down
Loading

0 comments on commit c307991

Please sign in to comment.