feat(backend): Added skeleton for a database learning object/path provider.
This commit is contained in:
parent
cc6947dd3c
commit
2d9f17484c
5 changed files with 103 additions and 6 deletions
|
@ -0,0 +1,42 @@
|
|||
import {LearningObjectProvider} from "./learning-object-provider";
|
||||
import {
|
||||
FilteredLearningObject,
|
||||
LearningObjectIdentifier,
|
||||
LearningPathIdentifier
|
||||
} from "../../interfaces/learning-content";
|
||||
|
||||
/**
|
||||
* Service providing access to data about learning objects from the database
|
||||
*/
|
||||
const databaseLearningObjectProvider: LearningObjectProvider = {
|
||||
/**
|
||||
* Fetches a single learning object by its HRUID
|
||||
*/
|
||||
getLearningObjectById(id: LearningObjectIdentifier): Promise<FilteredLearningObject | null> {
|
||||
return Promise.resolve(null); // TODO
|
||||
},
|
||||
|
||||
/**
|
||||
* Fetch full learning object data (metadata)
|
||||
*/
|
||||
getLearningObjectHTML(id: LearningObjectIdentifier): Promise<string | null> {
|
||||
return Promise.resolve(null); // TODO
|
||||
},
|
||||
|
||||
/**
|
||||
* Fetch only learning object HRUIDs
|
||||
*/
|
||||
getLearningObjectIdsFromPath(id: LearningPathIdentifier): Promise<string[]> {
|
||||
return Promise.resolve([]);// TODO
|
||||
},
|
||||
|
||||
/**
|
||||
* Obtain a HTML-rendering of the learning object with the given identifier (as a string).
|
||||
*/
|
||||
getLearningObjectsFromPath(id: LearningPathIdentifier): Promise<FilteredLearningObject[]> {
|
||||
return Promise.resolve([]); // TODO
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default databaseLearningObjectProvider;
|
|
@ -5,9 +5,15 @@ import {
|
|||
} from "../../interfaces/learning-content";
|
||||
import dwengoApiLearningObjectProvider from "./dwengo-api-learning-object-provider";
|
||||
import {LearningObjectProvider} from "./learning-object-provider";
|
||||
import {EnvVars, getEnvVar} from "../../util/envvars";
|
||||
import databaseLearningObjectProvider from "./database-learning-object-provider";
|
||||
|
||||
function getProvider(id: LearningObjectIdentifier): LearningObjectProvider {
|
||||
return dwengoApiLearningObjectProvider
|
||||
if (id.hruid.startsWith(getEnvVar(EnvVars.UserContentPrefix))) {
|
||||
return databaseLearningObjectProvider;
|
||||
} else {
|
||||
return dwengoApiLearningObjectProvider;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue