(ctx context.Context)
| 1191 | } |
| 1192 | |
| 1193 | func (s *InstanceService) instanceCountGuard(ctx context.Context) error { |
| 1194 | workspaceID := common.GetWorkspaceIDFromContext(ctx) |
| 1195 | instanceLimit := s.licenseService.GetInstanceLimit(ctx, workspaceID) |
| 1196 | |
| 1197 | count, err := s.store.CountActiveInstances(ctx, workspaceID) |
| 1198 | if err != nil { |
| 1199 | return connect.NewError(connect.CodeInternal, err) |
| 1200 | } |
| 1201 | if count >= instanceLimit { |
| 1202 | return connect.NewError(connect.CodeResourceExhausted, errors.Errorf("reached the maximum instance count %d", instanceLimit)) |
| 1203 | } |
| 1204 | |
| 1205 | return nil |
| 1206 | } |
| 1207 | |
| 1208 | // validateExtraConnectionParameters validates extra connection parameters for security risks. |
| 1209 | func validateExtraConnectionParameters(engine storepb.Engine, params map[string]string) error { |
no test coverage detected