code: function(languageSlug, projectSlug) {
              // support passing args as an object
              if(languageSlug != null && typeof languageSlug == 'object') {
                  projectSlug = languageSlug.projectSlug;
                  languageSlug = languageSlug.languageSlug;
              }
              let result =  query('select p.*, c.slug as category_slug from project as p' +
                  ' left join category as c on c.id=p.category_id' +
                  ' where p.slug=? and p.source_language_id in (' +
                  '  select id from source_language where slug=?)' +
                  ' limit 1', [projectSlug, languageSlug]);
              if(result.length > 0) {
                  // store the language slug for convenience
                  result[0].source_language_slug = languageSlug;
                  return result[0];
              }
              return null;
          }
docs: Returns a project.
  
  @param languageSlug {string|{languageSlug, projectSlug}}
  @param projectSlug {string}
  @returns {{}|null} the project object or null if it does not exist