mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-27 15:00:36 +03:00
Chore/WorkspaceID Check (#5228)
* feat: Require workspace ID for API key operations - Added validation to ensure `activeWorkspaceId` is present in user requests for all API key operations (get, create, update, import, delete). - Updated `getWorkspaceSearchOptions` and `getWorkspaceSearchOptionsFromReq` to throw an error if `workspaceId` is not provided. - Modified service methods to enforce `workspaceId` as a required parameter for database operations related to API keys. * feat: Enforce workspace ID as a required field across multiple interfaces and services - Updated various interfaces to make `workspaceId` a mandatory field instead of optional. - Enhanced assistant and export-import service methods to require `workspaceId` for operations, ensuring proper validation and error handling. - Modified database entity definitions to reflect the change in `workspaceId` from optional to required. - Improved error handling in controllers to check for `activeWorkspaceId` before proceeding with requests. * Require workspace ID in various controllers and services - Updated controllers for credentials, datasets, document stores, evaluations, evaluators, and variables to enforce the presence of `workspaceId`. - Enhanced error handling to throw appropriate errors when `workspaceId` is not provided. - Modified service methods to accept `workspaceId` as a mandatory parameter for operations, ensuring consistent validation across the application. * Update EvaluatorRunner and index to require workspaceId for evaluator retrieval - Modified the runAdditionalEvaluators function to accept workspaceId as a parameter. * lint fixes * Enhancement/Integrate workspaceId in chatflow and flow-config services - Updated chatflow and flow-config controllers to require workspaceId for fetching chatflows. - Modified service methods to accept workspaceId as a parameter, ensuring proper context for chatflow retrieval. * lint fix * get rid of redundant isApiKeyValidated * refactor: update permission checks for chatflows and agentflows routes - Enhanced permission checks in chatflows routes to include agentflows permissions for create, read, update, and delete operations. - Updated navigation paths in authentication views to redirect to the home page instead of chatflows after successful login or registration. * fix(DefaultRedirect.jsx): add redirect unauthenticated users to login * fix(RequireAuth.jsx): check permissions for routes without display property * fix(DefaultRedirect.jsx): WorkspaceSwitcher api spam * fix(routes/chatflows/index.ts): use checkAnyPermission for chatflow/has-changed/:id/:lastUpdatedDateTime * fix(routes/chatflows/index.ts): use checkAnyPermission for delete request chatflow/:id * fix(controllers/text-to-speech/index.ts): add workspace ID validation in generateTextToSpeech * fix(controllers/internal-predictions/index.ts): add chatflow retrieval and validation using workspaceId * feat(services\credentials\index.ts): add filter by workspaceId for getCredentialById * chore(routes/chat-messages/index.ts): unused chat-messages route * feat(services/chatflows/index.ts): add filter by workspaceId for deleteChatflow * feat(services/marketplaces/index.ts): add filter by workspaceId for deleteCustomTemplate * feat(tools): add filter by workspaceId for read, update, and delete --------- Co-authored-by: Vinod Paidimarry <vinodkiran@outlook.in> Co-authored-by: Yau <33013947+chungyau97@users.noreply.github.com> Co-authored-by: chungyau97 <chungyau97@gmail.com>
This commit is contained in:
@@ -19,6 +19,6 @@ export class ApiKey implements IApiKey {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -27,6 +27,6 @@ export class Assistant implements IAssistant {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -61,6 +61,6 @@ export class ChatFlow implements IChatFlow {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -24,6 +24,6 @@ export class Credential implements ICredential {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ export class CustomTemplate implements ICustomTemplate {
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
type?: string
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
|
||||
@Column({ type: 'timestamp' })
|
||||
|
||||
@@ -19,6 +19,6 @@ export class Dataset implements IDataset {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -38,6 +38,6 @@ export class DocumentStore implements IDocumentStore {
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
recordManagerConfig: string | null
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -36,6 +36,6 @@ export class Evaluation implements IEvaluation {
|
||||
@UpdateDateColumn()
|
||||
runDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -23,6 +23,6 @@ export class Evaluator implements IEvaluator {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -42,6 +42,6 @@ export class Execution implements IExecution {
|
||||
@JoinColumn({ name: 'agentflowId' })
|
||||
agentflow: ChatFlow
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -33,6 +33,6 @@ export class Tool implements ITool {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
@@ -24,6 +24,6 @@ export class Variable implements IVariable {
|
||||
@UpdateDateColumn()
|
||||
updatedDate: Date
|
||||
|
||||
@Column({ nullable: true, type: 'text' })
|
||||
workspaceId?: string
|
||||
@Column({ nullable: false, type: 'text' })
|
||||
workspaceId: string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user